]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
x86/APX: legacy promoted insns can't access %xmm16-%xmm31
authorJan Beulich <jbeulich@suse.com>
Fri, 15 Mar 2024 09:29:35 +0000 (10:29 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 15 Mar 2024 09:29:35 +0000 (10:29 +0100)
Irrespective of the encoding being EVEX, the usable SIMD register range
continues to be limited to %xmm0-%xmm15. Enforce this in gas (but
continue to generate code, as in principle we know how to encode
things) and recognize/flag the case in the disassembler.

Oddly enough wrong forms were actually used in the testsuite (register-
only forms are then really meaningless to test here, and are hence
dropped instead of adjusted).

Convert the POP2 test that needs touching anyway (due to a bad ModR/M
byte having been chosen) to .insn.

gas/config/tc-i386.c
gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l
gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s
gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.d
gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s
gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d
gas/testsuite/gas/i386/x86-64-apx-evex-promoted-wig.d
gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d
gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s
opcodes/i386-dis.c

index 85dc79f7a1c1bad106b043ade4227cee2f5a7eb1..735c59bbd5437da3861a35009185089e5bc85b1e 100644 (file)
@@ -10016,6 +10016,13 @@ process_operands (void)
   for (unsigned int j = 0; j < i.operands; j++)
     if (i.types[j].bitfield.instance != InstanceNone)
       i.reg_operands--;
+    else if (i.tm.opcode_space == SPACE_EVEXMAP4
+            && i.types[j].bitfield.class == RegSIMD
+            && (i.op[j].regs->reg_flags & RegVRex)
+            && !dot_insn ())
+      /* Just raise an error, but continue processing.  */
+      as_bad (_("`%s%s' cannot be used with `%s'"),
+             register_prefix, i.op[j].regs->reg_name, insn_name (&i.tm));
 
   if (i.tm.opcode_modifier.sse2avx)
     {
index 6f06df919056aaa937ad880fcb55321e50db48b0..547b98f5778303a90811b7b1ff9e5467b35cc2b4 100644 (file)
 .*:25: Error: `andn' is not supported on `x86_64.nobmi'
 .*:28: Error: `bzhi' is not supported on `x86_64.nobmi2'
 .*:29: Error: `bzhi' is not supported on `x86_64.nobmi2'
-.*:33: Error: .*`andn'.*
-.*:34: Error: .*`bzhi'.*
-.*:35: Error: .*`kmovw'.*
-.*:36: Error: .*`kmovq'.*
-.*:37: Error: .*`kmovb'.*
-.*:38: Error: .*`ldtilecfg'.*
-.*:39: Error: .*`cmpexadd'.*
+.*:32: Error: .*`%?xmm20'.*`aesenc128kl'.*
+.*:33: Error: .*`%?xmm20'.*`sha1msg1'.*
+.*:34: Error: .*`%?xmm20'.*`sha256msg2'.*
+.*:37: Error: .*`andn'.*
+.*:38: Error: .*`bzhi'.*
+.*:39: Error: .*`kmovw'.*
+.*:40: Error: .*`kmovq'.*
+.*:41: Error: .*`kmovb'.*
+.*:42: Error: .*`ldtilecfg'.*
+.*:43: Error: .*`cmpexadd'.*
 GAS LISTING .*
 #...
 [      ]*1[    ]+\# Check illegal 64bit APX EVEX promoted instructions
index 5e4e08fa2fdedefeb1e6a7eae73e150dd7b475c9..8065b1a9710cb5296f43838fa94c3bf02d1869e1 100644 (file)
        bzhi %r15,%r15,%r11
 
        .arch default
+       aesenc128kl (%rax), %xmm20
+       sha1msg1 %xmm20, %xmm0
+       sha256msg2 (%rax), %xmm20
+
        .arch .noapx_f
        {evex} andn %r15, %r15, %r11
        {evex} bzhi %r15, %r15, %r11
index 57bdf64c8582a7e684f6e53800326d0ce154550c..5f96df95a35777c58cbe54ec42a4a093a1411993 100644 (file)
@@ -1,3 +1,4 @@
+#as: --divide
 #objdump: -dw
 #name: x86-64 EVEX-promoted bad
 
@@ -37,6 +38,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:[   ]+62 f4 3c[     ]+\(bad\)
 [      ]*[a-f0-9]+:[   ]+08 8f c0 ff ff ff[    ]+or.*
 [      ]*[a-f0-9]+:[   ]+62 74 7c 18 8f c0[    ]+pop2   %rax,\(bad\)
-[      ]*[a-f0-9]+:[   ]+62 d4 3c 18 8f[       ]+\(bad\)
-[      ]*[a-f0-9]+:[   ]+c0[   ]+.*
+[      ]*[a-f0-9]+:[   ]+62 d4 24 18 8f[       ]+\(bad\)
+[      ]*[a-f0-9]+:[   ]+c3[   ]+.*
+[      ]*[a-f0-9]+:[   ]+62 e4 7e 08 dc 20[    ]+aesenc128kl \(%rax\),%xmm20\(bad\)
+[      ]*[a-f0-9]+:[   ]+62 b4 7c 08 d9 c4[    ]+sha1msg1 %xmm20\(bad\),%xmm0
+[      ]*[a-f0-9]+:[   ]+62 e4 7c 08 d9 20[    ]+sha1msg1 \(%rax\),%xmm20\(bad\)
 #pass
index 61ed88244287733b5451f989d55bb65ca40b8eed..668e4a29f06a066bad0530ede97fc15739c3ace3 100644 (file)
@@ -45,5 +45,15 @@ _start:
        .byte 0xff, 0xff, 0xff
        # pop2 %rax, %r8 set EVEX.vvvv = 1111.
        .insn EVEX.L0.M4.W0 0x8f,  %rax, {rn-sae},%r8
-       # pop2 %r8, %r8.
-       .byte 0x62, 0xd4, 0x3c, 0x18, 0x8f, 0xc0
+
+       # pop2 %r11, %r11
+       .insn EVEX.L0.NP.M4.W0 0x8f/0, {sae}, %xmm11, %xmm11
+
+       # aesenc128kl (%rax), %xmm20
+       .insn EVEX.L0.F3.M4.W0 0xdc, (%rax), %xmm20
+
+       # sha1msg1 %xmm20, %xmm0
+       .insn EVEX.L0.NP.M4.W0 0xd9, %xmm20, %xmm0
+
+       # sha1msg1 (%rax), %xmm20
+       .insn EVEX.L0.NP.M4.W0 0xd9, (%rax), %xmm20
index 1b20ffaf513f6b4092162253bde363c7000c0691..9c88880191b7b6b2cccf8671bb33ebfb2216596d 100644 (file)
@@ -12,12 +12,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 4c fc 08 fc bc 87 23 01 00 00[     ]+aadd[         ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
 [       ]*[a-f0-9]+:[   ]*62 4c 7d 08 fc 8c 87 23 01 00 00[     ]+aand[         ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
 [       ]*[a-f0-9]+:[   ]*62 4c fd 08 fc bc 87 23 01 00 00[     ]+aand[         ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 dd b4 87 23 01 00 00[     ]+aesdec128kl xmm22,\[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 df b4 87 23 01 00 00[     ]+aesdec256kl xmm22,\[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 dd a4 87 23 01 00 00[     ]+aesdec128kl xmm12,\[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 df a4 87 23 01 00 00[     ]+aesdec256kl xmm12,\[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 8c 87 23 01 00 00[     ]+aesdecwide128kl[      ]+\[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 9c 87 23 01 00 00[     ]+aesdecwide256kl[      ]+\[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 dc b4 87 23 01 00 00[     ]+aesenc128kl xmm22,\[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 de b4 87 23 01 00 00[     ]+aesenc256kl xmm22,\[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 dc a4 87 23 01 00 00[     ]+aesenc128kl xmm12,\[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 de a4 87 23 01 00 00[     ]+aesenc256kl xmm12,\[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 84 87 23 01 00 00[     ]+aesencwide128kl[      ]+\[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 94 87 23 01 00 00[     ]+aesencwide256kl[      ]+\[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 4c 7f 08 fc 8c 87 23 01 00 00[     ]+aor[  ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
@@ -133,18 +133,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 5a 86 08 f5 df[    ]+pext[         ]+r11,r15,r31
 [       ]*[a-f0-9]+:[   ]*62 da 36 00 f5 94 87 23 01 00 00[     ]+pext[         ]+edx,r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 5a 86 00 f5 bc 87 23 01 00 00[     ]+pext[         ]+r15,r31,QWORD PTR \[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d9 f7[    ]+sha1msg1 xmm22,xmm23
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d9 b4 87 23 01 00 00[     ]+sha1msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 da f7[    ]+sha1msg2 xmm22,xmm23
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 da b4 87 23 01 00 00[     ]+sha1msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d8 f7[    ]+sha1nexte xmm22,xmm23
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d8 b4 87 23 01 00 00[     ]+sha1nexte xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d4 f7 7b[         ]+sha1rnds4 xmm22,xmm23,0x7b
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[  ]+sha1rnds4 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\],0x7b
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 dc f7[    ]+sha256msg1 xmm22,xmm23
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 dc b4 87 23 01 00 00[     ]+sha256msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 dd f7[    ]+sha256msg2 xmm22,xmm23
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 dd b4 87 23 01 00 00[     ]+sha256msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d9 a4 87 23 01 00 00[     ]+sha1msg1 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 da a4 87 23 01 00 00[     ]+sha1msg2 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d8 a4 87 23 01 00 00[     ]+sha1nexte xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d4 a4 87 23 01 00 00 7b[  ]+sha1rnds4 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\],0x7b
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 dc a4 87 23 01 00 00[     ]+sha256msg1 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 dd a4 87 23 01 00 00[     ]+sha256msg2 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 5c 7c 08 db a4 87 23 01 00 00[     ]+sha256rnds2 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\],xmm0
 [       ]*[a-f0-9]+:[   ]*62 72 35 00 f7 d2[    ]+shlx[         ]+r10d,edx,r25d
 [       ]*[a-f0-9]+:[   ]*62 da 35 00 f7 94 87 23 01 00 00[     ]+shlx[         ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d
@@ -176,12 +170,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 4c fc 08 fc bc 87 23 01 00 00[     ]+aadd[         ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
 [       ]*[a-f0-9]+:[   ]*62 4c 7d 08 fc 8c 87 23 01 00 00[     ]+aand[         ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
 [       ]*[a-f0-9]+:[   ]*62 4c fd 08 fc bc 87 23 01 00 00[     ]+aand[         ]+QWORD PTR \[r31\+rax\*4\+0x123\],r31
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 dd b4 87 23 01 00 00[     ]+aesdec128kl xmm22,\[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 df b4 87 23 01 00 00[     ]+aesdec256kl xmm22,\[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 dd a4 87 23 01 00 00[     ]+aesdec128kl xmm12,\[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 df a4 87 23 01 00 00[     ]+aesdec256kl xmm12,\[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 8c 87 23 01 00 00[     ]+aesdecwide128kl[      ]+\[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 9c 87 23 01 00 00[     ]+aesdecwide256kl[      ]+\[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 dc b4 87 23 01 00 00[     ]+aesenc128kl xmm22,\[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 de b4 87 23 01 00 00[     ]+aesenc256kl xmm22,\[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 dc a4 87 23 01 00 00[     ]+aesenc128kl xmm12,\[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 de a4 87 23 01 00 00[     ]+aesenc256kl xmm12,\[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 84 87 23 01 00 00[     ]+aesencwide128kl[      ]+\[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 94 87 23 01 00 00[     ]+aesencwide256kl[      ]+\[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 4c 7f 08 fc 8c 87 23 01 00 00[     ]+aor[  ]+DWORD PTR \[r31\+rax\*4\+0x123\],r25d
@@ -297,18 +291,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 5a 86 08 f5 df[    ]+pext[         ]+r11,r15,r31
 [       ]*[a-f0-9]+:[   ]*62 da 36 00 f5 94 87 23 01 00 00[     ]+pext[         ]+edx,r25d,DWORD PTR \[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 5a 86 00 f5 bc 87 23 01 00 00[     ]+pext[         ]+r15,r31,QWORD PTR \[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d9 f7[    ]+sha1msg1 xmm22,xmm23
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d9 b4 87 23 01 00 00[     ]+sha1msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 da f7[    ]+sha1msg2 xmm22,xmm23
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 da b4 87 23 01 00 00[     ]+sha1msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d8 f7[    ]+sha1nexte xmm22,xmm23
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d8 b4 87 23 01 00 00[     ]+sha1nexte xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d4 f7 7b[         ]+sha1rnds4 xmm22,xmm23,0x7b
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[  ]+sha1rnds4 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\],0x7b
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 dc f7[    ]+sha256msg1 xmm22,xmm23
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 dc b4 87 23 01 00 00[     ]+sha256msg1 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 dd f7[    ]+sha256msg2 xmm22,xmm23
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 dd b4 87 23 01 00 00[     ]+sha256msg2 xmm22,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d9 a4 87 23 01 00 00[     ]+sha1msg1 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 da a4 87 23 01 00 00[     ]+sha1msg2 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d8 a4 87 23 01 00 00[     ]+sha1nexte xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d4 a4 87 23 01 00 00 7b[  ]+sha1rnds4 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\],0x7b
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 dc a4 87 23 01 00 00[     ]+sha256msg1 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\]
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 dd a4 87 23 01 00 00[     ]+sha256msg2 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\]
 [       ]*[a-f0-9]+:[   ]*62 5c 7c 08 db a4 87 23 01 00 00[     ]+sha256rnds2 xmm12,XMMWORD PTR \[r31\+rax\*4\+0x123\],xmm0
 [       ]*[a-f0-9]+:[   ]*62 72 35 00 f7 d2[    ]+shlx[         ]+r10d,edx,r25d
 [       ]*[a-f0-9]+:[   ]*62 da 35 00 f7 94 87 23 01 00 00[     ]+shlx[         ]+edx,DWORD PTR \[r31\+rax\*4\+0x123\],r25d
index d2f30d65d88ff00ff660ea4d8ddbbd9a2b85e2f9..db6860f30a6c0755b9cc51b7fcf1730434ee1eef 100644 (file)
@@ -12,12 +12,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 4c fc 08 fc bc 87 23 01 00 00[     ]+aadd[         ]+%r31,0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c 7d 08 fc 8c 87 23 01 00 00[     ]+aand[         ]+%r25d,0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c fd 08 fc bc 87 23 01 00 00[     ]+aand[         ]+%r31,0x123\(%r31,%rax,4\)
-[       ]*[a-f0-9]+:[   ]*62 cc .e 08 dd b4 87 23 01 00 00[     ]+aesdec128kl[  ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .e 08 df b4 87 23 01 00 00[     ]+aesdec256kl[  ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c .e 08 dd a4 87 23 01 00 00[     ]+aesdec128kl[  ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .e 08 df a4 87 23 01 00 00[     ]+aesdec256kl[  ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 dc .e 08 d8 8c 87 23 01 00 00[     ]+aesdecwide128kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 dc .e 08 d8 9c 87 23 01 00 00[     ]+aesdecwide256kl[      ]+0x123\(%r31,%rax,4\)
-[       ]*[a-f0-9]+:[   ]*62 cc .e 08 dc b4 87 23 01 00 00[     ]+aesenc128kl[  ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .e 08 de b4 87 23 01 00 00[     ]+aesenc256kl[  ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c .e 08 dc a4 87 23 01 00 00[     ]+aesenc128kl[  ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .e 08 de a4 87 23 01 00 00[     ]+aesenc256kl[  ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 dc .e 08 d8 84 87 23 01 00 00[     ]+aesencwide128kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 dc .e 08 d8 94 87 23 01 00 00[     ]+aesencwide256kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c 7f 08 fc 8c 87 23 01 00 00[     ]+aor[  ]+%r25d,0x123\(%r31,%rax,4\)
@@ -133,18 +133,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 5a 86 08 f5 df[    ]+pext[         ]+%r31,%r15,%r11
 [       ]*[a-f0-9]+:[   ]*62 da 36 00 f5 94 87 23 01 00 00[     ]+pext[         ]+0x123\(%r31,%rax,4\),%r25d,%edx
 [       ]*[a-f0-9]+:[   ]*62 5a 86 00 f5 bc 87 23 01 00 00[     ]+pext[         ]+0x123\(%r31,%rax,4\),%r31,%r15
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 d9 f7[    ]+sha1msg1[     ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 d9 b4 87 23 01 00 00[     ]+sha1msg1[     ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 da f7[    ]+sha1msg2[     ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 da b4 87 23 01 00 00[     ]+sha1msg2[     ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 d8 f7[    ]+sha1nexte[    ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 d8 b4 87 23 01 00 00[     ]+sha1nexte[    ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 d4 f7 7b[         ]+sha1rnds4[    ]+\$0x7b,%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 d4 b4 87 23 01 00 00 7b[  ]+sha1rnds4[    ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 dc f7[    ]+sha256msg1[   ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 dc b4 87 23 01 00 00[     ]+sha256msg1[   ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 dd f7[    ]+sha256msg2[   ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 dd b4 87 23 01 00 00[     ]+sha256msg2[   ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 d9 a4 87 23 01 00 00[     ]+sha1msg1[     ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 da a4 87 23 01 00 00[     ]+sha1msg2[     ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 d8 a4 87 23 01 00 00[     ]+sha1nexte[    ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 d4 a4 87 23 01 00 00 7b[  ]+sha1rnds4[    ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 dc a4 87 23 01 00 00[     ]+sha256msg1[   ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 dd a4 87 23 01 00 00[     ]+sha256msg2[   ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 5c .c 08 db a4 87 23 01 00 00[     ]+sha256rnds2[  ]+%xmm0,0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 72 35 00 f7 d2[    ]+shlx[         ]+%r25d,%edx,%r10d
 [       ]*[a-f0-9]+:[   ]*62 da 35 00 f7 94 87 23 01 00 00[     ]+shlx[         ]+%r25d,0x123\(%r31,%rax,4\),%edx
@@ -176,12 +170,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 4c fc 08 fc bc 87 23 01 00 00[     ]+aadd[         ]+%r31,0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c 7d 08 fc 8c 87 23 01 00 00[     ]+aand[         ]+%r25d,0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c fd 08 fc bc 87 23 01 00 00[     ]+aand[         ]+%r31,0x123\(%r31,%rax,4\)
-[       ]*[a-f0-9]+:[   ]*62 cc .e 08 dd b4 87 23 01 00 00[     ]+aesdec128kl[  ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .e 08 df b4 87 23 01 00 00[     ]+aesdec256kl[  ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c .e 08 dd a4 87 23 01 00 00[     ]+aesdec128kl[  ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .e 08 df a4 87 23 01 00 00[     ]+aesdec256kl[  ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 dc .e 08 d8 8c 87 23 01 00 00[     ]+aesdecwide128kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 dc .e 08 d8 9c 87 23 01 00 00[     ]+aesdecwide256kl[      ]+0x123\(%r31,%rax,4\)
-[       ]*[a-f0-9]+:[   ]*62 cc .e 08 dc b4 87 23 01 00 00[     ]+aesenc128kl[  ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .e 08 de b4 87 23 01 00 00[     ]+aesenc256kl[  ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c .e 08 dc a4 87 23 01 00 00[     ]+aesenc128kl[  ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .e 08 de a4 87 23 01 00 00[     ]+aesenc256kl[  ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 dc .e 08 d8 84 87 23 01 00 00[     ]+aesencwide128kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 dc .e 08 d8 94 87 23 01 00 00[     ]+aesencwide256kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c 7f 08 fc 8c 87 23 01 00 00[     ]+aor[  ]+%r25d,0x123\(%r31,%rax,4\)
@@ -297,18 +291,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 5a 86 08 f5 df[    ]+pext[         ]+%r31,%r15,%r11
 [       ]*[a-f0-9]+:[   ]*62 da 36 00 f5 94 87 23 01 00 00[     ]+pext[         ]+0x123\(%r31,%rax,4\),%r25d,%edx
 [       ]*[a-f0-9]+:[   ]*62 5a 86 00 f5 bc 87 23 01 00 00[     ]+pext[         ]+0x123\(%r31,%rax,4\),%r31,%r15
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 d9 f7[    ]+sha1msg1[     ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 d9 b4 87 23 01 00 00[     ]+sha1msg1[     ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 da f7[    ]+sha1msg2[     ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 da b4 87 23 01 00 00[     ]+sha1msg2[     ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 d8 f7[    ]+sha1nexte[    ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 d8 b4 87 23 01 00 00[     ]+sha1nexte[    ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 d4 f7 7b[         ]+sha1rnds4[    ]+\$0x7b,%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 d4 b4 87 23 01 00 00 7b[  ]+sha1rnds4[    ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 dc f7[    ]+sha256msg1[   ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 dc b4 87 23 01 00 00[     ]+sha256msg1[   ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 .c 08 dd f7[    ]+sha256msg2[   ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc .c 08 dd b4 87 23 01 00 00[     ]+sha256msg2[   ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 d9 a4 87 23 01 00 00[     ]+sha1msg1[     ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 da a4 87 23 01 00 00[     ]+sha1msg2[     ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 d8 a4 87 23 01 00 00[     ]+sha1nexte[    ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 d4 a4 87 23 01 00 00 7b[  ]+sha1rnds4[    ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 dc a4 87 23 01 00 00[     ]+sha256msg1[   ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c .c 08 dd a4 87 23 01 00 00[     ]+sha256msg2[   ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 5c .c 08 db a4 87 23 01 00 00[     ]+sha256rnds2[  ]+%xmm0,0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 72 35 00 f7 d2[    ]+shlx[         ]+%r25d,%edx,%r10d
 [       ]*[a-f0-9]+:[   ]*62 da 35 00 f7 94 87 23 01 00 00[     ]+shlx[         ]+%r25d,0x123\(%r31,%rax,4\),%edx
index f5e859b9b76b9c6bc21a8d70871eda907decdf69..3a9d712a3468704e6e351dbfb831ff380e5439f0 100644 (file)
@@ -12,12 +12,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 4c fc 08 fc bc 87 23 01 00 00[     ]+aadd[         ]+%r31,0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c 7d 08 fc 8c 87 23 01 00 00[     ]+aand[         ]+%r25d,0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c fd 08 fc bc 87 23 01 00 00[     ]+aand[         ]+%r31,0x123\(%r31,%rax,4\)
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 dd b4 87 23 01 00 00[     ]+aesdec128kl[  ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 df b4 87 23 01 00 00[     ]+aesdec256kl[  ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 dd a4 87 23 01 00 00[     ]+aesdec128kl[  ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 df a4 87 23 01 00 00[     ]+aesdec256kl[  ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 8c 87 23 01 00 00[     ]+aesdecwide128kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 9c 87 23 01 00 00[     ]+aesdecwide256kl[      ]+0x123\(%r31,%rax,4\)
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 dc b4 87 23 01 00 00[     ]+aesenc128kl[  ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 de b4 87 23 01 00 00[     ]+aesenc256kl[  ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 dc a4 87 23 01 00 00[     ]+aesenc128kl[  ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 de a4 87 23 01 00 00[     ]+aesenc256kl[  ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 84 87 23 01 00 00[     ]+aesencwide128kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 94 87 23 01 00 00[     ]+aesencwide256kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c 7f 08 fc 8c 87 23 01 00 00[     ]+aor[  ]+%r25d,0x123\(%r31,%rax,4\)
@@ -133,18 +133,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 5a 86 08 f5 df[    ]+pext[         ]+%r31,%r15,%r11
 [       ]*[a-f0-9]+:[   ]*62 da 36 00 f5 94 87 23 01 00 00[     ]+pext[         ]+0x123\(%r31,%rax,4\),%r25d,%edx
 [       ]*[a-f0-9]+:[   ]*62 5a 86 00 f5 bc 87 23 01 00 00[     ]+pext[         ]+0x123\(%r31,%rax,4\),%r31,%r15
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d9 f7[    ]+sha1msg1[     ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d9 b4 87 23 01 00 00[     ]+sha1msg1[     ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 da f7[    ]+sha1msg2[     ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 da b4 87 23 01 00 00[     ]+sha1msg2[     ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d8 f7[    ]+sha1nexte[    ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d8 b4 87 23 01 00 00[     ]+sha1nexte[    ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d4 f7 7b[         ]+sha1rnds4[    ]+\$0x7b,%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[  ]+sha1rnds4[    ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 dc f7[    ]+sha256msg1[   ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 dc b4 87 23 01 00 00[     ]+sha256msg1[   ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 dd f7[    ]+sha256msg2[   ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 dd b4 87 23 01 00 00[     ]+sha256msg2[   ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d9 a4 87 23 01 00 00[     ]+sha1msg1[     ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 da a4 87 23 01 00 00[     ]+sha1msg2[     ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d8 a4 87 23 01 00 00[     ]+sha1nexte[    ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d4 a4 87 23 01 00 00 7b[  ]+sha1rnds4[    ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 dc a4 87 23 01 00 00[     ]+sha256msg1[   ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 dd a4 87 23 01 00 00[     ]+sha256msg2[   ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 5c 7c 08 db a4 87 23 01 00 00[     ]+sha256rnds2[  ]+%xmm0,0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 72 35 00 f7 d2[    ]+shlx[         ]+%r25d,%edx,%r10d
 [       ]*[a-f0-9]+:[   ]*62 da 35 00 f7 94 87 23 01 00 00[     ]+shlx[         ]+%r25d,0x123\(%r31,%rax,4\),%edx
@@ -176,12 +170,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 4c fc 08 fc bc 87 23 01 00 00[     ]+aadd[         ]+%r31,0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c 7d 08 fc 8c 87 23 01 00 00[     ]+aand[         ]+%r25d,0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c fd 08 fc bc 87 23 01 00 00[     ]+aand[         ]+%r31,0x123\(%r31,%rax,4\)
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 dd b4 87 23 01 00 00[     ]+aesdec128kl[  ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 df b4 87 23 01 00 00[     ]+aesdec256kl[  ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 dd a4 87 23 01 00 00[     ]+aesdec128kl[  ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 df a4 87 23 01 00 00[     ]+aesdec256kl[  ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 8c 87 23 01 00 00[     ]+aesdecwide128kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 9c 87 23 01 00 00[     ]+aesdecwide256kl[      ]+0x123\(%r31,%rax,4\)
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 dc b4 87 23 01 00 00[     ]+aesenc128kl[  ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7e 08 de b4 87 23 01 00 00[     ]+aesenc256kl[  ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 dc a4 87 23 01 00 00[     ]+aesenc128kl[  ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7e 08 de a4 87 23 01 00 00[     ]+aesenc256kl[  ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 84 87 23 01 00 00[     ]+aesencwide128kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 dc 7e 08 d8 94 87 23 01 00 00[     ]+aesencwide256kl[      ]+0x123\(%r31,%rax,4\)
 [       ]*[a-f0-9]+:[   ]*62 4c 7f 08 fc 8c 87 23 01 00 00[     ]+aor[  ]+%r25d,0x123\(%r31,%rax,4\)
@@ -297,18 +291,12 @@ Disassembly of section \.text:
 [       ]*[a-f0-9]+:[   ]*62 5a 86 08 f5 df[    ]+pext[         ]+%r31,%r15,%r11
 [       ]*[a-f0-9]+:[   ]*62 da 36 00 f5 94 87 23 01 00 00[     ]+pext[         ]+0x123\(%r31,%rax,4\),%r25d,%edx
 [       ]*[a-f0-9]+:[   ]*62 5a 86 00 f5 bc 87 23 01 00 00[     ]+pext[         ]+0x123\(%r31,%rax,4\),%r31,%r15
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d9 f7[    ]+sha1msg1[     ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d9 b4 87 23 01 00 00[     ]+sha1msg1[     ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 da f7[    ]+sha1msg2[     ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 da b4 87 23 01 00 00[     ]+sha1msg2[     ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d8 f7[    ]+sha1nexte[    ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d8 b4 87 23 01 00 00[     ]+sha1nexte[    ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 d4 f7 7b[         ]+sha1rnds4[    ]+\$0x7b,%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 d4 b4 87 23 01 00 00 7b[  ]+sha1rnds4[    ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 dc f7[    ]+sha256msg1[   ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 dc b4 87 23 01 00 00[     ]+sha256msg1[   ]+0x123\(%r31,%rax,4\),%xmm22
-[       ]*[a-f0-9]+:[   ]*62 a4 7c 08 dd f7[    ]+sha256msg2[   ]+%xmm23,%xmm22
-[       ]*[a-f0-9]+:[   ]*62 cc 7c 08 dd b4 87 23 01 00 00[     ]+sha256msg2[   ]+0x123\(%r31,%rax,4\),%xmm22
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d9 a4 87 23 01 00 00[     ]+sha1msg1[     ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 da a4 87 23 01 00 00[     ]+sha1msg2[     ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d8 a4 87 23 01 00 00[     ]+sha1nexte[    ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 d4 a4 87 23 01 00 00 7b[  ]+sha1rnds4[    ]+\$0x7b,0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 dc a4 87 23 01 00 00[     ]+sha256msg1[   ]+0x123\(%r31,%rax,4\),%xmm12
+[       ]*[a-f0-9]+:[   ]*62 5c 7c 08 dd a4 87 23 01 00 00[     ]+sha256msg2[   ]+0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 5c 7c 08 db a4 87 23 01 00 00[     ]+sha256rnds2[  ]+%xmm0,0x123\(%r31,%rax,4\),%xmm12
 [       ]*[a-f0-9]+:[   ]*62 72 35 00 f7 d2[    ]+shlx[         ]+%r25d,%edx,%r10d
 [       ]*[a-f0-9]+:[   ]*62 da 35 00 f7 94 87 23 01 00 00[     ]+shlx[         ]+%r25d,0x123\(%r31,%rax,4\),%edx
index bebfc86405589fac3a7a138b61abac82c3d470a6..0773dc562abd5394c1cfd548c2ae75c909f2df2d 100644 (file)
@@ -6,12 +6,12 @@ _start:
        aadd    %r31,0x123(%r31,%rax,4)
        aand    %r25d,0x123(%r31,%rax,4)
        aand    %r31,0x123(%r31,%rax,4)
-       aesdec128kl     0x123(%r31,%rax,4),%xmm22
-       aesdec256kl     0x123(%r31,%rax,4),%xmm22
+       aesdec128kl     0x123(%r31,%rax,4),%xmm12
+       aesdec256kl     0x123(%r31,%rax,4),%xmm12
        aesdecwide128kl 0x123(%r31,%rax,4)
        aesdecwide256kl 0x123(%r31,%rax,4)
-       aesenc128kl     0x123(%r31,%rax,4),%xmm22
-       aesenc256kl     0x123(%r31,%rax,4),%xmm22
+       aesenc128kl     0x123(%r31,%rax,4),%xmm12
+       aesenc256kl     0x123(%r31,%rax,4),%xmm12
        aesencwide128kl 0x123(%r31,%rax,4)
        aesencwide256kl 0x123(%r31,%rax,4)
        aor     %r25d,0x123(%r31,%rax,4)
@@ -127,18 +127,12 @@ _start:
        pext    %r31,%r15,%r11
        pext    0x123(%r31,%rax,4),%r25d,%edx
        pext    0x123(%r31,%rax,4),%r31,%r15
-       sha1msg1        %xmm23,%xmm22
-       sha1msg1        0x123(%r31,%rax,4),%xmm22
-       sha1msg2        %xmm23,%xmm22
-       sha1msg2        0x123(%r31,%rax,4),%xmm22
-       sha1nexte       %xmm23,%xmm22
-       sha1nexte       0x123(%r31,%rax,4),%xmm22
-       sha1rnds4       $0x7b,%xmm23,%xmm22
-       sha1rnds4       $0x7b,0x123(%r31,%rax,4),%xmm22
-       sha256msg1      %xmm23,%xmm22
-       sha256msg1      0x123(%r31,%rax,4),%xmm22
-       sha256msg2      %xmm23,%xmm22
-       sha256msg2      0x123(%r31,%rax,4),%xmm22
+       sha1msg1        0x123(%r31,%rax,4),%xmm12
+       sha1msg2        0x123(%r31,%rax,4),%xmm12
+       sha1nexte       0x123(%r31,%rax,4),%xmm12
+       sha1rnds4       $0x7b,0x123(%r31,%rax,4),%xmm12
+       sha256msg1      0x123(%r31,%rax,4),%xmm12
+       sha256msg2      0x123(%r31,%rax,4),%xmm12
        sha256rnds2     0x123(%r31,%rax,4),%xmm12
        shlx    %r25d,%edx,%r10d
        shlx    %r25d,0x123(%r31,%rax,4),%edx
@@ -172,12 +166,12 @@ _start:
        aadd    [r31+rax*4+0x123],r31
        aand    [r31+rax*4+0x123],r25d
        aand    [r31+rax*4+0x123],r31
-       aesdec128kl     xmm22,[r31+rax*4+0x123]
-       aesdec256kl     xmm22,[r31+rax*4+0x123]
+       aesdec128kl     xmm12,[r31+rax*4+0x123]
+       aesdec256kl     xmm12,[r31+rax*4+0x123]
        aesdecwide128kl [r31+rax*4+0x123]
        aesdecwide256kl [r31+rax*4+0x123]
-       aesenc128kl     xmm22,[r31+rax*4+0x123]
-       aesenc256kl     xmm22,[r31+rax*4+0x123]
+       aesenc128kl     xmm12,[r31+rax*4+0x123]
+       aesenc256kl     xmm12,[r31+rax*4+0x123]
        aesencwide128kl [r31+rax*4+0x123]
        aesencwide256kl [r31+rax*4+0x123]
        aor     [r31+rax*4+0x123],r25d
@@ -293,18 +287,12 @@ _start:
        pext    r11,r15,r31
        pext    edx,r25d,DWORD PTR [r31+rax*4+0x123]
        pext    r15,r31,QWORD PTR [r31+rax*4+0x123]
-       sha1msg1        xmm22,xmm23
-       sha1msg1        xmm22,XMMWORD PTR [r31+rax*4+0x123]
-       sha1msg2        xmm22,xmm23
-       sha1msg2        xmm22,XMMWORD PTR [r31+rax*4+0x123]
-       sha1nexte       xmm22,xmm23
-       sha1nexte       xmm22,XMMWORD PTR [r31+rax*4+0x123]
-       sha1rnds4       xmm22,xmm23,0x7b
-       sha1rnds4       xmm22,XMMWORD PTR [r31+rax*4+0x123],0x7b
-       sha256msg1      xmm22,xmm23
-       sha256msg1      xmm22,XMMWORD PTR [r31+rax*4+0x123]
-       sha256msg2      xmm22,xmm23
-       sha256msg2      xmm22,XMMWORD PTR [r31+rax*4+0x123]
+       sha1msg1        xmm12,XMMWORD PTR [r31+rax*4+0x123]
+       sha1msg2        xmm12,XMMWORD PTR [r31+rax*4+0x123]
+       sha1nexte       xmm12,XMMWORD PTR [r31+rax*4+0x123]
+       sha1rnds4       xmm12,XMMWORD PTR [r31+rax*4+0x123],0x7b
+       sha256msg1      xmm12,XMMWORD PTR [r31+rax*4+0x123]
+       sha256msg2      xmm12,XMMWORD PTR [r31+rax*4+0x123]
        sha256rnds2     xmm12,XMMWORD PTR [r31+rax*4+0x123]
        shlx    r10d,edx,r25d
        shlx    edx,DWORD PTR [r31+rax*4+0x123],r25d
index 31afa9c9fbc66536cbdbfa859efe0e52da480211..d06a918449c7263f0d7c8ff746a5ab54f66386f6 100644 (file)
@@ -12828,6 +12828,11 @@ print_vector_reg (instr_info *ins, unsigned int reg, int bytemode)
   else
     names = att_names_xmm;
   oappend_register (ins, names[reg]);
+
+  /* Legacy insns promoted to EVEX, like the legacy insns themselves, don't
+     allow use of the upper 16 vector registers.  */
+  if (ins->evex_type == evex_from_legacy && reg >= 16)
+    oappend (ins, "(bad)");
 }
 
 static bool