Commit graph

2053 commits

Author SHA1 Message Date
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
Richard Henderson
76b534725e * config/tc-d10v.c (build_insn): Make `number' a long for 64-bit hosts. 1997-12-18 16:50:49 +00:00
Richard Henderson
915f6ba32d * config/tc-alpha.c (cpu_types): 21164pc/pca56 does not have CIX. 1997-12-18 16:44:04 +00:00
Jeff Law
b463948b73 * expr.c (integer_constant 32bit bignum): Mask off bits outside
the range we care about.
1997-12-17 20:19:26 +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
9efc7d599d Prevent use of interworking support in non-COFF targets. 1997-12-16 09:23:11 +00:00
Nick Clifton
ee73be4088 Document new --m32rx command line option. 1997-12-16 00:00:30 +00:00
Nick Clifton
a450e9f4d1 Add support for --m32rx command line option. 1997-12-15 23:25:27 +00:00
Jeff Law
09162f6feb * config/tc-mips.c (mips_ip): Correctly insert 'P' operands into
the instruction.
1997-12-15 19:21:25 +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
da5715e693 Renamed v850eq -> v850eq 1997-12-12 18:55:50 +00:00
Nick Clifton
f520aaee13 Add support for more ARM processor names. 1997-12-12 18:42:40 +00:00
Richard Henderson
290c51b5cd * config/tc-m68k.c (m68k_ip): Don't overwrite opcode table data.
(insop, m68k_ip): Make `opcode' const so it doesn't happen again.
1997-12-12 01:46:42 +00:00
Nick Clifton
df09ec8d0a Use special section values for v850 common sections. 1997-12-05 19:29:21 +00:00
Nick Clifton
d4b2cc56c0 Brought up to date with respect to the branch 1997-12-03 01:13:08 +00:00
Joern Rennecke
6fdb746d44 bfd:
* coff-sh.c (sh_coff_howtos): Add R_SH_SWITCH8 entry.
        (get_symbol_value): Handle R_SH_SWITCH8.
        (sh_relax_delete_bytes): Likewise.

include:
        * coff/sh.h (R_SH_SWITCH8): New.

gas:
        * config/tc-sh.c (SWITCH_TABLE_CONS): Handle (fix)->fx_size == 1.
        (SWITCH_TABLE): Handle BFD_RELOC_8.
        (md_apply_fix): #ifndef BFD_ASSEMBLER code: Handle fixP->fx_size == 1.
        (coff_reloc_map): Add BFD_RELOC_8_PCREL entry.
        (sh_coff_reloc_mangle): SWITCH_TABLE case: Handle BFD_RELOC_8.
PR 14155
1997-12-01 20:45:03 +00:00
Nick Clifton
33cb4925be Brought devo up to date with the branch. 1997-11-22 22:29:08 +00:00
Ian Lance Taylor
8046e281ef Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* config-gas.com: Get version info from configure.in.
1997-11-22 21:04:47 +00:00
Ian Lance Taylor
db5bb86ef8 Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* makefile.vms: include depend.obj in OBJS.
1997-11-22 21:01:27 +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
Nick Clifton
19bc147e85 Patch from Richard Earnshaw 1997-11-20 23:08:21 +00:00
Richard Henderson
04b26b0008 * sh-dis.c (print_insn_shx): Recognize all sh4 additions.
* sh-opc.h (fmov): Add @<REG_M>+,<DX_REG_N> variant for sh4.
        (ftrv): Slay the cut-and-paste monster.

        * tc-sh.c (parse_reg): Properly quote for fv4.

