Fix bts/btr immediate operands (previously required "byte" specifier).
authorPeter Johnson <peter@tortall.net>
Fri, 11 Jul 2003 02:18:01 +0000 (02:18 -0000)
committerPeter Johnson <peter@tortall.net>
Fri, 11 Jul 2003 02:18:01 +0000 (02:18 -0000)
Bugzilla #10
Reported by: meor@softhome.net

svn path=/trunk/yasm/; revision=992

modules/arch/x86/tests/Makefile.inc
modules/arch/x86/tests/bittest.asm [new file with mode: 0644]
modules/arch/x86/tests/bittest.errwarn [new file with mode: 0644]
modules/arch/x86/tests/bittest.hex [new file with mode: 0644]
modules/arch/x86/x86id.re

index cc1aba18f4877b9325c2b7b798c1631e98132384..f30c8eb460a1515e810c199c298b43f077405430 100644 (file)
@@ -11,6 +11,9 @@ EXTRA_DIST += modules/arch/x86/tests/addrop.errwarn
 EXTRA_DIST += modules/arch/x86/tests/addrop.hex
 EXTRA_DIST += modules/arch/x86/tests/addrop-err.asm
 EXTRA_DIST += modules/arch/x86/tests/addrop-err.errwarn
+EXTRA_DIST += modules/arch/x86/tests/bittest.asm
+EXTRA_DIST += modules/arch/x86/tests/bittest.errwarn
+EXTRA_DIST += modules/arch/x86/tests/bittest.hex
 EXTRA_DIST += modules/arch/x86/tests/cpubasic-err.asm
 EXTRA_DIST += modules/arch/x86/tests/cpubasic-err.errwarn
 EXTRA_DIST += modules/arch/x86/tests/div-err.asm
diff --git a/modules/arch/x86/tests/bittest.asm b/modules/arch/x86/tests/bittest.asm
new file mode 100644 (file)
index 0000000..62c245d
--- /dev/null
@@ -0,0 +1 @@
+btr eax, 4
diff --git a/modules/arch/x86/tests/bittest.errwarn b/modules/arch/x86/tests/bittest.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/modules/arch/x86/tests/bittest.hex b/modules/arch/x86/tests/bittest.hex
new file mode 100644 (file)
index 0000000..fff4f07
--- /dev/null
@@ -0,0 +1,5 @@
+66 
+0f 
+ba 
+f0 
+04 
index 0f8bba4aabe2401beecb0961692768498042a3de..5fb260e74f49027ad5eb65670c2fe64c06e54e38 100644 (file)
@@ -1007,11 +1007,11 @@ static const x86_insn_info bittest_insn[] = {
     { CPU_Hammer|CPU_64, MOD_Op1Add, 64, 2, {0x0F, 0x00, 0}, 0, 2,
       {OPT_RM|OPS_64|OPS_Relaxed|OPA_EA, OPT_Reg|OPS_64|OPA_Spare, 0} },
     { CPU_386, MOD_Gap0|MOD_SpAdd, 16, 2, {0x0F, 0xBA, 0}, 0, 2,
-      {OPT_RM|OPS_16|OPA_EA, OPT_Imm|OPS_8|OPA_Imm, 0} },
+      {OPT_RM|OPS_16|OPA_EA, OPT_Imm|OPS_8|OPS_Relaxed|OPA_Imm, 0} },
     { CPU_386, MOD_Gap0|MOD_SpAdd, 32, 2, {0x0F, 0xBA, 0}, 0, 2,
-      {OPT_RM|OPS_32|OPA_EA, OPT_Imm|OPS_8|OPA_Imm, 0} },
+      {OPT_RM|OPS_32|OPA_EA, OPT_Imm|OPS_8|OPS_Relaxed|OPA_Imm, 0} },
     { CPU_Hammer|CPU_64, MOD_Gap0|MOD_SpAdd, 64, 2, {0x0F, 0xBA, 0}, 0, 2,
-      {OPT_RM|OPS_64|OPA_EA, OPT_Imm|OPS_8|OPA_Imm, 0} }
+      {OPT_RM|OPS_64|OPA_EA, OPT_Imm|OPS_8|OPS_Relaxed|OPA_Imm, 0} }
 };
 
 /* Bit manipulation - bit scans - also used for lar/lsl */