Commit graph

41 commits

Author SHA1 Message Date
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
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
Doug Evans
e7201c9e36 * config/tc-dvp.c (insert_mpg_marker): Update mpgloc. 1998-03-23 21:19:04 +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
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
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
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
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
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
b4cbabb879 (insert_operand): Bring over possible change from branch. 1998-02-11 23:40:43 +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
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
Doug Evans
d476d46aab add more direct/unpack code 1998-01-29 19:37:59 +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
Doug Evans
6856244d32 checkpoint 1998-01-28 19:35: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
Renamed from gas/config/tc-txvu.c (Browse further)