Commit Graph

1319 Commits

Author SHA1 Message Date
Nick Clifton
b6930bdf46 Fixed infinite loop bug in can_make_parallel().
Added second level of sanization to remove phase 2 work.
1998-01-26 20:42:15 +00:00
Doug Evans
b5d20cf65d checkpoint 1998-01-26 06:24:59 +00:00
Doug Evans
f62a42d0dc * config/tc-txvu.c (assemble_insn): Initialize errmsg = NULL
before calling insert routine.
1998-01-24 00:44:53 +00:00
Doug Evans
fbe2ad4648 * config/tc-txvu.c (assemble_insn): Delete test for !isalpha
after parsing mnemonic.  ASCII operand chars are case insensitive.
1998-01-24 00:44:52 +00:00
Doug Evans
5ff98e006b * config/tc-txvu.c (assemble_insn): Commas moved to opcode table. 1998-01-23 06:01:23 +00:00
Nick Clifton
775fdd0c3f Added opportunistic parallelisation of adjacent instructions. 1998-01-21 01:13:47 +00:00
Doug Evans
020ba60b39 checkpoint 1998-01-21 00:30:46 +00:00
Doug Evans
9121b10214 tweak m32rx sanitization 1998-01-16 00:14:59 +00:00
Richard Henderson
2833e2512e * tc-h8500.c (parse_reg): Likewise. 1998-01-15 21:51:12 +00:00
Gavin Romig-Koch
ed70a3354d Initial vr4111 Sanitization marks. 1998-01-15 18:46:32 +00:00
Nick Clifton
ebde3f6235 Add support for parallel instructions. 1998-01-15 01:58:34 +00:00
Jeff Law
6c4b811d6a * config/tc-mips.c (macro): Rework division code to avoid unfilled
delay slot.
1998-01-15 00:08:12 +00:00
Doug Evans
b2cf4548a1 * config/tc-mips.c (mips_ip): Don't test pinfo flags if INSN_MACRO. 1998-01-14 23:06:34 +00:00
Doug Evans
b5e9e5625f * tc-m32r.c: Clean up pass over `struct foo' usage.
(md_estimate_size_before_relax): Use CGEN_INSN_MNEMONIC.
1998-01-12 21:11:35 +00:00
Doug Evans
61e09fac57 * config/tc-txvu.c (md_assemble): Handle no separator between
upper and lower insn #ifndef VERTICAL_BAR_SEPARATOR.
	(assemble_insn): Likewise.
1998-01-06 13:12:16 +00:00
Doug Evans
71af45ecf2 snapshot 1998-01-05 15:53:49 +00:00
Doug Evans
f6428b86cc * config/tc-txvu.c: #include dis-asm.h, opcode/txvu.h, elf/txvu.h.
(md_begin): Call txvu_opcode_init_tables.
	(assemble_insn): New function.
	(md_assemble): Beginnings of implementation.
1998-01-05 14:56:04 +00:00
Ian Lance Taylor
388fa5c64e * config/tc-i386.c (i386_operand): Give an error if there are
unrecognized characters after an expression.
1998-01-02 13:09:57 +00:00
Doug Evans
209fb34642 * tc-txvu.[ch]: New files. 1997-12-22 17:55:19 +00:00
Ian Lance Taylor
1c6f34415d * config/tc-mips.c (macro): The 4650 doesn't permit M_LDC1_AB,
M_SDC1_AB, M_L_DOB, M_L_DAB, M_S_DAB, or M_S_DOB.
	(mips_ip): Always check for FP_D, not just for instructions that
	are not part of the regular ISA.
1997-12-22 09:56:49 +00:00
Michael Meissner
343b2ab8c1 Make sure NOPS are inserted between 32-bit multiply and load or 16-bit multiply; Compile cleanly with -Wall; Add -n/-N options 1997-12-17 12:43:15 +00:00
Fred Fish
37f82cb4dc * config/tc-tic80.c (tic80_relax): New static variable.
(md_longopts): Add new OPTION_RELAX and OPTION_NO_RELAX options.
	(md_parse_option): Handle new relax options.
	(md_show_usage): Document new relax options.
	(find_opcode): Don't use short forms of PC relative branches if
	tic80_relax is set.
PR 12927
1997-12-16 20:03:53 +00:00
Nick Clifton
d745e6d93d Added m32rx sanitization. 1997-12-16 14:54:08 +00:00
Michael Meissner
e0882f340d Better optimize parallel instructions 1997-12-16 13:25:59 +00:00
Nick Clifton
a450e9f4d1 Add support for --m32rx command line option. 1997-12-15 23:25:27 +00:00
Fred Fish
599ef811c3 * config/tc-tic80.c (build_insn): Handle instructions that have
long (32 bit) PC relative offsets.  Fix places that previously
        misused R_MPPCR for 15 bit offsets to use the new R_MPPCR15W type.
        (md_apply_fix): Add case to handle long PC relative offsets.
PR 12927
1997-12-13 00:58:43 +00:00
Nick Clifton
3b7dc33055 Fixed bug in previous delta (strcmp <=> streq) 1997-12-12 22:02:12 +00:00
Nick Clifton
f520aaee13 Add support for more ARM processor names. 1997-12-12 18:42:40 +00:00
Felix Lee
06434f5f16 sanitization fixes. (files not mentioned, fences misspelled) 1997-12-11 04:18:47 +00:00
Nick Clifton
2f252edab6 Added missing sanitization markers. 1997-12-04 17:30:37 +00:00
Nick Clifton
d4b2cc56c0 Brought up to date with respect to the branch 1997-12-03 01:13:08 +00:00
Ian Lance Taylor
6dbf32687d Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* config/tc-alpha.c (s_alpha_section): Remove ".lcomm" handling.
1997-11-22 20:54:16 +00:00
Ian Lance Taylor
c699ff0403 Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* config/tc-alpha.c (alpha_basereg_clobbered): Remove variable and
	all corresponding code.
1997-11-22 20:52:29 +00:00
Gavin Romig-Koch
42444087ff config/tc-mips.c (mips_4900): Added.
(hilo_interlocks): Added mips_4900.
(md_begin): Set default for mips_4900.
(macro_build,mips_ip): Test for INSN_4900 if mips_4900.
(md_longopts): Add "m4900" and "no-m4900".
(md_parse_option): Handle above options.
1997-11-12 15:09:33 +00:00
Ken Raeburn
b3ed1af38c * config/tc-mips.c (mips_ip): Added cases for "e", "%", and "P" operand types.
(hilo_interlocks): VR5400 has interlocks.
(md_begin): Expect mips64vr5400, not mips64r5400.

* config/tc-mips.c (mips_ip): In default case, call as_bad instead of fprintf,
to get "assembler messages:" message output before instead of after.
1997-11-08 02:44:22 +00:00
Doug Evans
d57d82d7e5 * write.c (print_fixup): Use TC_FIX_DATA_PRINT (if defined) to
print out MD fields of fix.
	* frags.c (frag_var, frag_variant): Use TC_FRAG_INIT macro (if
 	defined) to initialize MD fields in frag.
	* as.h (struct frag, ns32k support): Rename ns32k to fr_ns32k.
	Delete pcrel_adjust.  Add fr_opcode_fragP, fr_opcode_offset.
	* config/tc-ns32k.h: Add comments. Remove obsolete
 	BFD_FAST_SECTION_FILL definition, change prototypes for
 	fix_new_ns32k and fix_new_ns32k_exp to add new arguments
 	opcode_frag and opcode_offset and remove pcrel_adjust.
	(TC_FIX_TYPE): add opcode_fragP and opcode_offset fields.
	(TC_FIX_DATA_PRINT): new macro to print out TC_FIX_TYPE.
	(TC_FRAG_INIT): new macro to initialize machine dependent field in
 	frags.
	(frag_opcode_frag, frag_opcode_offset, frag_bsr): macros to access
 	MD fields in frag structure.
	(fix_im_disp, fix_bit_fixP, fix_opcode_frag, fix_opcode_offset,
 	fix_bsr): macros to access MD fields in fix structure.
	* config/tc-ns32k.c: Avoid overlength lines. Align comments.  Don't
 	use struct opcode_location as these fields are now in the frag
	structure.
	(convert_iif): Call frag_more as it is needed instead
 	of trying to allocate for the whole insn. Avoid call of frag_more
 	with negative argument.
	(md_pcrel_adjust, md_fix_pcrel_adjust, md_apply_fix,
	md_estimate_size_before_relax, md_pcrel_from,
	tc_aout_fix_to_chars): use accessor macros to get md fields in fix
 	and frag structures.
	(fix_new_ns32k, fix_new_ns32k_exp): add new arguments opcode_frag and
	opcode_offset and remove pcrel_adjust.
	(convert_iif, cons_fix_new_ns32k): call fix_new_ns32k,
 	fix_new_ns32k_exp with changed arguments.
1997-11-05 00:45:23 +00:00
Gavin Romig-Koch
1724c79e75 * tc-mips.c (md_begin): Reorganize setting of default values so
that mips_cpu depends on TARGET_CPU, and mips_opts.isa depends on
	   mips_cpu.
	   (md_parse_option): Remove all code that sets defaults; md_begin
	   handles all of this now.
1997-11-03 19:32:42 +00:00
Ken Raeburn
aa2e0460a0 * config/tc-mips.c (mips_5400): New variable.
(md_begin, md_parse_option): Handle 5400 options/names.
(macro_build, mips_ip): Check for 5400-specific instructions.
(md_longopts, OPTION_M5400, OPTION_NO_M5400): More command-line support for
5400.

* config/tc-mips.c (validate_mips_insn): New function, checks match versus mask
bits, and also verifies that all bits to be output are actually specified
somewhere.
(md_begin): Call it for 32-bit instructions, instead of doing match/mask check
here.  In case of failure, print a message, but check the rest of the opcode
table before exiting.
1997-10-31 23:21:44 +00:00
Nick Clifton
6e3fcdf01c Fixes to Thumb ADR pseudo op from Tony Thompson at ARM (athompso@arm.com). 1997-10-30 21:44:05 +00:00
Gavin Romig-Koch
4ebda395f1 * config/tc-mips.c (hilo_interlocks): True for tx49.
(md_begin): Add mips64tx49.
	(md_parse_option): Add 4900 cpu.

	* gas/mips/mips.exp: Add tx49 configury.
1997-10-29 21:40:09 +00:00
Ian Lance Taylor
e59390a7eb * config/tc-ppc.c (md_assemble): When handling @l, always sign
extend if the operand expects a signed value.
PR 13667.
1997-10-24 21:29:10 +00:00
Richard Henderson
1bb6aaad34 Fri Oct 24 11:19:22 1997 Jakub Jelinek <jj@sunsite.mff.cuni.cz>
* config/tc-sparc.c (sparc_memory_model): New variable.
        (md_longopts): Add -TSO/-PSO/-RMO options.
        (md_parse_options): Handle them.
        (sparc_elf_final_processing): For 64 ELF, set required
        memory ordering in e_flags. Default to RMO and let the user
        override it through command line.

        * config/tc-sparc.h (elf_tc_final_processing): Add.
1997-10-24 18:20:36 +00:00
Richard Henderson
1277cdda1c * config/tc-sparc.c (v9a_asr_table): New variable.
(sparc_ip): Handle v9a asr's.
        Patch from David Miller <davem@vger.rutgers.edu>.
1997-10-23 00:40:25 +00:00
Richard Henderson
7532235c09 * config/tc-sparc.h (md_do_align): New macro.
* config/tc-sparc.c (sparc_handle_align): Handle rs_align_code.
        Patch from Jakub Jelinek <jj@sunsite.mff.cuni.cz>.
1997-10-23 00:22:51 +00:00
Ian Lance Taylor
517640d9b5 * config/tc-mips.c (macro): Correct handling of constant in M_LI_D
case in little endian mode.
1997-10-22 16:52:46 +00:00
Doug Evans
61a60a8a70 * config/tc-sparc.c (md_apply_fix3, cases ..._H44, ..._HIX22): Leave
overflow signalling to linker.
1997-10-21 17:23:12 +00:00
Doug Evans
595da85d72 * tc-sparc.c (default_arch_size): New static local.
(struct sparc_arch): Rename arch_size to default_arch_size.
	New member user_option_p.
	(sparc_arch_table): Always include v9, v9a.  New entry v9-64.
	(init_default_arch): Check whether default arch is valid.
	Set default_arch_size in addition to sparc_arch_size.
	(OPTION_32,OPTION_64): Define.
	(md_longopts): New entries for -32, -64.
	(md_parse_option): Handle them.
	(md_show_usage): Print them.  Ensure init_default_arch called.
1997-10-20 17:23:10 +00:00
Richard Henderson
10b8f7f036 * config/tc-alpha.h (DIFF_EXPR_OK): Define.
* config/tc-i386.h (DIFF_EXPR_OK): Define.
        * config/tc-alpha.c (md_apply_fix): Notice fx_pcrel and substitute
        the correct relocation when it exists.
        * config/tc-i386.c (md_apply_fix3): Likewise.
        * config/tc-ppc.h: Correct typo in comment.
        * config/tc-v850.h: Likewise.
1997-10-15 02:17:00 +00:00
Andrew Cagney
a0a5f4e2bd Allow assembler to make parallel instructions where there the seconds
(latter) outputs intersect with the first (earlier) inputs.
1997-10-13 23:17:22 +00:00
Nick Clifton
de0e22c1bf Added .tcomon section initialisation. 1997-10-11 01:02:07 +00:00