Commit graph

291 commits

Author SHA1 Message Date
Ken Raeburn
485c39eb7b sanitize-vr5400 -> sanitize-cygnus 1998-08-12 03:29:09 +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 Holcomb
8cdfcc1b7f fix sanitization 1998-06-23 00:17:08 +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
Ulrich Drepper
59e907e3c7 Add support for fxsave, fxrstor, sysenter and sysexit. 1998-06-19 01:58:00 +00:00
Jeff Law
67be18db3b * mn10300.h (MN10300_OPERAND_USP): Define.
(MN10300_OPERAND_SSP, MN10300_OPERAND_MSP): Likewise.
        (MN10300_OPERAND_PC, MN10300_OPERAND_EPSW): Likewise.
        (MN10300_OPERAND_RREG): Likewise.
Snapshot current work.
1998-06-17 23:57:33 +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
b6ea017091 (CGEN_INSN_INDEX): Delete. 1998-05-06 21:43:45 +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
d411c9efe5 fix copyright 1998-03-31 02:41:10 +00:00
Ian Lance Taylor
ffd42166a5 * i386.h: Revert March 24 patch; no more LinearAddress. 1998-03-31 02:33:19 +00:00
Ian Lance Taylor
86bdd00edd comment fix 1998-03-30 16:02:18 +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
Ken Raeburn
220d9ad6b0 remove whitespace triggering Sanitize bug 1998-03-09 21:51:09 +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
Fred Fish
b7ed1b4b88 Fix minor typos in comments 1998-02-20 05:41: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