From 9fe07b7f95fbfdaf34d5b69e6d73cae000b43eea Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Fri, 15 Mar 2024 10:29:35 +0100 Subject: x86/APX: legacy promoted insns can't access %xmm16-%xmm31 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 | 7 +++ .../gas/i386/x86-64-apx-egpr-promote-inval.l | 17 ++++--- .../gas/i386/x86-64-apx-egpr-promote-inval.s | 4 ++ .../gas/i386/x86-64-apx-evex-promoted-bad.d | 8 +++- .../gas/i386/x86-64-apx-evex-promoted-bad.s | 14 +++++- .../gas/i386/x86-64-apx-evex-promoted-intel.d | 52 +++++++++------------- .../gas/i386/x86-64-apx-evex-promoted-wig.d | 52 +++++++++------------- gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d | 52 +++++++++------------- gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s | 52 +++++++++------------- 9 files changed, 119 insertions(+), 139 deletions(-) (limited to 'gas') diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 85dc79f..735c59b 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -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) { diff --git a/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l index 6f06df9..547b98f 100644 --- a/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l +++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l @@ -13,13 +13,16 @@ .*: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 diff --git a/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s index 5e4e08f..8065b1a 100644 --- a/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s +++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s @@ -29,6 +29,10 @@ 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 diff --git a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.d b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.d index 57bdf64..5f96df9 100644 --- a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.d +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s index 61ed882..668e4a2 100644 --- a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d index 1b20ffa..9c88880 100644 --- a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-wig.d b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-wig.d index d2f30d6..db6860f 100644 --- a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-wig.d +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-wig.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d index f5e859b..3a9d712 100644 --- a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s index bebfc86..0773dc5 100644 --- a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s @@ -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 -- cgit v1.1