Commit graph

1447 commits

Author SHA1 Message Date
Doug Evans
1554baf3cb * config/tc-dvp.h (ELF_TC_SPECIAL_SECTIONS): Add .vuoverlay_table.
(dvp_frob_file): Declare.
	(tc_frob_file): Define.
	(VUOVERLAY_SECTION_PREFIX,VUOVERLAY_TABLE_SECTION_NAME): New macros.
	* config/tc-dvp.c (VUOVERLAY_START_PREFIX): New macro.
	(vuoverlay_section_name,create_vuoverlay_section): New functions.
	(vuoverlay_section,vuoverlay_table_section): New static globals.
	(ovlysym_table): New static global.
	(md_begin): Create .vuoverlay_table section.
	(assemble_vif): Call create_vuoverlay_section for each mpg.
	(dvp_frob_label): Record vu labels in ovlysym_table for later
	movement from absolute section to their overlay section.
	(dvp_frob_file): New function.
	(md_apply_fix3): For 8/16/32/64 bit relocs, only process if fx_done.
1998-05-28 23:29:19 +00:00
Stan Cox
fc23c14efc sparclite 86x big endian instruction / little endian data support. 1998-05-27 01:06:20 +00:00
Catherine Moore
a5002978e0 Use number_to_chars_bigendian and number_to_chars_littleendian to
write data in sparc_handle_align.
1998-05-19 13:03:09 +00:00
Nick Clifton
98c5cd5a5a Changed command line switch from --m32rx-enable-special to --hidden
Removed documentation about the switch.
1998-05-18 17:34:24 +00:00
Frank Ch. Eigler
d9c2c0c569 * Followup for SCEI PR 15853.
Mon May 18 12:37:38 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* config/tc-mips.c (macro): For R5900, use "B" operand format for
 	"break" instructions generated in macro (div etc.) instructions.
1998-05-18 13:33:26 +00:00
Nick Clifton
ca6a899da7 Change command line switch fron --enable-special to --m32rx-enable-special 1998-05-14 20:54:47 +00:00
Doug Evans
7c62987898 * config/tc-m32r.c (warn_unmatched_high): New static local.
(OPTION_WARN_PARALLEL): Rename from OPTION_WARN.
	(OPTION_NO_WARN_PARALLEL): Rename from OPTION_NO_WARN.
	(md_longopts): Recognize --{no-,}warn-unmatched-high.
	(md_parse_option): Likewise.
	(md_show_usage): Likewise.
	(m32r_frob_file): Likewise.
1998-05-13 22:10:12 +00:00
Nick Clifton
32c2be7633 Add --enable-special command line switch. 1998-05-12 20:38:36 +00:00
Richard Henderson
7d515759c9 * config/tc-d30v.c (cur_mul32_p, prev_mul32_p): Make static.
(d30v_current_align, d30v_current_align_seg): New variables.
        (d30v_last_label): New variable.
        (d30v_align, s_d30v_align, s_d30v_text): New functions.
        (s_d30v_data, s_d30v_section): Likewise.
        (md_pseudo_table): Call them.
        (md_begin): Initialize d30v_current_align_seg.
        (md_assemble): Call d30v_align when needed by known current alignment.
        (d30v_frob_label, d30v_cons_align): New functions.
        * config/tc-d30v.h (md_do_align): Remove.
        (tc_frob_label): Call d30v_frob_label.
        (md_cons_align): New.

