From c32fa91d70ea20b38f90e5a88911f796b9a6418c Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 12 Nov 2009 18:57:14 +0000 Subject: gas/ 2009-11-12 H.J. Lu * config/tc-i386.c (LOCKREP_PREFIX): Removed. (REP_PREFIX): New. (LOCK_PREFIX): Likewise. (PREFIX_GROUP): Likewise. (REX_PREFIX): Updated. (MAX_PREFIXES): Likewise. (add_prefix): Updated. Return enum PREFIX_GROUP. (md_assemble): Check for lock without a lockable instruction. (parse_insn): Updated. (output_insn): Likewise. gas/testsuite/ 2009-11-12 H.J. Lu * gas/i386/i386.exp: Run lock-1, lock-1-intel, lockbad-1, x86-64-lock-1, x86-64-lock-1-intel and x86-64-lockbad-1. * gas/i386/lock-1-intel.d: New. * gas/i386/lock-1.d: Likewise. * gas/i386/lock-1.s: Likewise. * gas/i386/lockbad-1.l: Likewise. * gas/i386/lockbad-1.s: Likewise. * gas/i386/x86-64-lock-1-intel.d: Likewise. * gas/i386/x86-64-lock-1.d: Likewise. * gas/i386/x86-64-lock-1.s: Likewise. * gas/i386/x86-64-lockbad-1.l: Likewise. * gas/i386/x86-64-lockbad-1.s: Likewise. opcodes/ 2009-11-12 H.J. Lu * i386-gen.c (opcode_modifiers): Add IsLockable. * i386-opc.h (IsLockable): New. (i386_opcode_modifier): Add islockable. * i386-opc.tbl: Add IsLockable to add, adc, and, btc, btr, bts, cmpxchg, cmpxch8b, dec, inc, neg, not, or, sbb, sub, xor, xadd and xchg. * i386-tbl.h: Regenerated. --- opcodes/i386-opc.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'opcodes/i386-opc.h') diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index f8de8cd7b7d..cee1303ac4a 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -240,6 +240,8 @@ enum FWait, /* quick test for string instructions */ IsString, + /* quick test for lockable instructions */ + IsLockable, /* fake an extra reg operand for clr, imul and special register processing for some instructions. */ RegKludge, @@ -340,6 +342,7 @@ typedef struct i386_opcode_modifier unsigned int no_ldsuf:1; unsigned int fwait:1; unsigned int isstring:1; + unsigned int islockable:1; unsigned int regkludge:1; unsigned int firstxmm0:1; unsigned int implicit1stxmm0:1; -- cgit v1.2.1