Commit graph

1367 commits

Author SHA1 Message Date
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
Nick Clifton
c280609300 Jim fixed the fixups for conditional and unconditional branches.
Added code to support the bss and common sections in thr ZDA and SDA areas.
1997-10-11 00:55:57 +00:00
Martin Hunt
b83565def8 Fri Oct 10 11:22:45 1997 Martin M. Hunt <hunt@cygnus.com>
* config/tc-d10v.c: Fixes to make sure the AT_WORD
	expression is not confused with -1.
1997-10-10 18:22:59 +00:00
Andrew Cagney
528859ea3f Flag SP as modified for @-sp operand - OPERAND_ATMINUS. 1997-10-10 05:59:16 +00:00
Michael Meissner
719ddab4cc Do not allow auto inc/dec to parallelize with an instruction that uses the index register 1997-10-10 04:50:36 +00:00
Ian Lance Taylor
15ab76e50d From Robin Kirkham <Robin.Kirkham@mlb.dmt.csiro.au>:
* config/tc-m68k.c (archs): Add 68306, 68307, 68322, 68356, 68334,
	68336, 68341, 68349.
	* doc/c-m68k.texi (M68K-Opts): Add -m68ec000 -m68hc000 -m68hc001
	-m68306, -m68307, -m68322, -m68356, -m68ec020, -m68ec030,
	-m68ec040, -m68ec060, -m68330, -m68334, -m68336, -m68341,
	-m68349.
1997-10-09 19:30:16 +00:00
Joern Rennecke
c7b2ac2856 * config/tc-d10v.c (write_2_short): Fix bug that wouldn't allow
to pair a branch and link with anything but an exe instruction.
Fix for gas/13494.
1997-10-09 18:37:16 +00:00
Richard Henderson
8a8a91a5b7 * config/tc-alpha.c (load_expression): Disable the sym+const .got
optimization to reduce the alignment surprises for gcc.
1997-10-08 23:40:54 +00:00
David Edelsohn
54b9ebdd55 * config/obj-coff.h (TC_SPARC): Don't define TARGET_FORMAT.
* config/tc-sparc.c (sparc_target_format): Handle coff here.
	(sparc_ip): Add %hix,%lox.
	(md_apply_fix3): Call as_bad_where, not as_bad.
	Add support for BFD_RELOC_SPARC_{HIX22,LOX10}.
	(tc_gen_reloc): Add support for BFD_RELOC_SPARC_{HIX22,LOX10}.
1997-10-08 23:13:52 +00:00
Gavin Romig-Koch
6fd819cfff config/tc-mips.c (md_begin): Replace the TARGET_CPU value
of mipsr3900 with mipstx39.

config/tc-mips.c (mips_ip): Don't print the 'opcode requires
-mipsXX message' if the insn isn't an ISA insn.
1997-10-08 04:17:08 +00:00
Ian Lance Taylor
a3e8c5b712 * config/tc-mips.c: Undef OBJ_COPY_SYMBOL_ATTRIBUTES before
including obj-elf.h in OBJ_MAYBE_ELF case.
	(mips_target_format): Return NULL after abort to avoid warning.