PR 15642
1998-05-12 19:04:29 +00:00
Doug Evans
cb74aaa54c * config/tc-dvp.c (md_begin): Set type of output file to mips:r5900. 1998-05-11 19:49:29 +00:00
Frank Ch. Eigler
40f0c90498 * Fixes for d30v PR 15627.
* First batch of fixes for sky PR 15853 (20-bit break/sdbbp)
* Fixes for d30v test suite.
1998-05-07 15:27:13 +00:00
Doug Evans
defc70bf2b * cgen.h: New file.
* cgen.c: Include it.
	(MAX_FIXUPS): Renamed to CGEN_MAX_FIXUPS.
	(cgen_asm_finish_insn): Result is now void.  New arg `result'.
	All callers updated.
	* config/tc-m32r.c: Include cgen.h.
	(m23r_insn): New members num_fixups,fixups.
	(assemble_parallel_insn): Initialize debug_sym_link for each insn.
	(md_assemble): Simplify code to pack two insns in parallel.
	When swapping two insns, update their fixups.
1998-05-07 09:31:42 +00:00
Richard Henderson
daaef8f8df * config/tc-d30v.c (do_assemble): Accept a new parameter requesting
a short format insn.
	(md_assemble): Set it for explicitly packed insns.

PR 14601
1998-05-06 18:56:08 +00:00
Doug Evans
f2980bb478 * cgen.c (cgen_asm_finish_insn): New arg relax_p. All callers updated.
* config/tc-m32r.c (assemble_parallel_insn): No need to try
	non-relaxable variant any more.  Simplify test for nop insn.
	(md_assemble): Only scan operands if m32rx.  Set orig_insn in case
	scan of operands yields an insn different from original (e.g. a macro).
	Fix call to can_make_parallel.
1998-04-27 19:36:06 +00:00
Ian Lance Taylor
0917e2cbea Fri Apr 24 12:47:42 1998 Philippe De Muyter <phdm@macqel.be>
* read.c (s_set): Cast xmalloc return value to fragS *.
	* config/tc-m68k.c (m68k_ip): Function made static to match
	previous forward declaration.
	(insert_reg, init_regtable, md_convert_frag_1): Likewise.
1998-04-24 16:49:58 +00:00
Nick Clifton
d0023d7e18 Add initernationalisation macros to error strings 1998-04-24 16:28:25 +00:00
Ian Lance Taylor
8081c2be07 * config/tc-i386.c (md_assemble): Print operand number rather than
using ordinal_names.
	(i386_operand): Likewise.
1998-04-22 18:54:39 +00:00
Ian Lance Taylor
e33bfde75c fix sanitization for gettext changes 1998-04-22 16:18:07 +00:00
Ian Lance Taylor
8c9272025e fix indentation in comment 1998-04-22 16:05:56 +00:00
Tom Tromey
48401fcf8c * Many files: Added gettext invocations around user-visible
strings.
	* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
	HAVE_LC_MESSAGES): Define.
	* dep-in.sed: Added asintl.h.
	* po/Make-in: New file.
	* gasp.c (main): Call setlocale, bindtextdomain, and textdomain.
	Include "asintl.h".
	* read.c (Z_): Renamed from `_'.
	* Makefile.am (SUBDIRS): Added po.
	(POTFILES): new macro.
	(po/POTFILES.in): New target.
	($(OBJS)): Added asintl.h.
	(HFILES): Likewise.
	(INCLUDES): Added -DLOCALEDIR, -I$(top_srcdir)/../intl.
	(as_new_LDADD): Added $(INTLLIBS).
	(as_new_DEPENDENCIES): Added $(INTLDEPS).
	(gasp_new_LDADD): Added $(INTLLIBS).
	(gasp_new_DEPENDENCIES): New macro.
	* configure, aclocal.m4: Rebuilt.
	* configure.in: Call CY_GNU_GETTEXT.  Generate po/Makefile.in and
	po/Makefile.
	(ALL_LINGUAS): Define.
	* macro.c: Include "asintl.h".
	* as.c (main): Call setlocale, bindtextdomain, and textdomain.
	* as.h: Include "asintl.h".
	* config/tc-i386.c (ordinal_names): Removed.
	(md_assemble): Changed error text to avoid ordinal_names.
	(i386_operand): Likewise.
	(reloc): Added as_bad to avoid i18n problems.
	(tc_gen_reloc): Likewise.
	* config/tc-arm.c (bad_args): Now a #define.
	(bad_pc): Likewise.
	* config/obj-vms.c (VMS_stab_parse): Changed type of
	`long_const_msg'.
	(global_symbol_directory): Unified strings to avoid i18n
	problems.
	* config/tc-m68k.c (get_reloc_code): Added some as_bad calls to
	avoid i18n problems.
	* config/tc-ns32k.c (reloc): Added as_bad to avoid i18n problems.
	* config/tc-ppc.c (md_apply_fix3): Added as_bad_where to avoid
	i18n problems.
	* config/tc-sh.c (md_convert_frag): Added as_bad to avoid i18n
	problems.
start-sanitize-v850
	* config/tc-v850.c (md_assemble): Changed C++ comment into C
	comment.
end-sanitize-v850
	* config/tc-vax.c (md_assemble): Added as_warn to avoid i18n
	problems.
	* as.c (print_version_id): Added an fprintf to avoid i18n
	problems.
	* cond.c (cond_finish_check): Added as_bad call to avoid i18n
	problems.
	* expr.c (expr): Added as_warn call to avoid i18n problems.
	* messages.c (as_assert): Changed code to avoid i18n problems.
	(as_abort): Likewise.
	* read.c (pseudo_set): Added as_bad call to avoid i18n problems.
	(s_space): Likewise.
	* po/Make-in, po/POTFILES.in, po/gas.pot: New files.
1998-04-22 06:10:03 +00:00
Ian Lance Taylor
4498e3d641 Tue Apr 21 17:01:22 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (check_prefix): New static function, split out
	from md_assemble.
	(struct _i386_insn): Add wait_prefix field.
	(md_assemble): Remove wait_prefix local variable.  Use
	check_prefix when adding a prefix.

	* config/tc-i386.c (current_templates): New static variable.
	(md_assemble): Remove current_templates local variable.
	(md_assemble, i386_operand): Improve error and warning messages in
	many places.  Add RESTORE_END_STRING in many places before error
	return.  Clarify some comments.

	* config/tc-i386.c (struct _i386_insn): Change seg field to a two
	element array.
	(md_assemble): Parse string instruction operands, looking for
	segment override prefixes.  Check for invalid segment prefixes on
	string instruction.
	(i386_operand): i.seg[] and max mem_operand changes for string
	insns.
	* config/tc-i386.h (EsSeg): Define.

	* config/tc-i386.h (regKludge): Define.
	(iclrKludge, imulKludge): Don't define.
	* config/tc-i386.c (md_assemble): Merge imulKludge and iclrKludge
	code.  Move ReverseRegRegmem fudges into Modrm case.  Reorder
	opcode_modifier checks to look for more common cases first.  Add
	default_seg for IsString case.
1998-04-21 21:08:39 +00:00
Doug Evans
a675646810 (vif_insn_type): New function.
(md_apply_fix3): Don't validate user specified length if unpack insn
	and wl > cl.
1998-04-16 22:07:02 +00:00
Doug Evans
40f3c6f84f * config/tc-dvp.c (unpackloc_sym): Delete. All uses deleted. 1998-04-16 18:51:58 +00:00
Frank Ch. Eigler
65a172239d * Customer specs changed one R5900 COP2 instruction bit-pattern.
[ChangeLog]

Wed Apr 15 10:35:59 1998  Frank Ch. Eigler <fche@cygnus.com>

        * config/tc-mips.c (mips_ip): Specs changed for
	VCALLMSR instruction.


[testsuite/ChangeLog]

Wed Apr 15 13:08:30 1998  Frank Ch. Eigler <fche.cygnus.com>

        * gas/mips/vu0.s: Updated test case for changed specs of
	VCALLMSR instruction.
        * gas/mips/vu0.d: Corresponding change.
1998-04-15 17:37:50 +00:00
Catherine Moore
2cf51495fa Remove 4300 and 5400 from hilo_interlocks definition. 1998-04-15 14:11:33 +00:00
Doug Evans
7ebb61af92 * config/tc-dvp.c (md_apply_fix3): Mark fixup for mpg loaded vu
branch error as being done so we don't try to emit a reloc.
1998-04-13 19:22:26 +00:00
Doug Evans
c94a25c228 tweak comment regarding state transitions 1998-04-10 18:34:49 +00:00
Doug Evans
07b2042891 * config/tc-dvp.c (VU_LABEL_PREFIX): New macro.
(compute_mpgloc): New function.
	(eval_expr): New arg `cpu'.  All callers updated.
	(non_vu_insn_seen_p): New static global.
	(RELAX_{MPG,DIRECT,VU,ENCODE,GROWTH,DONE_}): New macros.
	(struct dvp_fixup): New member `cpu'.
	(assemble_one_insn): New args init_fixup_count, fixup_offset.
	All callers updated.
	(md_assemble): Set non_vu_insn_seen_p as appropriate.
	(assemble_vif): Set `cpu' field of fixup.
	Clean up calls to frag_var.  Recorded mpgloc is now in bytes.
	(assemble_vu_insn): Delete, contents moved into ...
	(assemble_vu): ... here.  Don't record fixups until after parsing
	both upper and lower insns.  If branch insn inside mpg, properly
	compute target address.
	(dvp_frob_label): Create copies of vu labels inside mpg's.
	(dvp_relax_frag): Clean up.
	(md_convert_frag): Ditto.
	(md_apply_fix3): Signal error if mpg embedded vu code has branch
	to undefined label (not currently supported).
	(eval_expr): New arg `cpu'.  All callers updated.
	(insert_operand_final): Convert mpgloc from bytes to dwords.
	(s_endmpg): Use compute_mpgloc to update $.mpgloc.
	(s_state): If switching to vu state, initialize $.mpgloc.
1998-04-10 01:37:00 +00:00
Doug Evans
bfb27620b9 * config/tc-dvp.c (md_convert_frag): Fix thinko. 1998-04-07 19:26:40 +00:00
Doug Evans
a9589a2ca7 * config/tc-dvp.c (assemble_vif): 0 is a valid length value (= max+1).
(install_vif_length): 0 is a valid length value (= max+1).
1998-04-07 03:22:22 +00:00
Doug Evans
b25ce8e1fa * config/tc-dvp.c (assemble_vif): Watch for macro insns. 1998-04-07 00:12:27 +00:00
Doug Evans
79cb0c8a2f tweak comment in last entry 1998-04-03 20:37:32 +00:00
Doug Evans
050ac694c5 * config/tc-dvp.c (assemble_vif): Put relaxable insns in their
own fragment.
1998-04-03 20:15:57 +00:00
Gavin Romig-Koch
3c69baf939 * config/tc-mips.c (mips_pseudo_table): Add weakext entry.
(s_mips_weakext): Define.
	* ecoff.c (ecoff_directive_weakext): Don't define if defined(TC_MIPS).
	* config/obj-ecoff.c (obj_pseudo_table): Don't add weakext if
	defined(TC_MIPS).
1998-04-03 14:13:52 +00:00
Nick Clifton
f71d1797c5 Add patch from Dean Deaver (deaver@amt.tay1.dec.com) via Richard Earnshaw
(richard.earnshaw@arm.com) to fix addressing mode 2 using rrx.
Add super interworking support.
1998-04-01 19:17:20 +00:00
Ian Lance Taylor
227b6b55fa Thu Mar 26 23:07:18 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (md_assemble): Swap template arguments to
	CONSISTENT_REGISTER_MATCH macro in reverse direction test.
	This macro is currently symmetric, so passing them the wrong
	way didn't cause any problem, but may if the macro is changed
	in the future.
	After copying template to i.tm, use i.tm. rather than t-> to
	access fields, and make t a const*
	Move i.tm.operand_types[] swap to immediately after the copy.
1998-03-27 04:10:05 +00:00
Doug Evans
8b901ef830 * config/tc-dvp.h (md_estimate_size_before_relax): Delete.
(md_convert_frag): Delete.
	(TC_FIX_TYPE): New fields wl,cl,user_value;
	* config/tc-dvp.c (insert_mpg_marker): New argument ignore.
	All callers updated.
	(insert_unpack_marker): New function.
	(insert_file): New argument insert_marker_arg.  All callers updated.
	(gif_user_value): New static local.
	(vif_data_start,vif_data_end): New static locals.
	(mpgloc_sym,unpackloc_sym): New static locals.
	(cur_varlen_frag,cur_varlen_insn,cur_varlen_value): Delete.
	(cur_opcode,cur_operand): New static locals.
	(endmpg_caller): New enum.
	(md_pseudo_table): Pass ENDMPG_USER to s_endmpg.
	(md_begin): Initialize mpgloc_sym, unpackloc_sym.
	(dvp_fixup): New members user_value,wl,cl;
	(assemble_vif): Rewrite.
	(assemble_gif): Tweak name of data start label.
	(assemble_one_insn): Allow special parser to punt and call the
	normal expression parser.  Set cur_opcode,cur_operand for md_operand.
	(md_operand): Handle '*' value for mpgloc,unpackloc.
	(md_estimate_size_before_relax): New function.
	(dvp_relax_frag,md_convert_frag): New functions.
	(md_pcrel_from_section): Handle end data label for variable length
	vif insns.
	(md_apply_fix3): Handle count field for variable length vif insns.
	Handle address field for mpg,unpack.
	(eval_expr): Initialize user_value,wl,cl fields of the fixup.
	(cur_vif_insn_length): Delete.
	(vif_length_value): New function.
	(install_vif_length): Don't perform logical->physical conversion here.
	(s_enddirect,s_endmpg,s_endunpack): Rewrite.
1998-03-25 22:31:13 +00:00
Ian Lance Taylor
dddc8a823d Tue Mar 24 18:30:58 1998 H.J. Lu <hjl@gnu.org>
* config/tc-i386.h (LinearAddress): Define.
	* config/tc-i386.c (md_assemble): If LinearAddress is set for the
	instruction, don't use a default segment.
1998-03-24 23:34:45 +00:00
Doug Evans
e7201c9e36 * config/tc-dvp.c (insert_mpg_marker): Update mpgloc. 1998-03-23 21:19:04 +00:00
Jeff Law
0bc0e337fc * config/tc-mips.c (append_insn): Handle BFD_RELOC_MIPS16_S3.
(mips_ip): Handle 'O' operand.
        (md_apply_fix): Handle BFD_RELOC_MIPS16_S3.
1998-03-22 20:17:34 +00:00
Jeff Law
981ce1861f * config/tc-mips.c: Change '%' to '#' in r5900 code to avoid conflict
with vr5400 support.
1998-03-20 16:04:15 +00:00
Jeff Law
059a638882 * config/tc-mips.c (mips_ip): Handle opcodes which have the form
"name.completer" where only the name is actually in the opcode
        table.  Allow various operands for base register in load/store
        instructions.  Handle various new argument characters for the
        cop2/vu0 co-processor.
1998-03-19 21:28:24 +00:00
Doug Evans
8903601144 * config/tc-dvp.c (s_enddmadata): Always fill dma data out to 16
byte boundary.
1998-03-17 22:19:12 +00:00
Doug Evans
3b4389e23e * config/tc-dvp.h (TC_START_LABEL): Define.
* config/tc-dvp.c (force_mach_label): New function.
	(md_begin,create_colon_label,s_dmadata): Use it.
1998-03-17 22:10:10 +00:00
Doug Evans
7f28a81d93 * config/tc-dvp.c (md_begin): Turn dma/vif packing on by default.
(assemble_dma): Only output 8 bytes for actual dma insn if dma/vif
	packing is enabled.  Emit VIF cpu marker after dma insn.
1998-03-17 18:51:57 +00:00
Doug Evans
fa3671a34f * config/tc-dvp.c (md_pseudo_table): Make .quad 16 bytes. 1998-03-16 18:22:18 +00:00
Doug Evans
ba4be194df (insert_mpg_marker): New function.
(insert_file): New args insert_marker, size.  All callers updated.
	(assemble_vif): Rewrite varlen insn handling.
	(assemble_vu): Call insert_mpg_marker when 256th insn reached.
	(s_enddirect,s_endunpack): Rename arg to internal_p.
1998-03-07 03:22:18 +00:00
Doug Evans
65309b9834 (install_vif_length): Second pass at unpack len calcs.
(s_endunpack): Round data up to word boundary.
1998-03-07 01:43:32 +00:00
Joern Rennecke
5f1a734712 Remove SH4 sanitation. 1998-03-07 00:31:19 +00:00
Gavin Romig-Koch
e599ab169e Scrap the un-needed vr4111 stuff. 1998-03-06 21:22:59 +00:00