Commit graph

1447 commits

Author SHA1 Message Date
Doug Evans
d030671bfc * config/tc-dvp.c (s_endgif): Fix nloop calc and test. Warn if
insufficient data present.  Fix insertion of computed nloop value.
1998-03-06 19:40:53 +00:00
Gavin Romig-Koch
2d035a507f * config/tc-mips.c : Added vr4320 similar to vr4300. 1998-03-03 16:45:13 +00:00
Richard Henderson
c35d42c21a * config/obj-elf.c [TC_ALPHA]: Include <elf/alpha.h>.
* config/tc-alpha.h (ELF_TC_SPECIAL_SECTIONS): New.
1998-03-01 01:08:03 +00:00
Doug Evans
1fb06680cf * config/tc-dvp.c (assemble_vif): Insert cpu type marker before
inserted binary files.
1998-02-27 18:10:03 +00:00
Nick Clifton
39149be224 Fix bug detected by Michael snyder. 1998-02-25 02:05:09 +00:00
Doug Evans
b439fb8117 (s_endgif): Update. NLOOP is in quadwords for IMAGE mode now. 1998-02-25 01:05:10 +00:00
Doug Evans
9152bebae6 (UNIQUE_LABEL_PREFIX): New macro.
(unique_label): Use it.
	(assemble_gif): Emit start label before mach label.
	(s_endgif): Update.
1998-02-24 22:08:40 +00:00
Doug Evans
ef9448db9a (s_endgif): Change length mismatched errors to warnings. 1998-02-24 21:39:58 +00:00
Doug Evans
b6d331b9cd (create_colon_label): New argument `sto'. All callers updated.
(record_mach): New argument `force_next_p'.  All callers updated.
	(cpu_sto): New function.
1998-02-24 20:40:41 +00:00
Doug Evans
69312dac86 * config/tc-dvp.h (tc_frob_label): Define.
* config/tc-dvp.c (dvp_frob_label): New function.
1998-02-24 19:04:22 +00:00
Doug Evans
e9cb12e459 * config/tc-dvp.c (assemble_dma): Do alignment before parsing insn.
(setup_dma_autocount): Renamed from setup_autocount.  New argument
	inline_p.  All callers changed.  Fix word address of count.
	(parse_dma_addr_autocount): Fix word address of address.
1998-02-24 00:00:18 +00:00
James Lemke
96f5b6b2a5 Instead of changing the names of .bss etc, add .vubss etc via
the macro ELF_TC_SPECIAL_SECTIONS.  As per Ian's suggestion.
1998-02-23 22:27:12 +00:00
Doug Evans
a15a45e51f * cgen.c: #include symcat.h.
* config/tc-m32r.c: Likewise.
1998-02-23 19:30:18 +00:00
Jeff Law
65d2c7d3de * config/tc-mips.c (mips_ip, case 'P'): Make 'P' arguments be
absolute expressions instead of '$' prefixed register names.
1998-02-23 17:26:25 +00:00
Doug Evans
83920d292b (vu_count): New static local.
(assemble_vif): Temporary hack to properly align mpg/direct data.
	(assemble_vu): Insert mpg every 256 insns.
