Fix opcode for 64-bit jecxz
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 20 Nov 2012 14:21:33 +0000 (14:21 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 20 Nov 2012 14:21:33 +0000 (14:21 +0000)
gas/testsuite/

PR gas/14859
* gas/i386/x86-64-opcode.s: Add jecxz.
* gas/i386/x86-64-opcode.d: Updated.

opcodes/

PR gas/14859
* i386-opc.tbl: Fix opcode for 64-bit jecxz.
* i386-tbl.h: Regenerated.

gas/ChangeLog
gas/testsuite/gas/i386/x86-64-opcode.d
gas/testsuite/gas/i386/x86-64-opcode.s
opcodes/ChangeLog
opcodes/i386-opc.tbl
opcodes/i386-tbl.h

index 33cb949..bcf76b8 100644 (file)
@@ -1,3 +1,9 @@
+2012-11-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/14859
+       * gas/i386/x86-64-opcode.s: Add jecxz.
+       * gas/i386/x86-64-opcode.d: Updated.
+
 2012-11-20  Yufeng Zhang  <yufeng.zhang@arm.com>
 
        * config/tc-aarch64.c (first_error_fmt): Add ATTRIBUTE_UNUSED to the
index 7c6dd03..4b3003a 100644 (file)
@@ -296,4 +296,5 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    0f 07                   sysret 
 [      ]*[a-f0-9]+:    0f 01 f8                swapgs 
 [      ]*[a-f0-9]+:    66 68 22 22             pushw  \$0x2222
+[      ]*[a-f0-9]+:    67 e3 ff                jecxz  0x49d
 #pass
index cb9bbc1..96f624d 100644 (file)
         swapgs                       #  --  --  -- --   0F 01 f8
 
        pushw $0x2222
+
+        jecxz .+2
index 4849206..2540f4d 100644 (file)
@@ -1,3 +1,10 @@
+2012-11-20  Kirill Yukhin  <kirill.yukhin@intel.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/14859
+       * i386-opc.tbl: Fix opcode for 64-bit jecxz.
+       * i386-tbl.h: Regenerated.
+
 2012-11-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
        * s390-opc.txt: Fix srstu and strag opcodes.
index 6d2834e..3e871fb 100644 (file)
@@ -390,7 +390,7 @@ jg, 1, 0x7f, None, 1, 0, Jump|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf,
 // jcxz vs. jecxz is chosen on the basis of the address size prefix.
 jcxz, 1, 0xe3, None, 1, CpuNo64, JumpByte|Size16|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Disp8|Disp16|Disp32 }
 jecxz, 1, 0xe3, None, 1, CpuNo64, JumpByte|Size32|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Disp8|Disp16|Disp32 }
-jecxz, 1, 0x67e3, None, 2, Cpu64, JumpByte|Size32|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Disp8|Disp32|Disp32S }
+jecxz, 1, 0xe3, None, 1, Cpu64, JumpByte|Size32|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Disp8|Disp32|Disp32S }
 jrcxz, 1, 0xe3, None, 1, Cpu64, JumpByte|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Disp8|Disp32|Disp32S }
 
 // The loop instructions also use the address size prefix to select
index e151afa..257f8b1 100644 (file)
@@ -3417,7 +3417,7 @@ const insn_template i386_optab[] =
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },
-  { "jecxz", 1, 0x67e3, None, 2,
+  { "jecxz", 1, 0xe3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,