x86: avoid attaching suffix to register-only CRC32
authorJan Beulich <jbeulich@suse.com>
Tue, 14 Jul 2020 08:25:43 +0000 (10:25 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 14 Jul 2020 08:25:43 +0000 (10:25 +0200)
Just like other insns with GPR operands, CRC32 with only register
operands should not get a suffix added unless in suffix-always mode.
Do away with CRC32_Fixup() altogether, using other more generic logic
instead.

35 files changed:
gas/ChangeLog
gas/testsuite/gas/i386/arch-10-bdver1.d
gas/testsuite/gas/i386/arch-10-bdver2.d
gas/testsuite/gas/i386/arch-10-bdver3.d
gas/testsuite/gas/i386/arch-10-bdver4.d
gas/testsuite/gas/i386/arch-10-btver1.d
gas/testsuite/gas/i386/arch-10-btver2.d
gas/testsuite/gas/i386/arch-10-lzcnt.d
gas/testsuite/gas/i386/arch-10-prefetchw.d
gas/testsuite/gas/i386/arch-10.d
gas/testsuite/gas/i386/arch-2.d
gas/testsuite/gas/i386/arch-3.d
gas/testsuite/gas/i386/arch-5.d
gas/testsuite/gas/i386/arch-6.d
gas/testsuite/gas/i386/crc32-suffix.d [new file with mode: 0644]
gas/testsuite/gas/i386/crc32.d
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/sse-noavx.d
gas/testsuite/gas/i386/sse4_2.d
gas/testsuite/gas/i386/x86-64-arch-2-bdver1.d
gas/testsuite/gas/i386/x86-64-arch-2-bdver2.d
gas/testsuite/gas/i386/x86-64-arch-2-bdver3.d
gas/testsuite/gas/i386/x86-64-arch-2-bdver4.d
gas/testsuite/gas/i386/x86-64-arch-2-btver1.d
gas/testsuite/gas/i386/x86-64-arch-2-btver2.d
gas/testsuite/gas/i386/x86-64-arch-2-lzcnt.d
gas/testsuite/gas/i386/x86-64-arch-2-prefetchw.d
gas/testsuite/gas/i386/x86-64-arch-2.d
gas/testsuite/gas/i386/x86-64-crc32-suffix.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-crc32.d
gas/testsuite/gas/i386/x86-64-pseudos.d
gas/testsuite/gas/i386/x86-64-sse-noavx.d
gas/testsuite/gas/i386/x86-64-sse4_2.d
opcodes/ChangeLog
opcodes/i386-dis.c

index 557e75fef4847b6fa5e4ddd674c9c1c14f9f62d2..5b44cce9ac16c73a280a2b4aa05e2f31c0ff6bd4 100644 (file)
@@ -1,3 +1,34 @@
+2020-07-14  Jan Beulich  <jbeulich@suse.com>
+
+       * testsuite/gas/i386/crc32-suffix.d,
+       testsuite/gas/i386/x86-64-crc32-suffix.d: New.
+       * testsuite/gas/i386/i386.exp: Run new tests.
+       * testsuite/gas/i386/arch-10-bdver1.d,
+       testsuite/gas/i386/arch-10-bdver2.d,
+       testsuite/gas/i386/arch-10-bdver3.d,
+       testsuite/gas/i386/arch-10-bdver4.d,
+       testsuite/gas/i386/arch-10-btver1.d,
+       testsuite/gas/i386/arch-10-btver2.d,
+       testsuite/gas/i386/arch-10-lzcnt.d,
+       testsuite/gas/i386/arch-10-prefetchw.d,
+       testsuite/gas/i386/arch-10.d, testsuite/gas/i386/arch-2.d,
+       testsuite/gas/i386/arch-3.d, testsuite/gas/i386/arch-5.d,
+       testsuite/gas/i386/arch-6.d, testsuite/gas/i386/crc32.d,
+       testsuite/gas/i386/sse-noavx.d, testsuite/gas/i386/sse4_2.d,
+       testsuite/gas/i386/x86-64-arch-2-bdver1.d,
+       testsuite/gas/i386/x86-64-arch-2-bdver2.d,
+       testsuite/gas/i386/x86-64-arch-2-bdver3.d,
+       testsuite/gas/i386/x86-64-arch-2-bdver4.d,
+       testsuite/gas/i386/x86-64-arch-2-btver1.d,
+       testsuite/gas/i386/x86-64-arch-2-btver2.d,
+       testsuite/gas/i386/x86-64-arch-2-lzcnt.d,
+       testsuite/gas/i386/x86-64-arch-2-prefetchw.d,
+       testsuite/gas/i386/x86-64-arch-2.d,
+       testsuite/gas/i386/x86-64-crc32.d,
+       testsuite/gas/i386/x86-64-pseudos.d,
+       testsuite/gas/i386/x86-64-sse-noavx.d,
+       testsuite/gas/i386/x86-64-sse4_2.d: Adjust expectations.
+
 2020-07-14  Jan Beulich  <jbeulich@suse.com>
 
        * testsuite/gas/i386/x86-64-pseudos.s: Add empty-REX tests for
index 56ffef0be821ec4d40016dad38dea108f5f7e0cd..2ca88862fd998a29c0d7cb094739db4a639132b4 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=bdver1+vmx+smx+xsaveopt+fma+movbe+ept+padlock+bmi+tbm
 #objdump: -dw
 #name: i386 arch 10 (bdver1)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%eax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%ecx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%ecx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%ecx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%esi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    0f 1f 00                nopl   \(%eax\)
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: arch-10.d
index 3f5b7b683f63efa5ca534e8b11657aecf8dd23e1..c8681f2a91b4efdd60cc06b6711ef0458f1ed5ef 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=bdver2+vmx+smx+xsaveopt+movbe+ept+padlock
 #objdump: -dw
 #name: i386 arch 10 (bdver2)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%eax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%ecx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%ecx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%ecx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%esi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    0f 1f 00                nopl   \(%eax\)
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: arch-10.d
index c52fc72775f09a2c8e6b32088485287214295279..f788594386b9f6bf435ac7607d6734823f04514a 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=bdver3+vmx+smx+movbe+ept+padlock
 #objdump: -dw
 #name: i386 arch 10 (bdver3)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%eax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%ecx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%ecx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%ecx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%esi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    0f 1f 00                nopl   \(%eax\)
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: arch-10.d
index 46ecfb259b429f6ab0e6260d817edda60c771632..e27282a77da380eef5b5de538cd84222e9f29908 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=bdver4+vmx+smx+ept+padlock
 #objdump: -dw
 #name: i386 arch 10 (bdver4)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%eax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%ecx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%ecx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%ecx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%esi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    0f 1f 00                nopl   \(%eax\)
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: arch-10.d
index d81554838653194e27fef51a9c14f3343b9b8a66..2c4ed42b95ee3300a582eb67ef5b94d9f6b0e843 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=btver1+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+movbe+ept+padlock+fma+bmi+tbm
 #objdump: -dw
 #name: i386 arch 10 (btver1)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%eax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%ecx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%ecx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%ecx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%esi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    0f 1f 00                nopl   \(%eax\)
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: arch-10.d
index 49faaafc72803006766cd715510fa4cce6b0498d..4b72131d2ad83b2aea4282671331b61daa3a36ae 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=btver2+smx+vmx+ept+padlock+fma+tbm
 #objdump: -dw
 #name: i386 arch 10 (btver2)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%eax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%ecx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%ecx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%ecx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%esi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    0f 1f 00                nopl   \(%eax\)
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: arch-10.d
index a1e040d28a21232eabc74cf378268970f7f13fa0..d772085ed06cb2ed9a6e42ef3629485ca64ad4bd 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=i686+nop+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+3dnowa+sse4a+svme+lzcnt+padlock+bmi+tbm
 #objdump: -dw
 #name: i386 arch 10 (lzcnt)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%eax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%ecx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%ecx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%ecx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%esi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    0f 1f 00                nopl   \(%eax\)
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: arch-10.d
index 8c88d94b4499c3506b2b54d7c0b428b34f535b29..2aaeb79a31c975ab147701ccceebf6894e45767e 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=i686+mmx+nop+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+sse4a+svme+lzcnt+padlock+bmi+tbm+prfchw
 #objdump: -dw
 #name: i386 arch 10 (prefetchw)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%eax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%ecx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%ecx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%ecx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%esi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    0f 1f 00                nopl   \(%eax\)
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: arch-10.d
index 52ea90a253ef7cd730274ba3877dbb509d98ee67..f97698ea64d1f4330e7fcbf2c557c5667b3f0b9a 100644 (file)
@@ -16,7 +16,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
 [      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
 [      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
+[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32  %ecx,%ebx
 [      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
 [      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
 [      ]*[a-f0-9]+:    0f 37                   getsec 
index fa4e67c9382658630e07ca7a3ee785d328a65b40..93abe76dc5af0bfa5e4500c440c752817eaf18dc 100644 (file)
@@ -11,5 +11,5 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 0f 3a 08 c1 00       roundps \$0x0,%xmm1,%xmm0
 [      ]*[a-f0-9]+:    66 0f 3a 0b c1 00       roundsd \$0x0,%xmm1,%xmm0
 [      ]*[a-f0-9]+:    66 0f 3a 0a c1 00       roundss \$0x0,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
+[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32  %ecx,%ebx
 #pass
index e60e0d1c9bdee7eaf5629c3420d61904867d6def..f6773b63866533ae4b39fbec7c3564d8c3a657c3 100644 (file)
@@ -1,15 +1,3 @@
 #objdump: -dw
 #name: i386 arch 3
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    66 0f 38 17 c1          ptest  %xmm1,%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 09 c1 00       roundpd \$0x0,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 08 c1 00       roundps \$0x0,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 0b c1 00       roundsd \$0x0,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 0a c1 00       roundss \$0x0,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-#pass
+#dump: arch-2.d
index d1604c7b8298720b2fcb1396267ab271fb444f98..7b285c05013aabdd9c3e4db1b6d8e83e43fd3350 100644 (file)
@@ -7,5 +7,5 @@ Disassembly of section .text:
 
 0+ <.text>:
 [      ]*[a-f0-9]+:    f3 0f b8 d9             popcnt %ecx,%ebx
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
+[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32  %ecx,%ebx
 #pass
index b55a5e3af9b139660fdb3b0b65b9a717fe379896..cd0d4456e8e17a6d1925a13ad23ad85c04c23f85 100644 (file)
@@ -7,5 +7,5 @@ Disassembly of section .text:
 
 0+ <.text>:
 [      ]*[a-f0-9]+:    f3 0f b8 d9             popcnt %ecx,%ebx
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
+[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32  %ecx,%ebx
 #pass
diff --git a/gas/testsuite/gas/i386/crc32-suffix.d b/gas/testsuite/gas/i386/crc32-suffix.d
new file mode 100644 (file)
index 0000000..5865b42
--- /dev/null
@@ -0,0 +1,25 @@
+#objdump: -dwMsuffix
+#name: i386 crc32 w/ suffix
+#source: crc32.s
+
+.*:     file format .*
+
+Disassembly of section .text:
+
+0+ <foo>:
+[      ]*[a-f0-9]+:    f2 0f 38 f0 06          crc32b \(%esi\),%eax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 06       crc32w \(%esi\),%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 06          crc32l \(%esi\),%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 06          crc32b \(%esi\),%eax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 06       crc32w \(%esi\),%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 06          crc32l \(%esi\),%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
+#pass
index a398a75f9a69ab4f5e06ba5f38349880a43f0d41..dd95b9f4001fe1c3bbd35c0707a5e40f886305f2 100644 (file)
@@ -9,16 +9,16 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    f2 0f 38 f0 06          crc32b \(%esi\),%eax
 [      ]*[a-f0-9]+:    66 f2 0f 38 f1 06       crc32w \(%esi\),%eax
 [      ]*[a-f0-9]+:    f2 0f 38 f1 06          crc32l \(%esi\),%eax
-[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
-[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
-[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
-[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
-[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
-[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32  %al,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32  %al,%eax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32  %ax,%eax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32  %ax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32  %eax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32  %eax,%eax
 [      ]*[a-f0-9]+:    f2 0f 38 f0 06          crc32b \(%esi\),%eax
 [      ]*[a-f0-9]+:    66 f2 0f 38 f1 06       crc32w \(%esi\),%eax
 [      ]*[a-f0-9]+:    f2 0f 38 f1 06          crc32l \(%esi\),%eax
-[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
-[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
-[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32  %al,%eax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32  %ax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32  %eax,%eax
 #pass
index 27a425a7539aa880c9f45439487c7eae509af80a..42d35779c6d9869f957ac39fcbaff7a54a45ef07 100644 (file)
@@ -149,6 +149,7 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "sse4_2-intel"
     run_dump_test "crc32"
     run_dump_test "crc32-intel"
+    run_dump_test "crc32-suffix"
     run_list_test "inval-crc32" "-al"
     run_dump_test "simd"
     run_dump_test "simd-intel"
@@ -777,6 +778,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-sse4_2-intel"
     run_dump_test "x86-64-crc32"
     run_dump_test "x86-64-crc32-intel"
+    run_dump_test "x86-64-crc32-suffix"
     run_list_test "x86-64-inval-crc32" "-al"
     run_dump_test "x86-64-simd"
     run_dump_test "x86-64-simd-intel"
index d42290915096c1ddcd0546cbecac96f443041e26..6052c6234959df3253aff6bf42f9300024f15b41 100644 (file)
@@ -7,7 +7,7 @@
 Disassembly of section .text:
 
 0+ <_start>:
-[      ]*[a-f0-9]+:    f2 0f 38 f0 d9          crc32b %cl,%ebx
+[      ]*[a-f0-9]+:    f2 0f 38 f0 d9          crc32  %cl,%ebx
 [      ]*[a-f0-9]+:    66 0f 2d d3             cvtpd2pi %xmm3,%mm2
 [      ]*[a-f0-9]+:    66 0f 2a d3             cvtpi2pd %mm3,%xmm2
 [      ]*[a-f0-9]+:    0f 2a d3                cvtpi2ps %mm3,%xmm2
index 15e09f43266805224bd1ebb5077c49c6ee48ba20..b7f76d04712b0e5a439c4937279940b660ec1938 100644 (file)
@@ -6,15 +6,15 @@
 Disassembly of section .text:
 
 0+000 <foo>:
-[      ]*[0-9a-f]+:    f2 0f 38 f0 d9          crc32b %cl,%ebx
-[      ]*[0-9a-f]+:    66 f2 0f 38 f1 d9       crc32w %cx,%ebx
-[      ]*[0-9a-f]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
+[      ]*[0-9a-f]+:    f2 0f 38 f0 d9          crc32  %cl,%ebx
+[      ]*[0-9a-f]+:    66 f2 0f 38 f1 d9       crc32  %cx,%ebx
+[      ]*[0-9a-f]+:    f2 0f 38 f1 d9          crc32  %ecx,%ebx
 [      ]*[0-9a-f]+:    f2 0f 38 f0 19          crc32b \(%ecx\),%ebx
 [      ]*[0-9a-f]+:    66 f2 0f 38 f1 19       crc32w \(%ecx\),%ebx
 [      ]*[0-9a-f]+:    f2 0f 38 f1 19          crc32l \(%ecx\),%ebx
-[      ]*[0-9a-f]+:    f2 0f 38 f0 d9          crc32b %cl,%ebx
-[      ]*[0-9a-f]+:    66 f2 0f 38 f1 d9       crc32w %cx,%ebx
-[      ]*[0-9a-f]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
+[      ]*[0-9a-f]+:    f2 0f 38 f0 d9          crc32  %cl,%ebx
+[      ]*[0-9a-f]+:    66 f2 0f 38 f1 d9       crc32  %cx,%ebx
+[      ]*[0-9a-f]+:    f2 0f 38 f1 d9          crc32  %ecx,%ebx
 [      ]*[0-9a-f]+:    66 0f 38 37 01          pcmpgtq \(%ecx\),%xmm0
 [      ]*[0-9a-f]+:    66 0f 38 37 c1          pcmpgtq %xmm1,%xmm0
 [      ]*[0-9a-f]+:    66 0f 3a 61 01 00       pcmpestri \$0x0,\(%ecx\),%xmm0
@@ -33,15 +33,15 @@ Disassembly of section .text:
 [      ]*[0-9a-f]+:    f3 0f b8 d9             popcnt %ecx,%ebx
 [      ]*[0-9a-f]+:    66 f3 0f b8 d9          popcnt %cx,%bx
 [      ]*[0-9a-f]+:    f3 0f b8 d9             popcnt %ecx,%ebx
-[      ]*[a-f0-9]+:    f2 0f 38 f0 d9          crc32b %cl,%ebx
-[      ]*[a-f0-9]+:    66 f2 0f 38 f1 d9       crc32w %cx,%ebx
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
+[      ]*[a-f0-9]+:    f2 0f 38 f0 d9          crc32  %cl,%ebx
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 d9       crc32  %cx,%ebx
+[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32  %ecx,%ebx
 [      ]*[a-f0-9]+:    f2 0f 38 f0 19          crc32b \(%ecx\),%ebx
 [      ]*[a-f0-9]+:    66 f2 0f 38 f1 19       crc32w \(%ecx\),%ebx
 [      ]*[a-f0-9]+:    f2 0f 38 f1 19          crc32l \(%ecx\),%ebx
-[      ]*[a-f0-9]+:    f2 0f 38 f0 d9          crc32b %cl,%ebx
-[      ]*[a-f0-9]+:    66 f2 0f 38 f1 d9       crc32w %cx,%ebx
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
+[      ]*[a-f0-9]+:    f2 0f 38 f0 d9          crc32  %cl,%ebx
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 d9       crc32  %cx,%ebx
+[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32  %ecx,%ebx
 [      ]*[a-f0-9]+:    66 0f 38 37 01          pcmpgtq \(%ecx\),%xmm0
 [      ]*[a-f0-9]+:    66 0f 38 37 c1          pcmpgtq %xmm1,%xmm0
 [      ]*[a-f0-9]+:    66 0f 3a 61 01 00       pcmpestri \$0x0,\(%ecx\),%xmm0
index 12264f258c5e7df39deb1e3139d45086b3cf6ca3..b08320d396a72328c302fee9beaf33dfdff13023 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=bdver1+vmx+smx+xsaveopt+fma+movbe+ept+padlock+bmi+tbm
 #objdump: -dw
 #name: x86-64 arch 2 (bdver1)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%rax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%rcx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%rcx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%rcx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%rcx\),%ebx
-[      ]*[a-f0-9]+:    48 0f c7 0e             cmpxchg16b \(%rsi\)
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%rcx\),%rbx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%rsi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: x86-64-arch-2.d
index fe1e55b7581c708446888cdb993987e8a59fef51..4740a8ab42c5402e9cf8d3154ac231eca3aa238d 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=bdver2+vmx+smx+xsaveopt+movbe+ept+padlock
 #objdump: -dw
 #name: x86-64 arch 2 (bdver2)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%rax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%rcx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%rcx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%rcx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%rcx\),%ebx
-[      ]*[a-f0-9]+:    48 0f c7 0e             cmpxchg16b \(%rsi\)
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%rcx\),%rbx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%rsi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: x86-64-arch-2.d
index 57b237677aa07a4addc42d5098c1842e50614a2b..57b1fb4eba0690e791f3292f230f163354554c10 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=bdver3+vmx+smx+movbe+ept+padlock
 #objdump: -dw
 #name: x86-64 arch 2 (bdver3)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%rax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%rcx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%rcx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%rcx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%rcx\),%ebx
-[      ]*[a-f0-9]+:    48 0f c7 0e             cmpxchg16b \(%rsi\)
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%rcx\),%rbx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%rsi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: x86-64-arch-2.d
index 9625775a07c7b7ffb2ec0bc92c639759663bafb6..c7a00f6040c932eaaad23660360d9f97761a16a5 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=bdver4+vmx+smx+ept+padlock
 #objdump: -dw
 #name: x86-64 arch 2 (bdver4)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%rax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%rcx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%rcx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%rcx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%rcx\),%ebx
-[      ]*[a-f0-9]+:    48 0f c7 0e             cmpxchg16b \(%rsi\)
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%rcx\),%rbx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%rsi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: x86-64-arch-2.d
index fb654974e3ed8ef80045b34dfe70797fd7c8a663..1a25d66b6d0390a765eb07917458c2e9268317c2 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=btver1+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+movbe+ept+padlock+fma+bmi+tbm
 #objdump: -dw
 #name: x86-64 arch 2 (btver1)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%rax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%rcx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%rcx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%rcx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%rcx\),%ebx
-[      ]*[a-f0-9]+:    48 0f c7 0e             cmpxchg16b \(%rsi\)
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%rcx\),%rbx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%rsi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: x86-64-arch-2.d
index 028b7c1ac739ad54926bb84c8b65f625a9d415df..4ab9cceae082f21deb94540785081103dde64c14 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=btver2+smx+vmx+ept+padlock+fma+tbm
 #objdump: -dw
 #name: x86-64 arch 2 (btver2)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%rax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%rcx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%rcx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%rcx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%rcx\),%ebx
-[      ]*[a-f0-9]+:    48 0f c7 0e             cmpxchg16b \(%rsi\)
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%rcx\),%rbx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%rsi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: x86-64-arch-2.d
index 81c9dead4a0c35dbc67458687fd73fc636813389..eac5830dc0bf04f5608cac30cf18738f6e460e0a 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=generic64+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+cx16+ept+clflush+syscall+rdtscp+3dnowa+sse4a+svme+lzcnt+padlock+bmi+tbm
 #objdump: -dw
 #name: x86-64 arch 2 (lzcnt)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%rax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%rcx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%rcx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%rcx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%rcx\),%ebx
-[      ]*[a-f0-9]+:    48 0f c7 0e             cmpxchg16b \(%rsi\)
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%rcx\),%rbx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%rsi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: x86-64-arch-2.d
index 35c1c961ccba6feb79d50d7c82368de1b1a93f35..0e8c0739c8799e4a9b0643c914c8d79648daeb04 100644 (file)
@@ -2,41 +2,4 @@
 #as: -march=generic64+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+cx16+ept+clflush+syscall+rdtscp+sse4a+svme+lzcnt+padlock+bmi+tbm+prfchw
 #objdump: -dw
 #name: x86-64 arch 2 (prefetchw)
-
-.*:     file format .*
-
-Disassembly of section .text:
-
-0+ <.text>:
-[      ]*[a-f0-9]+:    0f 44 d8                cmove  %eax,%ebx
-[      ]*[a-f0-9]+:    0f ae 38                clflush \(%rax\)
-[      ]*[a-f0-9]+:    0f 05                   syscall 
-[      ]*[a-f0-9]+:    0f fc dc                paddb  %mm4,%mm3
-[      ]*[a-f0-9]+:    f3 0f 58 dc             addss  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 58 dc             addsd  %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
-[      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
-[      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
-[      ]*[a-f0-9]+:    0f 37                   getsec 
-[      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
-[      ]*[a-f0-9]+:    0f ae 31                xsaveopt \(%rcx\)
-[      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%rcx\),%xmm0
-[      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
-[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%rcx\),%xmm0,%xmm2
-[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%rcx\),%ebx
-[      ]*[a-f0-9]+:    48 0f c7 0e             cmpxchg16b \(%rsi\)
-[      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%rcx\),%rbx
-[      ]*[a-f0-9]+:    0f 01 f9                rdtscp 
-[      ]*[a-f0-9]+:    0f 0d 0c 75 00 10 00 00         prefetchw 0x1000\(,%rsi,2\)
-[      ]*[a-f0-9]+:    f2 0f 79 ca             insertq %xmm2,%xmm1
-[      ]*[a-f0-9]+:    0f 01 da                vmload 
-[      ]*[a-f0-9]+:    f3 0f bd d9             lzcnt  %ecx,%ebx
-[      ]*[a-f0-9]+:    0f a7 c0                xstore-rng 
-[      ]*[a-f0-9]+:    c4 e2 60 f3 c9          blsr   %ecx,%ebx
-[      ]*[a-f0-9]+:    8f e9 60 01 c9          blcfill %ecx,%ebx
-#pass
+#dump: x86-64-arch-2.d
index be30aa7e375222689c3447523f7e7cc988cea62f..d175c15f841c1003a4328c3843b9f40c55a61507 100644 (file)
@@ -16,7 +16,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 0f d0 dc             addsubpd %xmm4,%xmm3
 [      ]*[a-f0-9]+:    66 0f 38 01 dc          phaddw %xmm4,%xmm3
 [      ]*[a-f0-9]+:    66 0f 38 41 d9          phminposuw %xmm1,%xmm3
-[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
+[      ]*[a-f0-9]+:    f2 0f 38 f1 d9          crc32  %ecx,%ebx
 [      ]*[a-f0-9]+:    c5 fc 77                vzeroall 
 [      ]*[a-f0-9]+:    0f 01 c4                vmxoff 
 [      ]*[a-f0-9]+:    0f 37                   getsec 
diff --git a/gas/testsuite/gas/i386/x86-64-crc32-suffix.d b/gas/testsuite/gas/i386/x86-64-crc32-suffix.d
new file mode 100644 (file)
index 0000000..96f2f07
--- /dev/null
@@ -0,0 +1,35 @@
+#objdump: -dwMsuffix
+#name: x86-64 crc32 w/ suffix
+#source: x86-64-crc32.s
+
+.*:     file format .*
+
+Disassembly of section .text:
+
+0+ <foo>:
+[      ]*[a-f0-9]+:    f2 0f 38 f0 06          crc32b \(%rsi\),%eax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f0 06       crc32b \(%rsi\),%rax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 06       crc32w \(%rsi\),%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 06          crc32l \(%rsi\),%eax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f1 06       crc32q \(%rsi\),%rax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f0 c0       crc32b %al,%rax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f0 c0       crc32b %al,%rax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f1 c0       crc32q %rax,%rax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f1 c0       crc32q %rax,%rax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f0 06       crc32b \(%rsi\),%rax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 06          crc32b \(%rsi\),%eax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 06       crc32w \(%rsi\),%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 06          crc32l \(%rsi\),%eax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f1 06       crc32q \(%rsi\),%rax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f0 c0       crc32b %al,%rax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f1 c0       crc32q %rax,%rax
+#pass
index 1a33fac02d856b5c2a67cc0b23e54e53174f3771..add7eb989391b39c88453bbcbbef247eafd479a4 100644 (file)
@@ -11,24 +11,24 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 f2 0f 38 f1 06       crc32w \(%rsi\),%eax
 [      ]*[a-f0-9]+:    f2 0f 38 f1 06          crc32l \(%rsi\),%eax
 [      ]*[a-f0-9]+:    f2 48 0f 38 f1 06       crc32q \(%rsi\),%rax
-[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
-[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
-[      ]*[a-f0-9]+:    f2 48 0f 38 f0 c0       crc32b %al,%rax
-[      ]*[a-f0-9]+:    f2 48 0f 38 f0 c0       crc32b %al,%rax
-[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
-[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
-[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
-[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
-[      ]*[a-f0-9]+:    f2 48 0f 38 f1 c0       crc32q %rax,%rax
-[      ]*[a-f0-9]+:    f2 48 0f 38 f1 c0       crc32q %rax,%rax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32  %al,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32  %al,%eax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f0 c0       crc32  %al,%rax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f0 c0       crc32  %al,%rax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32  %ax,%eax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32  %ax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32  %eax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32  %eax,%eax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f1 c0       crc32  %rax,%rax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f1 c0       crc32  %rax,%rax
 [      ]*[a-f0-9]+:    f2 48 0f 38 f0 06       crc32b \(%rsi\),%rax
 [      ]*[a-f0-9]+:    f2 0f 38 f0 06          crc32b \(%rsi\),%eax
 [      ]*[a-f0-9]+:    66 f2 0f 38 f1 06       crc32w \(%rsi\),%eax
 [      ]*[a-f0-9]+:    f2 0f 38 f1 06          crc32l \(%rsi\),%eax
 [      ]*[a-f0-9]+:    f2 48 0f 38 f1 06       crc32q \(%rsi\),%rax
-[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32b %al,%eax
-[      ]*[a-f0-9]+:    f2 48 0f 38 f0 c0       crc32b %al,%rax
-[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32w %ax,%eax
-[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32l %eax,%eax
-[      ]*[a-f0-9]+:    f2 48 0f 38 f1 c0       crc32q %rax,%rax
+[      ]*[a-f0-9]+:    f2 0f 38 f0 c0          crc32  %al,%eax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f0 c0       crc32  %al,%rax
+[      ]*[a-f0-9]+:    66 f2 0f 38 f1 c0       crc32  %ax,%eax
+[      ]*[a-f0-9]+:    f2 0f 38 f1 c0          crc32  %eax,%eax
+[      ]*[a-f0-9]+:    f2 48 0f 38 f1 c0       crc32  %rax,%rax
 #pass
index 7e17b14f5b11fefef8e73c5e03f614c78265c65a..d5f4e0571190c2c6b6c7fc45cb64ffba83aef277 100644 (file)
@@ -305,7 +305,7 @@ Disassembly of section .text:
  +[a-f0-9]+:   40 a0 01 00 00 00 00 00 00 00   rex movabs 0x1,%al
  +[a-f0-9]+:   40 38 ca                rex cmp %cl,%dl
  +[a-f0-9]+:   40 b3 01                rex mov \$(0x)?1,%bl
- +[a-f0-9]+:   f2 40 0f 38 f0 c1       rex crc32b? %cl,%eax
+ +[a-f0-9]+:   f2 40 0f 38 f0 c1       rex crc32 %cl,%eax
  +[a-f0-9]+:   40 89 c3                rex mov %eax,%ebx
  +[a-f0-9]+:   41 89 c6                mov    %eax,%r14d
  +[a-f0-9]+:   41 89 00                mov    %eax,\(%r8\)
index c83dae5a4ae59ad282490395893c058a0ff8448e..d9d17a55dfdc5eeefd70e015e34751eca455b65f 100644 (file)
@@ -8,7 +8,7 @@ Disassembly of section .text:
 
 0+ <_start>:
 [      ]*[a-f0-9]+:    48 0f c7 08             cmpxchg16b \(%rax\)
-[      ]*[a-f0-9]+:    f2 0f 38 f0 d9          crc32b %cl,%ebx
+[      ]*[a-f0-9]+:    f2 0f 38 f0 d9          crc32  %cl,%ebx
 [      ]*[a-f0-9]+:    66 0f 2d d3             cvtpd2pi %xmm3,%mm2
 [      ]*[a-f0-9]+:    66 0f 2a d3             cvtpi2pd %mm3,%xmm2
 [      ]*[a-f0-9]+:    0f 2a d3                cvtpi2ps %mm3,%xmm2
index 6f8b4b147d7bc2a6f3e2e97643af1e78b69bb774..107fddb272020ec5f30571e65a2240ab3b73ba53 100644 (file)
@@ -6,20 +6,20 @@
 Disassembly of section .text:
 
 0+000 <foo>:
-[      ]*[0-9a-f]+:    f2 0f 38 f0 d9          crc32b %cl,%ebx
-[      ]*[0-9a-f]+:    f2 48 0f 38 f0 d9       crc32b %cl,%rbx
-[      ]*[0-9a-f]+:    66 f2 0f 38 f1 d9       crc32w %cx,%ebx
-[      ]*[0-9a-f]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[0-9a-f]+:    f2 48 0f 38 f1 d9       crc32q %rcx,%rbx
+[      ]*[0-9a-f]+:    f2 0f 38 f0 d9          crc32  %cl,%ebx
+[      ]*[0-9a-f]+:    f2 48 0f 38 f0 d9       crc32  %cl,%rbx
+[      ]*[0-9a-f]+:    66 f2 0f 38 f1 d9       crc32  %cx,%ebx
+[      ]*[0-9a-f]+:    f2 0f 38 f1 d9          crc32  %ecx,%ebx
+[      ]*[0-9a-f]+:    f2 48 0f 38 f1 d9       crc32  %rcx,%rbx
 [      ]*[0-9a-f]+:    f2 0f 38 f0 19          crc32b \(%rcx\),%ebx
 [      ]*[0-9a-f]+:    66 f2 0f 38 f1 19       crc32w \(%rcx\),%ebx
 [      ]*[0-9a-f]+:    f2 0f 38 f1 19          crc32l \(%rcx\),%ebx
 [      ]*[0-9a-f]+:    f2 48 0f 38 f1 19       crc32q \(%rcx\),%rbx
-[      ]*[0-9a-f]+:    f2 0f 38 f0 d9          crc32b %cl,%ebx
-[      ]*[0-9a-f]+:    f2 48 0f 38 f0 d9       crc32b %cl,%rbx
-[      ]*[0-9a-f]+:    66 f2 0f 38 f1 d9       crc32w %cx,%ebx
-[      ]*[0-9a-f]+:    f2 0f 38 f1 d9          crc32l %ecx,%ebx
-[      ]*[0-9a-f]+:    f2 48 0f 38 f1 d9       crc32q %rcx,%rbx
+[      ]*[0-9a-f]+:    f2 0f 38 f0 d9          crc32  %cl,%ebx
+[      ]*[0-9a-f]+:    f2 48 0f 38 f0 d9       crc32  %cl,%rbx
+[      ]*[0-9a-f]+:    66 f2 0f 38 f1 d9       crc32  %cx,%ebx
+[      ]*[0-9a-f]+:    f2 0f 38 f1 d9          crc32  %ecx,%ebx
+[      ]*[0-9a-f]+:    f2 48 0f 38 f1 d9       crc32  %rcx,%rbx
 [      ]*[0-9a-f]+:    66 0f 38 37 01          pcmpgtq \(%rcx\),%xmm0
 [      ]*[0-9a-f]+:    66 0f 38 37 c1          pcmpgtq %xmm1,%xmm0
 [      ]*[0-9a-f]+:    66 0f 3a 61 01 00       pcmpestril? \$0x0,\(%rcx\),%xmm0
index 4ac10ce186dd02f08a79c4c7435f33d5b3cbdf88..42a2cc69ea0af7c74bfb20def868ae9ad5dc666e 100644 (file)
@@ -1,3 +1,8 @@
+2020-07-14  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (CRC32_Fixup): Delete.
+       (prefix_table): Use Eb/Ev for crc32 entries.
+
 2020-07-14  Jan Beulich  <jbeulich@suse.com>
 
        * i386-dis.c (OP_E_register, OP_G, OP_REG, CRC32_Fixup):
index 4940c8a93d7d96150beb9cde8cd255707fc55807..3199a1740de81e7d87bd4e3737a01f46f1bc46d8 100644 (file)
@@ -115,7 +115,6 @@ static void HLE_Fixup2 (int, int);
 static void HLE_Fixup3 (int, int);
 static void CMPXCHG8B_Fixup (int, int);
 static void XMM_Fixup (int, int);
-static void CRC32_Fixup (int, int);
 static void FXSAVE_Fixup (int, int);
 static void PCMPESTR_Fixup (int, int);
 
@@ -4426,7 +4425,7 @@ static const struct dis386 prefix_table[][4] = {
     { "movbeS",        { Gv, { MOVBE_Fixup, v_mode } }, PREFIX_OPCODE },
     { Bad_Opcode },
     { "movbeS",        { Gv, { MOVBE_Fixup, v_mode } }, PREFIX_OPCODE },
-    { "crc32", { Gdq, { CRC32_Fixup, b_mode } }, PREFIX_OPCODE },
+    { "crc32A",        { Gdq, Eb }, PREFIX_OPCODE },
   },
 
   /* PREFIX_0F38F1 */
@@ -4434,7 +4433,7 @@ static const struct dis386 prefix_table[][4] = {
     { "movbeS",        { { MOVBE_Fixup, v_mode }, Gv }, PREFIX_OPCODE },
     { Bad_Opcode },
     { "movbeS",        { { MOVBE_Fixup, v_mode }, Gv }, PREFIX_OPCODE },
-    { "crc32", { Gdq, { CRC32_Fixup, v_mode } }, PREFIX_OPCODE },
+    { "crc32Q",        { Gdq, Ev }, PREFIX_OPCODE },
   },
 
   /* PREFIX_0F38F5 */
@@ -16369,78 +16368,6 @@ XMM_Fixup (int reg, int sizeflag ATTRIBUTE_UNUSED)
   oappend (names[reg]);
 }
 
-static void
-CRC32_Fixup (int bytemode, int sizeflag)
-{
-  /* Add proper suffix to "crc32".  */
-  char *p = mnemonicendp;
-
-  switch (bytemode)
-    {
-    case b_mode:
-      if (intel_syntax)
-       goto skip;
-
-      *p++ = 'b';
-      break;
-    case v_mode:
-      if (intel_syntax)
-       goto skip;
-
-      USED_REX (REX_W);
-      if (rex & REX_W)
-       *p++ = 'q';
-      else
-       {
-         if (sizeflag & DFLAG)
-           *p++ = 'l';
-         else
-           *p++ = 'w';
-         used_prefixes |= (prefixes & PREFIX_DATA);
-       }
-      break;
-    default:
-      oappend (INTERNAL_DISASSEMBLER_ERROR);
-      break;
-    }
-  mnemonicendp = p;
-  *p = '\0';
-
- skip:
-  if (modrm.mod == 3)
-    {
-      int add;
-
-      /* Skip mod/rm byte.  */
-      MODRM_CHECK;
-      codep++;
-
-      USED_REX (REX_B);
-      add = (rex & REX_B) ? 8 : 0;
-      if (bytemode == b_mode)
-       {
-         if (modrm.rm & 4)
-           USED_REX (0);
-         if (rex)
-           oappend (names8rex[modrm.rm + add]);
-         else
-           oappend (names8[modrm.rm + add]);
-       }
-      else
-       {
-         USED_REX (REX_W);
-         if (rex & REX_W)
-           oappend (names64[modrm.rm + add]);
-         else if ((prefixes & PREFIX_DATA))
-           oappend (names16[modrm.rm + add]);
-         else
-           oappend (names32[modrm.rm + add]);
-       }
-    }
-  else
-    OP_E (bytemode, sizeflag);
-}
-
 static void
 FXSAVE_Fixup (int bytemode, int sizeflag)
 {