1997-10-03 21:46:04 +00:00
Ian Lance Taylor
469adf23a1 * config/tc-m68k.c (m68k_ip): Handle q and v operand specifiers. 1997-09-24 23:02:53 +00:00
Jeff Law
4e96260fd0 vr5900 -> r5900 1997-09-23 16:36:19 +00:00
Ken Raeburn
6438209c60 don't sanitize out empty directories if they're not here (e.g., 'cvs co -P') 1997-09-22 01:06:25 +00:00
Nick Clifton
ae6ecba5b4 Fixed sanitization bugs. 1997-09-21 17:44:16 +00:00
Nick Clifton
8f3c5ddbde Removed v850eq sanitization.
Added Things-to-loose entries for unspecifed/empty directories.
1997-09-21 00:19:41 +00:00
Nick Clifton
03c41a1cf3 Remove use of sanitization to select target CPU. This is now done based
on the contents of the configuration string TARGET_CPU.
1997-09-20 22:46:30 +00:00
David Edelsohn
2b09622a0d * config/tc-sparc.c: (lookup_arch,init_default_arch): New functions.
(default_arch,default_init_p,sparc_arch_table): New static locals.
	(sparc_arch_size): New static local.
	(max_architecture): Initialize in init_default_arch.
	(md_parse_options): Call init_default_arch if necessary.
	Rewrite -xarch/-A processing.
	(md_show_usage): Print -A values from sparc_arch_table.
	(md_begin): Call init_default_arch if necessary.
	(sparc_md_end): Handle both 32 and 64 bit environments.
	* config/tc-sparc.h (TARGET_FORMAT): Likewise.
	* acconfig.h (SPARC_V9,SPARC_ARCH64): Delete.
	(DEFAULT_ARCH): Add.
	* config.in: Regenerate.
	* configure.in (sparc): Default DEFAULT_ARCH based on target cpu.
	(SPARC_V9,SPARC_ARCH64): Delete.
	* configure: Regenerate.
	* config/vms-conf.h (SPARC_V9,SPARC_ARCH64): Delete.
1997-09-19 00:57:16 +00:00
Nick Clifton
46ad7d6ccb Reset processor mask if specified by command line switch 1997-09-19 00:43:54 +00:00
Nick Clifton
2b36e4c294 Oops - fixed typos in previous delta. 1997-09-18 23:15:05 +00:00
Nick Clifton
6df3c45f79 Proced error messages when special data are relocations are used on
instructions which do not support them.
1997-09-18 22:16:18 +00:00
David Edelsohn
af6f39b4c4 * config/tc-sparc.c: Reorganize file.
(SPECIAL_CASE_NONE): New macro.
	(md_assemble): Use it.
1997-09-18 21:12:06 +00:00
Nick Clifton
920b87c437 Added code to cope with a constant offset to a ZDA relocation. 1997-09-18 21:09:14 +00:00
David Edelsohn
90a579fafd * config/tc-sparc.c (parse_keyword_arg): Allow numbers in reg names. 1997-09-18 18:25:50 +00:00
David Edelsohn
bdb836d160 Remove arc sanitization. 1997-09-18 18:15:14 +00:00
Felix Lee
e1625ed217 v850 files that weren't being removed if !keep-v850 1997-09-18 01:33:24 +00:00
Nick Clifton
00fd8294ca Corrected spelling mistake! 1997-09-18 00:43:19 +00:00
Nick Clifton
936a8f5549 Added support for ctoff() reloc prefix. 1997-09-17 23:55:26 +00:00
Nick Clifton
752851788a Add support for a 16 bit relocation against the TDA register! 1997-09-16 21:16:15 +00:00
Nick Clifton
d30a2be45d Added checking of instructions against target cpu. 1997-09-16 01:34:03 +00:00
Nick Clifton
210c24d6d1 Fixed sanitization 1997-09-10 21:00:03 +00:00
Gavin Romig-Koch
318b499d8e Support tx19 sanitation. 1997-09-10 04:53:18 +00:00
Nick Clifton
9153e64334 Add new holio() reloc prefix. 1997-09-09 23:12:59 +00:00
Nick Clifton
1ffec08198 Add new pseudo ops: .v850, .v850e and .v850eq to specify the target processor. 1997-09-09 17:18:42 +00:00
Nick Clifton
b0b262f797 Only test for immediaqte overflow if there is no insertion function. 1997-09-08 23:17:55 +00:00
Nick Clifton
8816811b85 Add command line option to specify processor type. 1997-09-08 22:03:09 +00:00
Nick Clifton
1fd5f4fc62 Added -mwarn_unsigned_overflow so that defuault is to treat unsigned
values as signed values if they start to overflow.
1997-09-08 19:32:05 +00:00
Gavin Romig-Koch
b637f306ba tx19 and related necessary changes.
* config.sub: Add tx19/r1900.
	* sim/mips/configure.in, sim/mips/gencode: Add tx19/r1900.
	* gcc/config.sub, gcc/configure: Add tx19/r1900.
	* gcc/config/mips/r1900.h, config/mips/t-r1900: New.
	* gas/config/tc-mips.c: Add tx19/r1900.

	* gcc/config/mips/mips.c: Don't build 16 bit to 32 bit stubs for
	TARGET_SOFT_FLOAT.

	* config.sub: Add "marketing-names" patch.
	* gcc/config.sub: Add "marketing-names" patch.

	* gcc/configure: Change "as" link from "../gas/as.new" to "../gas/as-new";
	Same for "ld" link.
