Fix rorx in BMI2.
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 30 Jun 2011 15:44:55 +0000 (15:44 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 30 Jun 2011 15:44:55 +0000 (15:44 +0000)
gas/testsuite/

2011-06-30  H.J. Lu  <hongjiu.lu@intel.com>

AVX Programming Reference (June, 2011)
* gas/i386/bmi2.s: Correct rorx tests.
* gas/i386/x86-64-bmi2.s: Likewise.

* gas/i386/bmi2-intel.d: Updated.
* gas/i386/bmi2.d: Likewise.
* gas/i386/x86-64-bmi2-intel.d: Likewise.
* gas/i386/x86-64-bmi2.d: Likewise.

opcodes/

2011-06-30  H.J. Lu  <hongjiu.lu@intel.com>

AVX Programming Reference (June, 2011)
* i386-dis.c (vex_len_table): Correct rorxS.

* i386-opc.tbl: Correct rorx.
* i386-tbl.h: Regenerated.

gas/testsuite/ChangeLog
gas/testsuite/gas/i386/bmi2-intel.d
gas/testsuite/gas/i386/bmi2.d
gas/testsuite/gas/i386/bmi2.s
gas/testsuite/gas/i386/x86-64-bmi2-intel.d
gas/testsuite/gas/i386/x86-64-bmi2.d
gas/testsuite/gas/i386/x86-64-bmi2.s
opcodes/ChangeLog
opcodes/i386-dis.c
opcodes/i386-opc.tbl
opcodes/i386-tbl.h

index c5408b85de34eb441904c88520c5142d3f72c140..0b24323b8c600cb370a3c6d54d9d3f7eab6cf2b6 100644 (file)
@@ -1,3 +1,14 @@
+2011-06-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       AVX Programming Reference (June, 2011)
+       * gas/i386/bmi2.s: Correct rorx tests.
+       * gas/i386/x86-64-bmi2.s: Likewise.
+
+       * gas/i386/bmi2-intel.d: Updated.
+       * gas/i386/bmi2.d: Likewise.
+       * gas/i386/x86-64-bmi2-intel.d: Likewise.
+       * gas/i386/x86-64-bmi2.d: Likewise.
+
 2011-06-30  Paul Carroll  <pcarroll@codesourcery.com>
 
        * gas/arm/addthumb2err.s: New test file.
index 8cf48fc3d8a5c7c92b15c20a1471c11f9db3728c..fa12a0ccff069804f19dd4626cdb9c6d0eedec4c 100644 (file)
@@ -9,8 +9,8 @@
 Disassembly of section .text:
 
 0+ <_start>:
-[      ]*[a-f0-9]+:    c4 e3 63 f0 f0 07       rorx   esi,ebx,eax,0x7
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   esi,ebx,DWORD PTR \[ecx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 7b f0 d8 07       rorx   ebx,eax,0x7
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   ebx,DWORD PTR \[ecx\],0x7
 [      ]*[a-f0-9]+:    c4 e2 63 f6 f0          mulx   esi,ebx,eax
 [      ]*[a-f0-9]+:    c4 e2 63 f6 31          mulx   esi,ebx,DWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c4 e2 63 f5 f0          pdep   esi,ebx,eax
@@ -25,9 +25,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e2 61 f7 31          shlx   esi,DWORD PTR \[ecx\],ebx
 [      ]*[a-f0-9]+:    c4 e2 7b f7 f3          shrx   esi,ebx,eax
 [      ]*[a-f0-9]+:    c4 e2 63 f7 31          shrx   esi,DWORD PTR \[ecx\],ebx
-[      ]*[a-f0-9]+:    c4 e3 63 f0 f0 07       rorx   esi,ebx,eax,0x7
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   esi,ebx,DWORD PTR \[ecx\],0x7
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   esi,ebx,DWORD PTR \[ecx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 7b f0 d8 07       rorx   ebx,eax,0x7
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   ebx,DWORD PTR \[ecx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   ebx,DWORD PTR \[ecx\],0x7
 [      ]*[a-f0-9]+:    c4 e2 63 f6 f0          mulx   esi,ebx,eax
 [      ]*[a-f0-9]+:    c4 e2 63 f6 31          mulx   esi,ebx,DWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c4 e2 63 f6 31          mulx   esi,ebx,DWORD PTR \[ecx\]
index 35d5e0168297d2c6aa9fd3b672bf449e732ebc6f..d52e4d1e2ae71f8c50714663d427b80b29368345 100644 (file)
@@ -8,8 +8,8 @@
 Disassembly of section .text:
 
 0+ <_start>:
-[      ]*[a-f0-9]+:    c4 e3 63 f0 f0 07       rorx   \$0x7,%eax,%ebx,%esi
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   \$0x7,\(%ecx\),%ebx,%esi
+[      ]*[a-f0-9]+:    c4 e3 7b f0 d8 07       rorx   \$0x7,%eax,%ebx
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   \$0x7,\(%ecx\),%ebx
 [      ]*[a-f0-9]+:    c4 e2 63 f6 f0          mulx   %eax,%ebx,%esi
 [      ]*[a-f0-9]+:    c4 e2 63 f6 31          mulx   \(%ecx\),%ebx,%esi
 [      ]*[a-f0-9]+:    c4 e2 63 f5 f0          pdep   %eax,%ebx,%esi
@@ -24,9 +24,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e2 61 f7 31          shlx   %ebx,\(%ecx\),%esi
 [      ]*[a-f0-9]+:    c4 e2 7b f7 f3          shrx   %eax,%ebx,%esi
 [      ]*[a-f0-9]+:    c4 e2 63 f7 31          shrx   %ebx,\(%ecx\),%esi
-[      ]*[a-f0-9]+:    c4 e3 63 f0 f0 07       rorx   \$0x7,%eax,%ebx,%esi
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   \$0x7,\(%ecx\),%ebx,%esi
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   \$0x7,\(%ecx\),%ebx,%esi
+[      ]*[a-f0-9]+:    c4 e3 7b f0 d8 07       rorx   \$0x7,%eax,%ebx
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   \$0x7,\(%ecx\),%ebx
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   \$0x7,\(%ecx\),%ebx
 [      ]*[a-f0-9]+:    c4 e2 63 f6 f0          mulx   %eax,%ebx,%esi
 [      ]*[a-f0-9]+:    c4 e2 63 f6 31          mulx   \(%ecx\),%ebx,%esi
 [      ]*[a-f0-9]+:    c4 e2 63 f6 31          mulx   \(%ecx\),%ebx,%esi
index 40b4e55fe703a5f064dae8f54115cc46c2eebb2f..415994cf46fe7d4fa057f1d0415740573abef208 100644 (file)
@@ -4,9 +4,9 @@
        .text
 _start:
 
-# Test for op r32, r32, r/m32, imm8
-       rorx $7,%eax,%ebx,%esi
-       rorx $7,(%ecx),%ebx,%esi
+# Test for op r32, r/m32, imm8
+       rorx $7,%eax,%ebx
+       rorx $7,(%ecx),%ebx
 
 # Test for op r32, r32, r/m32
        mulx %eax,%ebx,%esi
@@ -28,10 +28,10 @@ _start:
 
        .intel_syntax noprefix
 
-# Test for op r32, r32, r/m32, imm8
-       rorx esi,ebx,eax,7
-       rorx esi,ebx,DWORD PTR [ecx],7
-       rorx esi,ebx,[ecx],7
+# Test for op r32, r/m32, imm8
+       rorx ebx,eax,7
+       rorx ebx,DWORD PTR [ecx],7
+       rorx ebx,[ecx],7
 
 # Test for op r32, r32, r/m32
        mulx esi,ebx,eax
index 87c8500842bf9d14a157fdcc6007b63c7928e4fa..b692c1d883c0082907fa27b460457ef9e7d2bd52 100644 (file)
@@ -9,10 +9,10 @@
 Disassembly of section .text:
 
 0+ <_start>:
-[      ]*[a-f0-9]+:    c4 e3 63 f0 f0 07       rorx   esi,ebx,eax,0x7
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   esi,ebx,DWORD PTR \[rcx\],0x7
-[      ]*[a-f0-9]+:    c4 43 03 f0 d1 07       rorx   r10d,r15d,r9d,0x7
-[      ]*[a-f0-9]+:    c4 63 03 f0 11 07       rorx   r10d,r15d,DWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 7b f0 d8 07       rorx   ebx,eax,0x7
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   ebx,DWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 43 7b f0 f9 07       rorx   r15d,r9d,0x7
+[      ]*[a-f0-9]+:    c4 63 7b f0 39 07       rorx   r15d,DWORD PTR \[rcx\],0x7
 [      ]*[a-f0-9]+:    c4 e2 63 f6 f0          mulx   esi,ebx,eax
 [      ]*[a-f0-9]+:    c4 e2 63 f6 31          mulx   esi,ebx,DWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c4 42 03 f6 d1          mulx   r10d,r15d,r9d
@@ -41,10 +41,10 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e2 63 f7 31          shrx   esi,DWORD PTR \[rcx\],ebx
 [      ]*[a-f0-9]+:    c4 42 33 f7 d7          shrx   r10d,r15d,r9d
 [      ]*[a-f0-9]+:    c4 62 33 f7 11          shrx   r10d,DWORD PTR \[rcx\],r9d
-[      ]*[a-f0-9]+:    c4 e3 e3 f0 f0 07       rorx   rsi,rbx,rax,0x7
-[      ]*[a-f0-9]+:    c4 e3 e3 f0 31 07       rorx   rsi,rbx,QWORD PTR \[rcx\],0x7
-[      ]*[a-f0-9]+:    c4 43 83 f0 d1 07       rorx   r10,r15,r9,0x7
-[      ]*[a-f0-9]+:    c4 63 83 f0 11 07       rorx   r10,r15,QWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 fb f0 d8 07       rorx   rbx,rax,0x7
+[      ]*[a-f0-9]+:    c4 e3 fb f0 19 07       rorx   rbx,QWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 43 fb f0 f9 07       rorx   r15,r9,0x7
+[      ]*[a-f0-9]+:    c4 63 fb f0 39 07       rorx   r15,QWORD PTR \[rcx\],0x7
 [      ]*[a-f0-9]+:    c4 e2 e3 f6 f0          mulx   rsi,rbx,rax
 [      ]*[a-f0-9]+:    c4 e2 e3 f6 31          mulx   rsi,rbx,QWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c4 42 83 f6 d1          mulx   r10,r15,r9
@@ -73,11 +73,11 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e2 fb f7 31          shrx   rsi,QWORD PTR \[rcx\],rax
 [      ]*[a-f0-9]+:    c4 42 b3 f7 d7          shrx   r10,r15,r9
 [      ]*[a-f0-9]+:    c4 62 b3 f7 11          shrx   r10,QWORD PTR \[rcx\],r9
-[      ]*[a-f0-9]+:    c4 e3 63 f0 f0 07       rorx   esi,ebx,eax,0x7
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   esi,ebx,DWORD PTR \[rcx\],0x7
-[      ]*[a-f0-9]+:    c4 43 2b f0 f9 07       rorx   r15d,r10d,r9d,0x7
-[      ]*[a-f0-9]+:    c4 63 2b f0 39 07       rorx   r15d,r10d,DWORD PTR \[rcx\],0x7
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   esi,ebx,DWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 7b f0 d8 07       rorx   ebx,eax,0x7
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   ebx,DWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 43 7b f0 d1 07       rorx   r10d,r9d,0x7
+[      ]*[a-f0-9]+:    c4 63 7b f0 11 07       rorx   r10d,DWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   ebx,DWORD PTR \[rcx\],0x7
 [      ]*[a-f0-9]+:    c4 e2 63 f6 f0          mulx   esi,ebx,eax
 [      ]*[a-f0-9]+:    c4 e2 63 f6 31          mulx   esi,ebx,DWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c4 42 2b f6 f9          mulx   r15d,r10d,r9d
@@ -113,11 +113,11 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 42 33 f7 fa          shrx   r15d,r10d,r9d
 [      ]*[a-f0-9]+:    c4 62 33 f7 39          shrx   r15d,DWORD PTR \[rcx\],r9d
 [      ]*[a-f0-9]+:    c4 e2 63 f7 31          shrx   esi,DWORD PTR \[rcx\],ebx
-[      ]*[a-f0-9]+:    c4 e3 e3 f0 f0 07       rorx   rsi,rbx,rax,0x7
-[      ]*[a-f0-9]+:    c4 e3 e3 f0 31 07       rorx   rsi,rbx,QWORD PTR \[rcx\],0x7
-[      ]*[a-f0-9]+:    c4 43 83 f0 d1 07       rorx   r10,r15,r9,0x7
-[      ]*[a-f0-9]+:    c4 63 83 f0 11 07       rorx   r10,r15,QWORD PTR \[rcx\],0x7
-[      ]*[a-f0-9]+:    c4 e3 e3 f0 31 07       rorx   rsi,rbx,QWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 fb f0 d8 07       rorx   rbx,rax,0x7
+[      ]*[a-f0-9]+:    c4 e3 fb f0 19 07       rorx   rbx,QWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 43 fb f0 f9 07       rorx   r15,r9,0x7
+[      ]*[a-f0-9]+:    c4 63 fb f0 39 07       rorx   r15,QWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 fb f0 19 07       rorx   rbx,QWORD PTR \[rcx\],0x7
 [      ]*[a-f0-9]+:    c4 e2 e3 f6 f0          mulx   rsi,rbx,rax
 [      ]*[a-f0-9]+:    c4 e2 e3 f6 31          mulx   rsi,rbx,QWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c4 42 83 f6 d1          mulx   r10,r15,r9
index 0d5d37d87030a4bec9153e413c3fa0f87496b842..0bcdb28ded3ad352d5b664dd451fda1b842cb125 100644 (file)
@@ -8,10 +8,10 @@
 Disassembly of section .text:
 
 0+ <_start>:
-[      ]*[a-f0-9]+:    c4 e3 63 f0 f0 07       rorx   \$0x7,%eax,%ebx,%esi
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   \$0x7,\(%rcx\),%ebx,%esi
-[      ]*[a-f0-9]+:    c4 43 03 f0 d1 07       rorx   \$0x7,%r9d,%r15d,%r10d
-[      ]*[a-f0-9]+:    c4 63 03 f0 11 07       rorx   \$0x7,\(%rcx\),%r15d,%r10d
+[      ]*[a-f0-9]+:    c4 e3 7b f0 d8 07       rorx   \$0x7,%eax,%ebx
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   \$0x7,\(%rcx\),%ebx
+[      ]*[a-f0-9]+:    c4 43 7b f0 f9 07       rorx   \$0x7,%r9d,%r15d
+[      ]*[a-f0-9]+:    c4 63 7b f0 39 07       rorx   \$0x7,\(%rcx\),%r15d
 [      ]*[a-f0-9]+:    c4 e2 63 f6 f0          mulx   %eax,%ebx,%esi
 [      ]*[a-f0-9]+:    c4 e2 63 f6 31          mulx   \(%rcx\),%ebx,%esi
 [      ]*[a-f0-9]+:    c4 42 03 f6 d1          mulx   %r9d,%r15d,%r10d
@@ -40,10 +40,10 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e2 63 f7 31          shrx   %ebx,\(%rcx\),%esi
 [      ]*[a-f0-9]+:    c4 42 33 f7 d7          shrx   %r9d,%r15d,%r10d
 [      ]*[a-f0-9]+:    c4 62 33 f7 11          shrx   %r9d,\(%rcx\),%r10d
-[      ]*[a-f0-9]+:    c4 e3 e3 f0 f0 07       rorx   \$0x7,%rax,%rbx,%rsi
-[      ]*[a-f0-9]+:    c4 e3 e3 f0 31 07       rorx   \$0x7,\(%rcx\),%rbx,%rsi
-[      ]*[a-f0-9]+:    c4 43 83 f0 d1 07       rorx   \$0x7,%r9,%r15,%r10
-[      ]*[a-f0-9]+:    c4 63 83 f0 11 07       rorx   \$0x7,\(%rcx\),%r15,%r10
+[      ]*[a-f0-9]+:    c4 e3 fb f0 d8 07       rorx   \$0x7,%rax,%rbx
+[      ]*[a-f0-9]+:    c4 e3 fb f0 19 07       rorx   \$0x7,\(%rcx\),%rbx
+[      ]*[a-f0-9]+:    c4 43 fb f0 f9 07       rorx   \$0x7,%r9,%r15
+[      ]*[a-f0-9]+:    c4 63 fb f0 39 07       rorx   \$0x7,\(%rcx\),%r15
 [      ]*[a-f0-9]+:    c4 e2 e3 f6 f0          mulx   %rax,%rbx,%rsi
 [      ]*[a-f0-9]+:    c4 e2 e3 f6 31          mulx   \(%rcx\),%rbx,%rsi
 [      ]*[a-f0-9]+:    c4 42 83 f6 d1          mulx   %r9,%r15,%r10
@@ -72,11 +72,11 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e2 fb f7 31          shrx   %rax,\(%rcx\),%rsi
 [      ]*[a-f0-9]+:    c4 42 b3 f7 d7          shrx   %r9,%r15,%r10
 [      ]*[a-f0-9]+:    c4 62 b3 f7 11          shrx   %r9,\(%rcx\),%r10
-[      ]*[a-f0-9]+:    c4 e3 63 f0 f0 07       rorx   \$0x7,%eax,%ebx,%esi
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   \$0x7,\(%rcx\),%ebx,%esi
-[      ]*[a-f0-9]+:    c4 43 2b f0 f9 07       rorx   \$0x7,%r9d,%r10d,%r15d
-[      ]*[a-f0-9]+:    c4 63 2b f0 39 07       rorx   \$0x7,\(%rcx\),%r10d,%r15d
-[      ]*[a-f0-9]+:    c4 e3 63 f0 31 07       rorx   \$0x7,\(%rcx\),%ebx,%esi
+[      ]*[a-f0-9]+:    c4 e3 7b f0 d8 07       rorx   \$0x7,%eax,%ebx
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   \$0x7,\(%rcx\),%ebx
+[      ]*[a-f0-9]+:    c4 43 7b f0 d1 07       rorx   \$0x7,%r9d,%r10d
+[      ]*[a-f0-9]+:    c4 63 7b f0 11 07       rorx   \$0x7,\(%rcx\),%r10d
+[      ]*[a-f0-9]+:    c4 e3 7b f0 19 07       rorx   \$0x7,\(%rcx\),%ebx
 [      ]*[a-f0-9]+:    c4 e2 63 f6 f0          mulx   %eax,%ebx,%esi
 [      ]*[a-f0-9]+:    c4 e2 63 f6 31          mulx   \(%rcx\),%ebx,%esi
 [      ]*[a-f0-9]+:    c4 42 2b f6 f9          mulx   %r9d,%r10d,%r15d
@@ -112,11 +112,11 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 42 33 f7 fa          shrx   %r9d,%r10d,%r15d
 [      ]*[a-f0-9]+:    c4 62 33 f7 39          shrx   %r9d,\(%rcx\),%r15d
 [      ]*[a-f0-9]+:    c4 e2 63 f7 31          shrx   %ebx,\(%rcx\),%esi
-[      ]*[a-f0-9]+:    c4 e3 e3 f0 f0 07       rorx   \$0x7,%rax,%rbx,%rsi
-[      ]*[a-f0-9]+:    c4 e3 e3 f0 31 07       rorx   \$0x7,\(%rcx\),%rbx,%rsi
-[      ]*[a-f0-9]+:    c4 43 83 f0 d1 07       rorx   \$0x7,%r9,%r15,%r10
-[      ]*[a-f0-9]+:    c4 63 83 f0 11 07       rorx   \$0x7,\(%rcx\),%r15,%r10
-[      ]*[a-f0-9]+:    c4 e3 e3 f0 31 07       rorx   \$0x7,\(%rcx\),%rbx,%rsi
+[      ]*[a-f0-9]+:    c4 e3 fb f0 d8 07       rorx   \$0x7,%rax,%rbx
+[      ]*[a-f0-9]+:    c4 e3 fb f0 19 07       rorx   \$0x7,\(%rcx\),%rbx
+[      ]*[a-f0-9]+:    c4 43 fb f0 f9 07       rorx   \$0x7,%r9,%r15
+[      ]*[a-f0-9]+:    c4 63 fb f0 39 07       rorx   \$0x7,\(%rcx\),%r15
+[      ]*[a-f0-9]+:    c4 e3 fb f0 19 07       rorx   \$0x7,\(%rcx\),%rbx
 [      ]*[a-f0-9]+:    c4 e2 e3 f6 f0          mulx   %rax,%rbx,%rsi
 [      ]*[a-f0-9]+:    c4 e2 e3 f6 31          mulx   \(%rcx\),%rbx,%rsi
 [      ]*[a-f0-9]+:    c4 42 83 f6 d1          mulx   %r9,%r15,%r10
index 4976e847ffed49a29d34ac1fe3ada2ac042e5ebc..677421ff5a67ecb5dc4da57fe98ae50964a4818f 100644 (file)
@@ -4,11 +4,11 @@
        .text
 _start:
 
-# Test for op r32, r32, r/m32, imm8
-       rorx $7,%eax,%ebx,%esi
-       rorx $7,(%rcx),%ebx,%esi
-       rorx $7,%r9d,%r15d,%r10d
-       rorx $7,(%rcx),%r15d,%r10d
+# Test for op r32, r/m32, imm8
+       rorx $7,%eax,%ebx
+       rorx $7,(%rcx),%ebx
+       rorx $7,%r9d,%r15d
+       rorx $7,(%rcx),%r15d
 
 # Test for op r32, r32, r/m32
        mulx %eax,%ebx,%esi
@@ -42,11 +42,11 @@ _start:
        shrx %r9d,%r15d,%r10d
        shrx %r9d,(%rcx),%r10d
 
-# Test for op r64, r64, r/m64, imm8
-       rorx $7,%rax,%rbx,%rsi
-       rorx $7,(%rcx),%rbx,%rsi
-       rorx $7,%r9,%r15,%r10
-       rorx $7,(%rcx),%r15,%r10
+# Test for op r64, r/m64, imm8
+       rorx $7,%rax,%rbx
+       rorx $7,(%rcx),%rbx
+       rorx $7,%r9,%r15
+       rorx $7,(%rcx),%r15
 
 # Test for op r64, r64, r/m64
        mulx %rax,%rbx,%rsi
@@ -82,12 +82,12 @@ _start:
 
        .intel_syntax noprefix
 
-# Test for op r32, r32, r/m32, imm8
-       rorx esi,ebx,eax,7
-       rorx esi,ebx,DWORD PTR [rcx],7
-       rorx r15d,r10d,r9d,7
-       rorx r15d,r10d,DWORD PTR [rcx],7
-       rorx esi,ebx,[rcx],7
+# Test for op r32, r/m32, imm8
+       rorx ebx,eax,7
+       rorx ebx,DWORD PTR [rcx],7
+       rorx r10d,r9d,7
+       rorx r10d,DWORD PTR [rcx],7
+       rorx ebx,[rcx],7
 
 # Test for op r32, r32, r/m32
        mulx esi,ebx,eax
@@ -128,12 +128,12 @@ _start:
        shrx r15d,DWORD PTR [rcx],r9d
        shrx esi,[rcx],ebx
 
-# Test for op r64, r64, r/m64, imm8
-       rorx rsi,rbx,rax,7
-       rorx rsi,rbx,QWORD PTR [rcx],7
-       rorx r10,r15,r9,7
-       rorx r10,r15,QWORD PTR [rcx],7
-       rorx rsi,rbx,[rcx],7
+# Test for op r64, r/m64, imm8
+       rorx rbx,rax,7
+       rorx rbx,QWORD PTR [rcx],7
+       rorx r15,r9,7
+       rorx r15,QWORD PTR [rcx],7
+       rorx rbx,[rcx],7
 
 # Test for op r64, r64, r/m64
        mulx rsi,rbx,rax
index 10c9a28e226e4cae92fa2f1795ff603d1168e0e6..51c6aa967f53ec2611f7aab40a782db14250c26e 100644 (file)
@@ -1,3 +1,11 @@
+2011-06-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       AVX Programming Reference (June, 2011)
+       * i386-dis.c (vex_len_table): Correct rorxS.
+
+       * i386-opc.tbl: Correct rorx.
+       * i386-tbl.h: Regenerated.
+
 2011-06-29  H.J. Lu  <hongjiu.lu@intel.com>
 
        * tilegx-opc.c (find_opcode): Replace "index" with "i".
index 16263656fc440bc6870c7e3d0c90532481d15738..04ab2bd9b80941453535a415156129f3edfd42c6 100644 (file)
@@ -8961,7 +8961,7 @@ static const struct dis386 vex_len_table[][2] = {
 
   /* VEX_LEN_0F3AF0_P_3 */
   {
-    { "rorxS",         { Gdq, VexGdq, Edq, Ib } },
+    { "rorxS",         { Gv, Ev, Ib } },
   },
 
   /* VEX_LEN_0FXOP_09_80 */
index a6836b7d3004527bf71a87f237f23be85b5f397b..4c29ab7f335fba304e081be653e417bb6c1501f7 100644 (file)
@@ -2692,7 +2692,7 @@ bzhi, 3, 0xf5, None, 1, CpuBMI2, Modrm|CheckRegSize|Vex=3|VexOpcode=1|VexVVVV=1|
 mulx, 3, 0xf2f6, None, 1, CpuBMI2, Modrm|CheckRegSize|Vex=3|VexOpcode=1|VexVVVV=1|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg32|Reg64, Reg32|Reg64 }
 pdep, 3, 0xf2f5, None, 1, CpuBMI2, Modrm|CheckRegSize|Vex=3|VexOpcode=1|VexVVVV=1|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg32|Reg64, Reg32|Reg64 }
 pext, 3, 0xf3f5, None, 1, CpuBMI2, Modrm|CheckRegSize|Vex=3|VexOpcode=1|VexVVVV=1|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg32|Reg64, Reg32|Reg64 }
-rorx, 4, 0xf2f0, None, 1, CpuBMI2, Modrm|CheckRegSize|Vex=3|VexOpcode=2|VexVVVV=1|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Imm8, Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg32|Reg64, Reg32|Reg64 }
+rorx, 3, 0xf2f0, None, 1, CpuBMI2, Modrm|CheckRegSize|Vex=3|VexOpcode=2|VexVVVV=0|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Imm8, Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg32|Reg64 }
 sarx, 3, 0xf3f7, None, 1, CpuBMI2, Modrm|CheckRegSize|Vex=3|VexOpcode=1|VexVVVV=1|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64, Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg32|Reg64 }
 shlx, 3, 0x66f7, None, 1, CpuBMI2, Modrm|CheckRegSize|Vex=3|VexOpcode=1|VexVVVV=1|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64, Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg32|Reg64 }
 shrx, 3, 0xf2f7, None, 1, CpuBMI2, Modrm|CheckRegSize|Vex=3|VexOpcode=1|VexVVVV=1|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64, Reg32|Reg64|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg32|Reg64 }
index ac4764603f5c5d8430792e2a229a46f41006c146..941164c74abfb7e3f459725ead089794bce1f561 100644 (file)
@@ -31708,12 +31708,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },
-  { "rorx", 4, 0xf2f0, None, 1,
+  { "rorx", 3, 0xf2f0, 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, 1, 0, 0, 0, 0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0
       0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 
@@ -31721,9 +31721,6 @@ const insn_template i386_optab[] =
       { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 
          0, 0, 1, 0, 0, 0 } },
-      { { 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-         0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },