Commit graph

221 commits

Author SHA1 Message Date
Doug Evans
3d9044e29a * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Delete. 1998-10-29 19:40:37 +00:00
Gavin Romig-Koch
d3b42ce1c7 * config/tc-mips.c (hilo_interlocks): Remove mips_3900.
(append_insn): Account for the tx39's multiply behavior.
	* mips.h (INSN_MULT): Added.
	* mips-opc.c (IS_M): Added.
1998-10-27 14:04:03 +00:00
Doug Evans
ffe6f35d54 * cgen.h (CGEN_INSN_INT): New typedef.
(CGEN_INT_INSN_P): Renamed from CGEN_INT_INSN.
	(CGEN_INSN_BYTES): Renamed from cgen_insn_t.
	(CGEN_INSN_BYTES_PTR): New typedef.
	(CGEN_EXTRACT_INFO): New typedef.
	(cgen_insert_fn,cgen_extract_fn): Update.
	(cgen_opcode_table): New member `insn_endian'.
	(assemble_insn,lookup_insn,lookup_get_insn_operands): Update.
	(insert_operand,extract_operand): Update.
	(cgen_get_insn_value,cgen_put_insn_value): Add prototypes.
1998-10-19 19:50:37 +00:00
Ian Lance Taylor
7b83af29e4 Sun Oct 4 21:00:00 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
From Robert Andrew Dale <rob@nb.net>
	* i386.h (i386_optab): Add AMD 3DNow! instructions.
	(AMD_3DNOW_OPCODE): Define.
1998-10-05 01:01:27 +00:00
Doug Evans
329af45931 Move all global state data into opcode table struct, and treat
opcode table as something that is "opened/closed".
	* cgen.h (CGEN_OPCODE_DESC): New type.
	(all fns): New first arg of opcode table descriptor.
	(cgen_set_parse_operand_fn): Add prototype.
	(cgen_current_machine,cgen_current_endian): Delete.
	(CGEN_OPCODE_TABLE): New members mach,endian,operand_table,
	parse_operand_fn,asm_hash_table,asm_hash_table_entries,
	dis_hash_table,dis_hash_table_entries.
	(opcode_open,opcode_close): Add prototypes.

	* cgen.h (cgen_insn): New element `cdx'.
1998-08-03 19:29:51 +00:00
Frank Ch. Eigler
2c5d6bf41b * Fix for PR 16389, brought over from d30v branch.
Thu Jul 30 21:44:25 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* d30v.h (FLAG_LKR): New flag for "left-kills-right" instructions.
1998-07-30 19:39:47 +00:00
Doug Evans
dc82df78bb * cgen.h (cgen_macro_insn_count): Declare. 1998-07-24 18:45:58 +00:00
Ian Lance Taylor
2caa49ec21 remove d30v sanitization 1998-07-24 04:51:37 +00:00
Doug Evans
5eb29e2c4f use macros for version numbers 1998-07-21 20:47:38 +00:00
Doug Evans
ca2b987fae * cgen.h (cgen_version_{major,minor,fixlevel}): Declare.
(cgen_insert_fn,cgen_extract_fn): New arg `pc'.
	(get_operand,put_operand): Replaced with get_{int,vma}_operand,
	set_{int,vma}_operand.
1998-07-21 20:36:13 +00:00
Jeff Law
d7fd14cd22 * mn10300.h: Add "machine" field for instructions.
(MN103, AM30): Define machine types.
        (AM33): Define machine type.
1998-06-26 17:14:20 +00:00
Jeff Law
dc959c75ab * mn10300.h (FMT_D10): Define. 1998-06-22 19:33:21 +00:00
Ian Lance Taylor
1df5db5d9b Fri Jun 19 16:09:09 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h: Use FP, not sl_Suf, for fxsave and fxrstor.
1998-06-19 20:10:52 +00:00
Jeff Law
20ddeff49d * mn10300.h (MN10300_OPERAND_XRREG): Define.
(MN10300_OPERAND_PLUS): Likewise.
        (FMT_D6, FMT_D7): Likewise.
1998-06-19 15:41:58 +00:00
Ulrich Drepper
d2a24cee53 Update. 1998-06-19 01:58:48 +00:00
Ian Lance Taylor
c8ab56dcab Sat Jun 13 11:31:35 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h (i386_optab): Add general form of aad and aam.  Add ud2a
	and ud2b.
	(i386_regtab): Allow cr0..7, db0..7, dr0..7, tr0..7, not just
	those that happen to be implemented on pentiums.
1998-06-13 15:33:23 +00:00
Ian Lance Taylor
b8e4d255f3 Tue Jun 9 12:16:01 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h: Change occurences of Data16 to Size16, Data32 to Size32,
	IgnoreDataSize to IgnoreSize.  Flag address and data size prefixes
	with Size16|IgnoreSize or Size32|IgnoreSize.
1998-06-09 16:18:24 +00:00
Ian Lance Taylor
038915c98c Mon Jun 8 12:15:52 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h (REPNE): Rename to REPNE_PREFIX_OPCODE.
	(REPE): Rename to REPE_PREFIX_OPCODE.
	(i386_regtab_end): Remove.
	(i386_prefixtab, i386_prefixtab_end): Remove.
	(i386_optab): Use NULL as sentinel rather than "" to suit rewrite
	of md_begin.
	(MAX_OPCODE_SIZE): Define.
	(i386_optab_end): Remove.
	(sl_Suf): Define.
	(sl_FP): Use sl_Suf.

	* i386.h (i386_optab): Allow 16 bit displacement for `mov
	mem,acc'.  Combine 16 and 32 bit forms of various insns.  Allow 16
	bit form of ljmp.  Add IsPrefix modifier to prefixes.  Add addr32,
	data32, dword, and adword prefixes.
	(i386_regtab): Add BaseIndex modifier to valid 16 bit base/index
	regs.
1998-06-08 16:20:19 +00:00
Ian Lance Taylor
ed44fb7a0d Fri Jun 5 23:42:43 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h (i386_regtab): Remove BaseIndex modifier from esp.

	* i386.h: Allow `l' suffix on fld, fst, fstp, fcom, fcomp with
	register operands, because this is a common idiom.  Flag them with
	a warning.  Allow illegal faddp, fsubp, fsubrp, fmulp, fdivp,
	fdivrp because gcc erroneously generates them.  Also flag with a
	warning.

	* i386.h: Add suffix modifiers to most insns, and tighter operand
	checks in some cases.  Fix a number of UnixWare compatibility
	issues with float insns.  Merge some floating point opcodes, using
	new FloatMF modifier.
	(WORD_PREFIX_OPCODE): Rename to DATA_PREFIX_OPCODE for
	consistency.

	* i386.h: Change occurence of ShortformW to W|ShortForm.  Add
	IgnoreDataSize where appropriate.
1998-06-06 03:47:33 +00:00
Ian Lance Taylor
77be9a8a19 Wed Jun 3 18:28:45 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h: (one_byte_segment_defaults): Remove.
	(two_byte_segment_defaults): Remove.
	(i386_regtab): Add BaseIndex to 32 bit regs reg_type.
1998-06-03 22:31:09 +00:00
Jeff Holcomb
2fde292887 fix sanitization 1998-05-30 21:06:13 +00:00
Doug Evans
e2d7426296 * cgen.h (cgen_asm_init_parse): Delete.
(cgen_save_fixups,cgen_restore_fixups,cgen_swap_fixups): Delete.
	(cgen_asm_record_register,cgen_asm_finish_insn): Delete.
1998-05-07 09:16:35 +00:00
Doug Evans
030f419b08 * cgen.h (CGEN_ATTR_TYPE): Delete `const', moved to uses.
(cgen_asm_finish_insn): Update prototype.
	(cgen_insn): New members num, data.
	(CGEN_INSN_TABLE): Members asm_hash, asm_hash_table_size,
	dis_hash, dis_hash_table_size moved to ...
	(CGEN_OPCODE_TABLE).  Here.  Renamed from CGEN_OPCODE_DATA.
	All uses updated.  New members asm_hash_p, dis_hash_p.
	(CGEN_MINSN_EXPANSION): New struct.
	(cgen_expand_macro_insn): Declare.
	(cgen_macro_insn_count): Declare.
	(get_insn_operands): Update prototype.
	(lookup_get_insn_operands): Declare.
1998-04-27 17:31:38 +00:00
Ian Lance Taylor
b149f82f15 Tue Apr 21 17:11:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h (i386_optab): Change iclrKludge and imulKludge to
	regKludge.  Add operands types for string instructions.
1998-04-21 21:12:49 +00:00
Tom Tromey
9d3a718ca9 * i386.h (Z_): Renamed from `_' to avoid clash with common alias
for `gettext'.
1998-04-19 19:59:21 +00:00
Doug Evans
df7e97be20 * dvp.h (dvp_expand_macro): Declare.
(vif_macros,vif_macro_count): Declare.
1998-04-07 00:36:15 +00:00
Ian Lance Taylor
ffabaa53e9 Fri Apr 3 12:04:48 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h: Remove NoModrm flag from all insns: it's never checked.
	Add IsString flag to string instructions.
	(IS_STRING): Don't define.
	(LOCK_PREFIX_OPCODE, CS_PREFIX_OPCODE, DS_PREFIX_OPCODE): Define.
	(ES_PREFIX_OPCODE, FS_PREFIX_OPCODE, GS_PREFIX_OPCODE): Define.
	(SS_PREFIX_OPCODE): Define.
1998-04-03 17:07:03 +00:00
Ian Lance Taylor
eff2a090b6 Mon Mar 30 10:25:54 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h (i386_optab): Change second operand constraint of `mov
	sreg,reg|mem' instruction from Reg16|Mem to WordReg|WordMem to
	allow legal instructions such as `movl %gs,%esi'
1998-03-30 15:29:49 +00:00
Ian Lance Taylor
cc63a278f2 * h8300.h: Various changes to fully bracket initializers. 1998-03-27 23:32:07 +00:00
Doug Evans
ef5bbde6dc * dvp.h (DVP_OPERAND_UNPACK_ADDRESS): New macro.
(vif_unpack_len_value): Update prototype.
	(vif_get_var_data,vif_get_wl_cl): Add prototypes.
1998-03-25 21:26:38 +00:00
Ian Lance Taylor
44a8b274cf Tue Mar 24 18:32:47 1998 H.J. Lu <hjl@gnu.org>
* i386.h: Set LinearAddress for lidt and lgdt.
1998-03-24 23:34:58 +00:00
Doug Evans
cfa6f386e3 * dvp.h (vif_operand_datalen_special): Declare. 1998-03-23 18:03:15 +00:00
Gavin Romig-Koch
49e122ae8d * mips.h (INSN_4320) : Added. 1998-03-03 16:48:34 +00:00
Doug Evans
84fe40560d * cgen.h (CGEN_BOOL_ATTR): New macro. 1998-03-02 18:44:06 +00:00
Michael Meissner
eba74b9a7c Add flag for delayed branches/jumps 1998-02-27 19:17:55 +00:00
Doug Evans
61b6eec08c * dvp.h (VIF_FLAG_U): New macro. 1998-02-27 18:03:11 +00:00
Doug Evans
3e4a83f036 * dvp.h (DVP_OPERAND_MIPS_ADDRESS): Renamed from DVP_OPERAND_ADDRESS.
(DVP_OPERAND_VU_ADDRESS): New macro.
        (DVP_OPERAND_*): Renumber.
1998-02-25 08:26:52 +00:00
Doug Evans
7744ce8bb4 (gif_reg): Add recent register name/number changes. 1998-02-25 00:55:32 +00:00
Doug Evans
3e9f7612e3 * dvp.h (dvp_cpu): Add DVP_UNKNOWN.
(vif_insn_len): Update prototype.
1998-02-24 18:46:29 +00:00
Doug Evans
a2f256c4e0 * cgen.h (CGEN_CAT3): Delete. Use CONCAT3 now.
(cgen_insn): Record syntax and format entries here, rather than
	separately.
1998-02-23 18:39:25 +00:00
Doug Evans
6e57fa5070 * dvp.h (GIF_MAX_NLOOP,GIF_PRE): New macros.
(gif_type): New type.
	(gif_nloop,gif_nregs,gif_operand_nloop): Declare.
1998-02-21 02:03:08 +00:00
Doug Evans
a94cefa164 (DVP_OPCODE_IGNORE_DIS): New macro. 1998-02-20 00:32:30 +00:00
Doug Evans
aece8f205d * dvp.h (DVP_OPERAND_DMA_*): Rewrite.
(DVP_OPERAND_AUTOCOUNT): New modifier.
	(dma_operand_{count,addr}): Declare.
1998-02-19 22:37:34 +00:00
Doug Evans
c9320f0675 * dvp.h (DVP_OPERAND_DMA_{ADDR,AUTOCOUNT}): Split
DVP_OPERAND_DMA_PTR_AUTOCOUNT into two.
	(dma_operand_{count,addr}): Declare.
1998-02-19 10:10:32 +00:00
Doug Evans
e4cf2977c7 (CGEN_{INSN,KEYWORD,OPERAND}_NBOOL_ATTRS): Renamed from ..._MAX_ATTRS. 1998-02-18 07:57:59 +00:00
Doug Evans
deaa05853b * cgen.h (CGEN_SYNTAX_MAKE_FIELD): New macro. 1998-02-18 05:46:37 +00:00
Doug Evans
652af042db * cgen.h (cgen_insert_fn): Change type of result to const char *.
(cgen_parse_{signed,unsigned}_integer): Delete min,max arguments.
1998-02-18 00:02:27 +00:00
Doug Evans
ad87e8651b * cgen.h (lookup_insn): New argument alias_p.
* dvp.h (VU_FLAG_[IEMDT]): New macros.
1998-02-13 02:33:26 +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
42d56c40a2 * cgen.h (CGEN_FIELDS): Define here.
(CGEN_HW_ENTRY): New member `type'.
	(hw_list): Delete decl.
	(enum cgen_mode): Declare.
	(CGEN_OPERAND): New member `hw'.
	(enum cgen_operand_instance_type): Declare.
	(CGEN_OPERAND_INSTANCE): New type.
	(CGEN_INSN): New member `operands'.
	(CGEN_OPCODE_DATA): Make hw_list const.
	(get_insn_operands,lookup_insn): Add prototypes for.
1998-02-12 01:42:43 +00:00