pr14044
1997-11-20 22:01:30 +00:00
Ian Lance Taylor
942f33aeb1 * symbols.c (resolve_symbol_value): Add missing breaks in case on
symbol value operator.
1997-11-20 04:47:43 +00:00
Ken Raeburn
35baf6dded vr5400 has interlocks 1997-11-19 07:25:47 +00:00
Joern Rennecke
fe00b2ed0f * include/opcode/d10v.h (OPERAND_FLAG): Split into:
(OPERAND_FFLAG, OPERAND_CFLAG) .
	* opcodes/d10v-opc.c (OPERAND_FLAG): Split into:
	(OPERAND_FFLAG, OPERAND_CFLAG) .
	(FSRC): Split into:
	(FFSRC, CFSRC).
	* gas/config/tc-d10v.c (parallel_ok, find_opcode):
	Split OPERAND_FLAG into OPERAND_FFLAG and OPERAND_CFLAG.
Fix for PR 13985.
1997-11-18 19:41:44 +00:00
Fred Fish
8d8693868c * config/obj-coff.c (fixup_segment): Cast second arg of
md_apply_fix3 call to type "valueT *".
1997-11-17 00:23:35 +00:00
Gavin Romig-Koch
9bb4d38497 * mips.h (struct mips_opcode): Changed comments to reflect new
field usage.
	* mips-opc.c: Move the INSN_MACRO ISA value to the membership
	field for all INSN_MACRO's.
	* mips16-opc.c: same
	* config/tc-mips.c (macro_build): Use the membership field
	for INSN_MACRO's.
	(mips_ip): Same.
1997-11-13 16:13:03 +00:00
Joern Rennecke
832ef2cca2 * config/tc-d10v.c (find_opcode): For OPCODE_FAKE, add check for
first argument if it's supposed to be a register.
PR 13952.
1997-11-13 02:19:13 +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
Joern Rennecke
f2fafccac2 * app.c (do_scrub_chars): If d10v, re-insert a space before
a '#' when in state 10.
Fix for PR 13894.
1997-11-11 19:35:49 +00:00
Ian Lance Taylor
5de020b44e * config/tc-h8300.c: Include "subsegs.h".
(tc_reloc_mangle): Handle references to symbols which are not
	being output, so that references to `.' work.
PR 13915.
1997-11-11 18:35:20 +00:00
Ian Lance Taylor
77635763d6 * config/tc-m68k.c (m68k_ip): Call add_fix when needed for '_'
case.
PR 13886.
1997-11-10 19:15:45 +00:00
Ian Lance Taylor
f19d08dc40 * macro.c (sub_actual): If we don't find a parameter for an &,
just substitute &.
PR 13868.
1997-11-10 18:45:31 +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
4afb407dae * frags.h: Handle multiple inclusion. 1997-11-07 18:37:06 +00:00
Doug Evans
070937ba64 Based on a patch from Ian.Dall@dsto.defence.gov.au.
* as.h (struct frag, frag support): Moved from here.
	* frags.h: To here.
	(struct frag, member tc_frag_data): New member if TC_FRAG_TYPE
	is defined.
	(struct frag, member fr_cgen): Renamed from fr_targ.cgen.
	* cgen.c (cgen_asm_finish_insn): Update.
	* config/tc-m32r.c (md_estimate_size_before_relax): Update.
	* config/tc-m32r.h (TC_FRAG_INIT): Renamed from md_init_frag.
	(md_convert_frag): Ditto.
	* config/tc-ns32k.h (TC_FRAG_TYPE): Define.
	(frag_opcode_frag,frag_opcode_offset,frag_bsr): Update.
	(TC_FRAG_INIT): Update.
1997-11-05 21:05:08 +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
Ian Lance Taylor
0ac53ff04d * Makefile.am (STAGESTUFF): Change bin_PROGRAMS to
noinst_PROGRAMS.
	(bootstrap, bootstrap2, bootstrap3): Likewise.
	* Makefile.in: Rebuild.
1997-11-02 19:49:24 +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
Michael Meissner
42cf65557e Allow odd registers for ld2w and friends 1997-10-30 16:12:36 +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
Ian Lance Taylor
c14d0cc015 * config/tc-mips.h (LOCAL_LABELS_DOLLAR): Don't define; use
default which is to permit dollar labels.
PR 13645.
1997-10-24 20:03:16 +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