1998-02-21 07:44:25 +00:00
Doug Evans
57d0c8302d (cur_mach): New static local.
(record_mach): New function.
	(md_begin): Initialize `cur_mach'.
	(assemble_*): Record current mach type.
1998-02-21 06:28:18 +00:00
Doug Evans
498fcb9cdb (asm_state_stack): Maintain stack of parsing states.
({push,pop,set}_asm_state): New functions.
	(CUR_ASM_STATE): Renamed from cur_asm_state, all uses updated.
1998-02-21 03:26:47 +00:00
Doug Evans
8151801a09 (asm_state): New state ASM_GIF.
(gif_{insn_type,data_name,insn_frag}): New static locals.
	(md_assemble): Watch for .endgif if in ASM_GIF state.
	(assemble_gif): Complete.
	(s_endgif): Complete.
1998-02-21 02:12:15 +00:00
Doug Evans
d3c6610c00 * confirg/tc-dvp.c (md_assemble): Handle ASM_DIRECT state.
(dvp_parse_done): Comment out contents.
	(s_enddirect,s_endmpg,s_endunpack): Call demand_empty_rest_of_line.
	(s_state): Handle .vu in included file.
1998-02-20 20:48:39 +00:00
Richard Henderson
9db4b37c3f * tc-ppc.c (ppc_biei): Cache the last symbol we inserted
so we don't have to scan the entire list.
1998-02-20 06:27:12 +00:00
Fred Fish
ccc12f73ce * config/tc-d30v.c (parallel_ok): For the explicitly parallel
case, allow the parallel instructions to modify the same flag
 	bits.
PR 14883
1998-02-20 05:47:40 +00:00
Doug Evans
915729414d * config/tc-dvp.c (LOCAL_LABEL_PREFIX,END_LABEL_PREFIX): New macros.
(inline_dmadata): Renamed from s_dmadata_implied.
	(assemble_one_insn): Rewrite dma operand processing.
	(md_apply_fix3): Handle DVP_OPERAND_DMA_NEXT.
	(unique_name,setup_autocount): New functions.
1998-02-19 22:51:08 +00:00
Doug Evans
1ece1d561b * config/tc-dvp.c: Include stdarg.h/varargs.h.
(md_pseudo_table): Add .word.
	(assemble_dma): Set alignment to 16 bytes.  Enable code that records
	fixups.
	(assemble_one_insn): Handle DVP_OPERAND_DMA_{ADDR,AUTOCOUNT}.
	(md_apply_fix3): Handle DVP_OPERAND_DMA_ADDR.
	(parse_dma_addr_autocount): Renamed from parse_dma_ptr_autocount.
	Rewrite.
	(eval_expr): New function.
	(create_label,create_colon_label): New function.
	(s_enddmadata): Rewrite.
1998-02-19 10:24:15 +00:00
Doug Evans
a48a6f2301 Allow FAKE arguments to have a parser handler. 1998-02-19 00:39:38 +00:00
Doug Evans
18daef646e fix thinko in last patch 1998-02-18 23:57:47 +00:00
Doug Evans
19f12fb41c * config/tc-dvp.c (parse_float): New function.
(assemble_vu): Handle loi insns.
	(assemble_one_insn): Simplify suffix parsing.
	Handle DVP_OPERAND_FLOAT.
1998-02-18 23:56:15 +00:00
Doug Evans
0c22a4c125 remove #ifdef HAVE_CPU_M32RX uses. tweak some comments 1998-02-18 02:31:57 +00:00
Nick Clifton
b86c0dd361 Only parallelise instructions when assembling for the m32rx, and when
neither instruction is relaxable.
1998-02-16 20:30:58 +00:00
Nick Clifton
c9cec4ef98 Do not bother checking the operands of instructions which have no operands! 1998-02-13 22:45:14 +00:00
Nick Clifton
8e7a5a048a Reverted writes_to_pc() back to old version of code until PC operands are
supported by cgen.
1998-02-13 21:52:13 +00:00
Nick Clifton
6cf2575a22 Parallelisation code changed to used cgen's new ins operands feature. 1998-02-13 18:01:19 +00:00
Jeff Law
9a1f316032 * config/tc-mips.c (load_address): Don't use mips III or mips IV
insns regardless of the size of a pointer if we're in mips I or
        MIPS II mode.
        (macro, macro2, s_cprestore, s_cpadd): Likewise.
Fix problems in recent code to handle address sizes more sanely.
1998-02-12 09:45:13 +00:00
Joern Rennecke
fc3c25b9e0 opcodes:
* d10v-opc.c (d10v_predefined_registers, d10v_operands, d10v_opcodes):
	Split OPERAND_ACC into OPERAND_ACC0 and OPERAND_ACC1.
	Introduce OPERAND_GPR.
	* d10v-dis.c (print_operand): Likewise.
include/opcode:
	* d10v.h (OPERAND_ACC): Split into:
	(OPERAND_ACC0, OPERAND_ACC1) .
	(OPERAND_GPR): Define.
gas/config:
	* tc-d10v.c (parallel_ok, find_opcode):
	Split OPERAND_ACC into OPERAND_ACC0 and OPERAND_ACC1.
	Introduce OPERAND_GPR.
1998-02-12 03:56:57 +00:00
Doug Evans
00aa5b172e (check_parallel_io_clash): Add #if 0'd out code that uses new operand
usage facility.
1998-02-12 01:21:31 +00:00
Doug Evans
b4cbabb879 (insert_operand): Bring over possible change from branch. 1998-02-11 23:40:43 +00:00
Andrew Cagney
14926763d6 Handle xxx@word + N. Treat it as xxx >> 2 + N. 1998-02-11 02:46:51 +00:00
Ian Lance Taylor
b073d4281c * config/tc-mips.c (append_insn): Make sure that if we have a
fixup for an unmatched %hi reloc, it does not associated with a
	variant frag.
1998-02-06 03:08:45 +00:00
Nick Clifton
89285fc92b Add checks for side effects of instructions preventing their parallelisation. 1998-02-04 23:44:58 +00:00
Ian Lance Taylor
dfe0d219ce * config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: A reloc against
a gas internal symbol is adjustable.
1998-02-04 20:29:30 +00:00
Doug Evans
76090fdd40 fix comment 1998-02-03 23:39:28 +00:00
Ian Lance Taylor
0e034c7751 Mon Feb 2 18:30:34 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
Add tms320c30 support:
	* config/tc-tic30.h: New file.
	* config/tc-tic30.c: New file.
	* config/obj-coff.h: If TC_TIC30, include coff/tic30.h and define
	TARGET_FORMAT as "coff-tic30".
	* configure.in (tic30-*-*aout*, tic30-*-*coff*): New targets.
	* Makefile.am: Rebuild dependencies.
	(CPU_TYPES): Add tic30.
	(CPU_OBJ_VALID): tic30-aout is valid.
	(TARGET_CPU_CFILES): Add config/tc-tic30.c.
	(TARGET_CPU_HFILES): Add config/tc-tic30.h.
	* configure, Makefile.in: Rebuild.
1998-02-03 00:17:20 +00:00
Nick Clifton
6d0b44264f Improve error reporting for PR14724 1998-02-02 23:44:42 +00:00
Ian Lance Taylor
32715d71b8 Mon Feb 2 12:39:05 1998 Geoff Keating <geoffk@ozemail.com.au>
* config/tc-ppc.c (md_apply_fix3): Change BFD_RELOC_HI16 and
 	BFD_RELOC_HI16_S to store the high bits of any value.

	* config/tc-ppc.h (tc_fix_adjustable): Undo change of Fri Jun 27.
	(TC_RELOC_RTSYM_LOC_FIXUP): Don't let the
	assembler calculate relocations to any external symbol at all.
	* config/tc-ppc.c (md_apply_fix3) [OBJ_ELF]: Correct bugs
	involving generation of pc-relative relocs.
	(md_pcrel_from_section) [OBJ_ELF]: The job this code used to do
	has been moved to md_apply_fix3.

	* config/tc-ppc.c (md_apply_fix3): Fix test for too-far branch.
	(ppc_elf_suffix): Warn about 'identifier+constant@got' syntax,
	which actually means (the address of identifier's GOT entry) +
	constant, which is not particularly useful.
1998-02-02 17:44:57 +00:00
Doug Evans
b6675c1a8e (md_pcrel_from_section): Add offset to delay slot for
undefined symbols.
1998-01-31 00:04:27 +00:00
James Lemke
3b2215c2ed Implement DMAcnt, DMAret & DMAend with explicit count args. 1998-01-31 00:04:26 +00:00
Ian Lance Taylor
4b02738729 * config/vms-conf.h: Don't undef VERSION. 1998-01-30 16:48:57 +00:00
Doug Evans
08847198d5 fix typo in last change 1998-01-30 12:10:00 +00:00
Doug Evans
fe9efeb6d9 * config/tc-dvp.c (md_longopts): Add -no-dma, -no-dma-pke.
(md_parse_option): Handle them.
	(md_show_usage): Print them.
	(output_dma,output_pke): New static globals.
	(md_begin): Initialize them to 1.
	(assemble_pke): Handle -no-dma-pke.
	(insert_file): Search include dir list.
	(s_enddirect): Validate length if prespecified.
	(s_endmpg): Likewise.  Handle -no-dma-pke.
	(s_endunpack): Handle -no-dma-pke.
1998-01-30 12:01:27 +00:00
Ian Lance Taylor
c412299f00 Thu Jan 29 14:42:44 1998 Pat Rankin <rankin@eql.caltech.edu>
* Makefile.am (CONFIG_OBJS): New variable, containing part of old
	OBJS variable.
	(GENERIC_OBJS): New variable, with the rest of the old OBJS
	variable.
	(OBJS): Now just $(CONFIG_OBJS) and $(GENERIC_OBJS).
	($(srcdir)/make-gas.com): Rename from make-gas.com.
	(stamp-mk.com): Replace $(OBJS) with $(GENERIC_OBJS).
	(EXTRA_DIST): Define.
	* vmsconf.sh: Handle {targ-cpu, obj-format, atof-targ} modules
	explicitly rather than via the list of object files.
	(gcc-as.opt): New file created when make-gas.com is run.
	* config-gas.com: Create {targ-cpu.h, obj-format.h, targ-env.h,
	itbl-cpu.h} to #include appropriate file rather than copying that
	file.
	* config/vms-conf.h: Synchronize with current config.in.
	* Makefile.in: Rebuild.
1998-01-29 19:48:18 +00:00
Doug Evans
d476d46aab add more direct/unpack code 1998-01-29 19:37:59 +00:00
Doug Evans
55a4759f2b * config/tc-m32r.c (allow_m32rx): Must compile with K&R C.
(m32rx support): only include #ifdef HAVE_CPU_M32RX.
1998-01-29 17:27:49 +00:00
Nick Clifton
5ffc6deeb3 Fuxed sanitization (again!) 1998-01-29 17:27:48 +00:00
Doug Evans
e1b747c4f2 checkpoint 1998-01-29 17:06:52 +00:00
Doug Evans
8dddf63f16 checkpoint 1998-01-29 13:22:46 +00:00
Doug Evans
e033023fb2 checkpoint 1998-01-29 12:37:45 +00:00
Nick Clifton
79420f9af9 Sanitization fixes. 1998-01-29 00:41:46 +00:00
Nick Clifton
ed29580469 Fix determination of when two instructions can be combined in parallel. 1998-01-29 00:29:37 +00:00
Ian Lance Taylor
f414803c3a * config/obj-aout.h (S_IS_LOCAL): Correct typo--pass argument to
S_GET_SEGMENT.
1998-01-28 19:55:40 +00:00
Doug Evans
6856244d32 checkpoint 1998-01-28 19:35:31 +00:00
Ian Lance Taylor
8fb6931a28 * config/obj-coff.h (RESOLVE_SYMBOL_REDEFINITION): Define. 1998-01-28 18:49:01 +00:00
Bill Moyer
7012071819 Added --nowarnswap arg to suppress "Swapping instructions" warning. 1998-01-28 18:20:46 +00:00
Nick Clifton
1adee2cc07 Display instruction when an insertion error is encountered. 1998-01-28 17:53:31 +00:00
Doug Evans
aa788b629f (assemble_one_insn): tweak lexing of suffix 1998-01-28 17:31:22 +00:00
Doug Evans
3a6b89101e checkpoint 1998-01-28 14:05:49 +00:00
Doug Evans
276dd6efe9 txvu renamed to dvp 1998-01-28 10:15:09 +00:00
James Lemke
4411d96450 *** empty log message *** 1998-01-28 02:20:20 +00:00
Doug Evans
95bfad6d10 * tc-txvu.c (*): Update to use handle new arguments for
parse/insert/extract/print handlers.
	({encode,decode}_fixup_reloc_type): New function.
	(assemble_pke): Write out insn after parsing it.
1998-01-27 22:17:11 +00:00
Nick Clifton
38a8f434a8 Fix PRs 14721, 14722, 14723 1998-01-27 19:13:49 +00:00
Doug Evans
ee1c882ed5 allow '/' in addition to '.' in dest spec 1998-01-27 18:12:33 +00:00
Ian Lance Taylor
5a82ebaffc tweak again 1998-01-27 17:35:43 +00:00
Ian Lance Taylor
29b2b5da96 tweak last patch 1998-01-27 17:33:35 +00:00
Ian Lance Taylor
8ecadea45b * config/tc-arm.c (md_apply_fix3): Add casts before comparing
offsetT variable set to unsigned int value with FAIL.
1998-01-27 17:29:05 +00:00
Richard Henderson
c3b27a64b4 * as.c (parse_args): Add --keep-locals alias for -L.
Add --strip-local-absolute.
	(show_usage): Update.
	* as.h (flag_strip_local_absolute): New flag.
	* symbols.c (S_IS_LOCAL): Use it.
	* config/obj-aout.h (S_IS_LOCAL): Likewise.
	* config/obj-bout.h (S_IS_LOCAL): Likewise.
	* config/obj-coff.h (S_IS_LOCAL): Likewise.
PR 14689
1998-01-27 13:33:54 +00:00
James Lemke
5fcbec8f9c Fix to s_dmadata(), .EndDmaData was causing a trap. 1998-01-27 03:34:26 +00:00
James Lemke
63589bf457 *** empty log message *** 1998-01-27 02:52:04 +00:00
Doug Evans
2f511a26ba allow [] in suffix operand 1998-01-27 02:36:28 +00:00
Doug Evans
f73062614b * tc-txvu.c: First pass at dma/pke/gpuif support.
(assemble_one_insn): Renamed from assemble_insn.
	Initialize errmsg = NULL before calling parse fn.
	(fixups,fixup_count): Make static globals.
1998-01-27 00:32:01 +00:00
Nick Clifton
26192c5084 Detect when explicltly parallel instructions have i/o conflicts and
generate warning messages.
1998-01-26 21:09:18 +00:00
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