1997-09-07 20:33:22 +00:00
Nick Clifton
6ff87eadf9 Removed v850 sanitization. 1997-09-03 23:06:11 +00:00
Nick Clifton
2d27848430 Removed the BFD_RELOC_V850_16_PCREL. 1997-09-03 18:19:50 +00:00
Nick Clifton
ccf107185d Support for new relocations added. Support for SDA/TDA/ZDA sections added. 1997-09-02 23:01:27 +00:00
Andrew Cagney
28e1e54d13 * config/tc-v850.c (md_assemble): Use opcode->name instead of
opcode->opcode as the sentinal. Zero is a valid opcode.
1997-09-02 05:50:40 +00:00
Joern Rennecke
bf5ac1b8ed SH4 assembler extensions. 1997-08-29 19:03:06 +00:00
Ian Lance Taylor
4b231a267c * config/tc-alpha.c (load_expression): Check explicitly for O_big,
rather than calling abort.
1997-08-26 19:12:10 +00:00
Ian Lance Taylor
625ea5db80 Use address size prefix for loopw as for jcxz. 1997-08-26 16:33:34 +00:00
Ian Lance Taylor
02bdbd8b5d * config/tc-i386.c (md_assemble): In JumpByte case, when looking
for a WORD_PREFIX_OPCODE, change it to ADDR_PREFIX_OPCODE if this
	is jcxz.
1997-08-26 16:25:03 +00:00
Nick Clifton
b688e04e29 Set machine architecture and type. 1997-08-25 23:03:24 +00:00
Nick Clifton
cf735d2a93 Support constant expressions as register lists. 1997-08-25 18:21:02 +00:00
Nick Clifton
2b3e0f9e1e Switch from C++ style comment to C style. 1997-08-25 16:41:18 +00:00
Nick Clifton
5f04449977 Add support for curly brace register list syntax. 1997-08-22 17:44:55 +00:00
Nick Clifton
f483cb11c8 Fixed v850_section to cope with original section styles as well. 1997-08-21 21:43:44 +00:00
Nick Clifton
19f40fdca7 Added support for NEC style assembler pseudo ops:
.section "name", <type>
	.offset <expression>
	.bss
1997-08-21 17:54:49 +00:00
Fred Fish
015b3352e5 Tue Aug 19 08:59:12 1997 Fred Fish <fnf@cygnus.com>
* read.c (s_lcomm_internal): Renamed from s_lcomm, added arg to
	flag when alignment is in bytes instead of power of 2, and code to
	use that flag to convert alignment to bytes.
	(s_lcomm, s_lcomm_bytes):  New helpers that call s_lcomm_internal.
	* read.h (s_lcomm_bytes): Add prototype.
	* config/obj-coff.c (write_object_file): If ALIGNMENT_IN_S_FLAGS is
	defined, write alignment to alignment bits in section header s_flags
	rather than the s_align field.
start-sanitize-tic80
	* config/obj-coff.h (ALIGNMENT_IN_S_FLAGS): Define for TC_TIC80.
	* config/tc-tic80.c (md_pseudo_table): Use s_lcomm_bytes for bss
	pseudo, instead of s_lcomm which wants a power of two for alignment.
end-sanitize-tic80
PR 12215 and PR 13061
1997-08-19 16:46:03 +00:00