diff --git a/llvm/lib/Target/X86/X86InstrMisc.td b/llvm/lib/Target/X86/X86InstrMisc.td index 772ed2a9dbe56..97c625a64cfc0 100644 --- a/llvm/lib/Target/X86/X86InstrMisc.td +++ b/llvm/lib/Target/X86/X86InstrMisc.td @@ -1353,22 +1353,22 @@ multiclass bmi_pdep_pext, - VEX, VVVV, Sched<[WriteALU]>; + NoCD8, VVVV, Sched<[WriteALU]>; def rm#Suffix : I<0xF5, MRMSrcMem, (outs RC:$dst), (ins RC:$src1, x86memop:$src2), !strconcat(mnemonic, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"), [(set RC:$dst, (OpNode RC:$src1, (ld_frag addr:$src2)))]>, - VEX, VVVV, Sched<[WriteALU.Folded, WriteALU.ReadAfterFold]>; + NoCD8, VVVV, Sched<[WriteALU.Folded, WriteALU.ReadAfterFold]>; } let Predicates = [HasBMI2, NoEGPR] in { defm PDEP32 : bmi_pdep_pext<"pdep{l}", GR32, i32mem, - X86pdep, loadi32>, T8, XD; + X86pdep, loadi32>, T8, XD, VEX; defm PDEP64 : bmi_pdep_pext<"pdep{q}", GR64, i64mem, - X86pdep, loadi64>, T8, XD, REX_W; + X86pdep, loadi64>, T8, XD, REX_W, VEX; defm PEXT32 : bmi_pdep_pext<"pext{l}", GR32, i32mem, - X86pext, loadi32>, T8, XS; + X86pext, loadi32>, T8, XS, VEX; defm PEXT64 : bmi_pdep_pext<"pext{q}", GR64, i64mem, - X86pext, loadi64>, T8, XS, REX_W; + X86pext, loadi64>, T8, XS, REX_W, VEX; } let Predicates = [HasBMI2, HasEGPR] in { diff --git a/llvm/lib/Target/X86/X86InstrShiftRotate.td b/llvm/lib/Target/X86/X86InstrShiftRotate.td index d13e3b7af69a9..f951894db1890 100644 --- a/llvm/lib/Target/X86/X86InstrShiftRotate.td +++ b/llvm/lib/Target/X86/X86InstrShiftRotate.td @@ -868,7 +868,7 @@ let Predicates = [HasBMI2, NoEGPR] in { defm SHLX64 : bmi_shift<"shlx{q}", GR64, i64mem>, T8, PD, REX_W; } -let Predicates = [HasBMI2, HasEGPR] in { +let Predicates = [HasBMI2, HasEGPR, In64BitMode] in { defm RORX32 : bmi_rotate<"rorx{l}", GR32, i32mem, "_EVEX">, EVEX; defm RORX64 : bmi_rotate<"rorx{q}", GR64, i64mem, "_EVEX">, REX_W, EVEX; defm SARX32 : bmi_shift<"sarx{l}", GR32, i32mem, "_EVEX">, T8, XS, EVEX; diff --git a/llvm/test/MC/Disassembler/X86/apx/amx-tile.txt b/llvm/test/MC/Disassembler/X86/apx/amx-tile.txt index 960c40cfc4b15..f2d1812801ccd 100644 --- a/llvm/test/MC/Disassembler/X86/apx/amx-tile.txt +++ b/llvm/test/MC/Disassembler/X86/apx/amx-tile.txt @@ -1,22 +1,52 @@ # RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT # RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL +## ldtilecfg + +# ATT: ldtilecfg 123(%rax,%rbx,4) +# INTEL: ldtilecfg [rax + 4*rbx + 123] +0x62,0xf2,0x7c,0x08,0x49,0x44,0x98,0x7b + # ATT: ldtilecfg 291(%r28,%r29,4) # INTEL: ldtilecfg [r28 + 4*r29 + 291] 0x62,0x9a,0x78,0x08,0x49,0x84,0xac,0x23,0x01,0x00,0x00 +## sttilecfg + +# ATT: sttilecfg 123(%rax,%rbx,4) +# INTEL: sttilecfg [rax + 4*rbx + 123] +0x62,0xf2,0x7d,0x08,0x49,0x44,0x98,0x7b + # ATT: sttilecfg 291(%r28,%r29,4) # INTEL: sttilecfg [r28 + 4*r29 + 291] 0x62,0x9a,0x79,0x08,0x49,0x84,0xac,0x23,0x01,0x00,0x00 +## tileloadd + +# ATT: tileloadd 123(%rax,%rbx,4), %tmm6 +# INTEL: tileloadd tmm6, [rax + 4*rbx + 123] +0x62,0xf2,0x7f,0x08,0x4b,0x74,0x98,0x7b + # ATT: tileloadd 291(%r28,%r29,4), %tmm6 # INTEL: tileloadd tmm6, [r28 + 4*r29 + 291] 0x62,0x9a,0x7b,0x08,0x4b,0xb4,0xac,0x23,0x01,0x00,0x00 +## tileloaddt1 + +# ATT: tileloaddt1 123(%rax,%rbx,4), %tmm6 +# INTEL: tileloaddt1 tmm6, [rax + 4*rbx + 123] +0x62,0xf2,0x7d,0x08,0x4b,0x74,0x98,0x7b + # ATT: tileloaddt1 291(%r28,%r29,4), %tmm6 # INTEL: tileloaddt1 tmm6, [r28 + 4*r29 + 291] 0x62,0x9a,0x79,0x08,0x4b,0xb4,0xac,0x23,0x01,0x00,0x00 +## tilestored + +# ATT: tilestored %tmm6, 123(%rax,%rbx,4) +# INTEL: tilestored [rax + 4*rbx + 123], tmm6 +0x62,0xf2,0x7e,0x08,0x4b,0x74,0x98,0x7b + # ATT: tilestored %tmm6, 291(%r28,%r29,4) # INTEL: tilestored [r28 + 4*r29 + 291], tmm6 0x62,0x9a,0x7a,0x08,0x4b,0xb4,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/bmi2.txt b/llvm/test/MC/Disassembler/X86/apx/bmi2.txt new file mode 100644 index 0000000000000..0fb11f4061f1b --- /dev/null +++ b/llvm/test/MC/Disassembler/X86/apx/bmi2.txt @@ -0,0 +1,240 @@ +# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT +# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL + +## mulx + +# ATT: mulxl %ecx, %edx, %r10d +# INTEL: mulx r10d, edx, ecx +0x62,0x72,0x6f,0x08,0xf6,0xd1 + +# ATT: mulxq %r9, %r15, %r11 +# INTEL: mulx r11, r15, r9 +0x62,0x52,0x87,0x08,0xf6,0xd9 + +# ATT: mulxl 123(%rax,%rbx,4), %ecx, %edx +# INTEL: mulx edx, ecx, dword ptr [rax + 4*rbx + 123] +0x62,0xf2,0x77,0x08,0xf6,0x94,0x98,0x7b,0x00,0x00,0x00 + +# ATT: mulxq 123(%rax,%rbx,4), %r9, %r15 +# INTEL: mulx r15, r9, qword ptr [rax + 4*rbx + 123] +0x62,0x72,0xb7,0x08,0xf6,0xbc,0x98,0x7b,0x00,0x00,0x00 + +# ATT: mulxl %r18d, %r22d, %r26d +# INTEL: mulx r26d, r22d, r18d +0x62,0x6a,0x4f,0x00,0xf6,0xd2 + +# ATT: mulxq %r19, %r23, %r27 +# INTEL: mulx r27, r23, r19 +0x62,0x6a,0xc7,0x00,0xf6,0xdb + +# ATT: mulxl 291(%r28,%r29,4), %r18d, %r22d +# INTEL: mulx r22d, r18d, dword ptr [r28 + 4*r29 + 291] +0x62,0x8a,0x6b,0x00,0xf6,0xb4,0xac,0x23,0x01,0x00,0x00 + +# ATT: mulxq 291(%r28,%r29,4), %r19, %r23 +# INTEL: mulx r23, r19, qword ptr [r28 + 4*r29 + 291] +0x62,0x8a,0xe3,0x00,0xf6,0xbc,0xac,0x23,0x01,0x00,0x00 + +## pdep + +# ATT: pdepl %ecx, %edx, %r10d +# INTEL: pdep r10d, edx, ecx +0x62,0x72,0x6f,0x08,0xf5,0xd1 + +# ATT: pdepq %r9, %r15, %r11 +# INTEL: pdep r11, r15, r9 +0x62,0x52,0x87,0x08,0xf5,0xd9 + +# ATT: pdepl 123(%rax,%rbx,4), %ecx, %edx +# INTEL: pdep edx, ecx, dword ptr [rax + 4*rbx + 123] +0x62,0xf2,0x77,0x08,0xf5,0x54,0x98,0x7b + +# ATT: pdepq 123(%rax,%rbx,4), %r9, %r15 +# INTEL: pdep r15, r9, qword ptr [rax + 4*rbx + 123] +0x62,0x72,0xb7,0x08,0xf5,0x7c,0x98,0x7b + +# ATT: pdepl %r18d, %r22d, %r26d +# INTEL: pdep r26d, r22d, r18d +0x62,0x6a,0x4f,0x00,0xf5,0xd2 + +# ATT: pdepq %r19, %r23, %r27 +# INTEL: pdep r27, r23, r19 +0x62,0x6a,0xc7,0x00,0xf5,0xdb + +# ATT: pdepl 291(%r28,%r29,4), %r18d, %r22d +# INTEL: pdep r22d, r18d, dword ptr [r28 + 4*r29 + 291] +0x62,0x8a,0x6b,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00 + +# ATT: pdepq 291(%r28,%r29,4), %r19, %r23 +# INTEL: pdep r23, r19, qword ptr [r28 + 4*r29 + 291] +0x62,0x8a,0xe3,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00 + +## pext + +# ATT: pextl %ecx, %edx, %r10d +# INTEL: pext r10d, edx, ecx +0x62,0x72,0x6e,0x08,0xf5,0xd1 + +# ATT: pextq %r9, %r15, %r11 +# INTEL: pext r11, r15, r9 +0x62,0x52,0x86,0x08,0xf5,0xd9 + +# ATT: pextl 123(%rax,%rbx,4), %ecx, %edx +# INTEL: pext edx, ecx, dword ptr [rax + 4*rbx + 123] +0x62,0xf2,0x76,0x08,0xf5,0x54,0x98,0x7b + +# ATT: pextq 123(%rax,%rbx,4), %r9, %r15 +# INTEL: pext r15, r9, qword ptr [rax + 4*rbx + 123] +0x62,0x72,0xb6,0x08,0xf5,0x7c,0x98,0x7b + +# ATT: pextl %r18d, %r22d, %r26d +# INTEL: pext r26d, r22d, r18d +0x62,0x6a,0x4e,0x00,0xf5,0xd2 + +# ATT: pextq %r19, %r23, %r27 +# INTEL: pext r27, r23, r19 +0x62,0x6a,0xc6,0x00,0xf5,0xdb + +# ATT: pextl 291(%r28,%r29,4), %r18d, %r22d +# INTEL: pext r22d, r18d, dword ptr [r28 + 4*r29 + 291] +0x62,0x8a,0x6a,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00 + +# ATT: pextq 291(%r28,%r29,4), %r19, %r23 +# INTEL: pext r23, r19, qword ptr [r28 + 4*r29 + 291] +0x62,0x8a,0xe2,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00 + +## rorx + +# ATT: rorxl $123, %ecx, %edx +# INTEL: rorx edx, ecx, 123 +0x62,0xf3,0x7f,0x08,0xf0,0xd1,0x7b + +# ATT: rorxq $123, %r9, %r15 +# INTEL: rorx r15, r9, 123 +0x62,0x53,0xff,0x08,0xf0,0xf9,0x7b + +# ATT: rorxl $123, 123(%rax,%rbx,4), %ecx +# INTEL: rorx ecx, dword ptr [rax + 4*rbx + 123], 123 +0x62,0xf3,0x7f,0x08,0xf0,0x8c,0x98,0x7b,0x00,0x00,0x00,0x7b + +# ATT: rorxq $123, 123(%rax,%rbx,4), %r9 +# INTEL: rorx r9, qword ptr [rax + 4*rbx + 123], 123 +0x62,0x73,0xff,0x08,0xf0,0x8c,0x98,0x7b,0x00,0x00,0x00,0x7b + +# ATT: rorxl $123, %r18d, %r22d +# INTEL: rorx r22d, r18d, 123 +0x62,0xeb,0x7f,0x08,0xf0,0xf2,0x7b + +# ATT: rorxq $123, %r19, %r23 +# INTEL: rorx r23, r19, 123 +0x62,0xeb,0xff,0x08,0xf0,0xfb,0x7b + +# ATT: rorxl $123, 291(%r28,%r29,4), %r18d +# INTEL: rorx r18d, dword ptr [r28 + 4*r29 + 291], 123 +0x62,0x8b,0x7b,0x08,0xf0,0x94,0xac,0x23,0x01,0x00,0x00,0x7b + +# ATT: rorxq $123, 291(%r28,%r29,4), %r19 +# INTEL: rorx r19, qword ptr [r28 + 4*r29 + 291], 123 +0x62,0x8b,0xfb,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00,0x7b + +## sarx + +# ATT: sarxl %ecx, %edx, %r10d +# INTEL: sarx r10d, edx, ecx +0x62,0x72,0x76,0x08,0xf7,0xd2 + +# ATT: sarxl %ecx, 123(%rax,%rbx,4), %edx +# INTEL: sarx edx, dword ptr [rax + 4*rbx + 123], ecx +0x62,0xf2,0x76,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00 + +# ATT: sarxq %r9, %r15, %r11 +# INTEL: sarx r11, r15, r9 +0x62,0x52,0xb6,0x08,0xf7,0xdf + +# ATT: sarxq %r9, 123(%rax,%rbx,4), %r15 +# INTEL: sarx r15, qword ptr [rax + 4*rbx + 123], r9 +0x62,0x72,0xb6,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00 + +# ATT: sarxl %r18d, %r22d, %r26d +# INTEL: sarx r26d, r22d, r18d +0x62,0x6a,0x6e,0x00,0xf7,0xd6 + +# ATT: sarxl %r18d, 291(%r28,%r29,4), %r22d +# INTEL: sarx r22d, dword ptr [r28 + 4*r29 + 291], r18d +0x62,0x8a,0x6a,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 + +# ATT: sarxq %r19, %r23, %r27 +# INTEL: sarx r27, r23, r19 +0x62,0x6a,0xe6,0x00,0xf7,0xdf + +# ATT: sarxq %r19, 291(%r28,%r29,4), %r23 +# INTEL: sarx r23, qword ptr [r28 + 4*r29 + 291], r19 +0x62,0x8a,0xe2,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00 + +## shlx + +# ATT: shlxl %ecx, %edx, %r10d +# INTEL: shlx r10d, edx, ecx +0x62,0x72,0x75,0x08,0xf7,0xd2 + +# ATT: shlxl %ecx, 123(%rax,%rbx,4), %edx +# INTEL: shlx edx, dword ptr [rax + 4*rbx + 123], ecx +0x62,0xf2,0x75,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00 + +# ATT: shlxq %r9, %r15, %r11 +# INTEL: shlx r11, r15, r9 +0x62,0x52,0xb5,0x08,0xf7,0xdf + +# ATT: shlxq %r9, 123(%rax,%rbx,4), %r15 +# INTEL: shlx r15, qword ptr [rax + 4*rbx + 123], r9 +0x62,0x72,0xb5,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00 + +# ATT: shlxl %r18d, %r22d, %r26d +# INTEL: shlx r26d, r22d, r18d +0x62,0x6a,0x6d,0x00,0xf7,0xd6 + +# ATT: shlxl %r18d, 291(%r28,%r29,4), %r22d +# INTEL: shlx r22d, dword ptr [r28 + 4*r29 + 291], r18d +0x62,0x8a,0x69,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 + +# ATT: shlxq %r19, %r23, %r27 +# INTEL: shlx r27, r23, r19 +0x62,0x6a,0xe5,0x00,0xf7,0xdf + +# ATT: shlxq %r19, 291(%r28,%r29,4), %r23 +# INTEL: shlx r23, qword ptr [r28 + 4*r29 + 291], r19 +0x62,0x8a,0xe1,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00 + +## shrx + +# ATT: shrxl %ecx, %edx, %r10d +# INTEL: shrx r10d, edx, ecx +0x62,0x72,0x77,0x08,0xf7,0xd2 + +# ATT: shrxl %ecx, 123(%rax,%rbx,4), %edx +# INTEL: shrx edx, dword ptr [rax + 4*rbx + 123], ecx +0x62,0xf2,0x77,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00 + +# ATT: shrxq %r9, %r15, %r11 +# INTEL: shrx r11, r15, r9 +0x62,0x52,0xb7,0x08,0xf7,0xdf + +# ATT: shrxq %r9, 123(%rax,%rbx,4), %r15 +# INTEL: shrx r15, qword ptr [rax + 4*rbx + 123], r9 +0x62,0x72,0xb7,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00 + +# ATT: shrxl %r18d, %r22d, %r26d +# INTEL: shrx r26d, r22d, r18d +0x62,0x6a,0x6f,0x00,0xf7,0xd6 + +# ATT: shrxl %r18d, 291(%r28,%r29,4), %r22d +# INTEL: shrx r22d, dword ptr [r28 + 4*r29 + 291], r18d +0x62,0x8a,0x6b,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 + +# ATT: shrxq %r19, %r23, %r27 +# INTEL: shrx r27, r23, r19 +0x62,0x6a,0xe7,0x00,0xf7,0xdf + +# ATT: shrxq %r19, 291(%r28,%r29,4), %r23 +# INTEL: shrx r23, qword ptr [r28 + 4*r29 + 291], r19 +0x62,0x8a,0xe3,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/cet.txt b/llvm/test/MC/Disassembler/X86/apx/cet.txt new file mode 100644 index 0000000000000..867571b82c06e --- /dev/null +++ b/llvm/test/MC/Disassembler/X86/apx/cet.txt @@ -0,0 +1,42 @@ +# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT +# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL + +## wrssd + +# ATT: wrssd %ecx, 123(%rax,%rbx,4) +# INTEL: wrssd dword ptr [rax + 4*rbx + 123], ecx +0x62,0xf4,0x7c,0x08,0x66,0x4c,0x98,0x7b + +# ATT: wrssd %r18d, 291(%r28,%r29,4) +# INTEL: wrssd dword ptr [r28 + 4*r29 + 291], r18d +0x62,0x8c,0x78,0x08,0x66,0x94,0xac,0x23,0x01,0x00,0x00 + +## wrssq + +# ATT: wrssq %r9, 123(%rax,%rbx,4) +# INTEL: wrssq qword ptr [rax + 4*rbx + 123], r9 +0x62,0x74,0xfc,0x08,0x66,0x4c,0x98,0x7b + +# ATT: wrssq %r19, 291(%r28,%r29,4) +# INTEL: wrssq qword ptr [r28 + 4*r29 + 291], r19 +0x62,0x8c,0xf8,0x08,0x66,0x9c,0xac,0x23,0x01,0x00,0x00 + +## wrussd + +# ATT: wrussd %ecx, 123(%rax,%rbx,4) +# INTEL: wrussd dword ptr [rax + 4*rbx + 123], ecx +0x62,0xf4,0x7d,0x08,0x65,0x4c,0x98,0x7b + +# ATT: wrussd %r18d, 291(%r28,%r29,4) +# INTEL: wrussd dword ptr [r28 + 4*r29 + 291], r18d +0x62,0x8c,0x79,0x08,0x65,0x94,0xac,0x23,0x01,0x00,0x00 + +## wrussq + +# ATT: wrussq %r9, 123(%rax,%rbx,4) +# INTEL: wrussq qword ptr [rax + 4*rbx + 123], r9 +0x62,0x74,0xfd,0x08,0x65,0x4c,0x98,0x7b + +# ATT: wrussq %r19, 291(%r28,%r29,4) +# INTEL: wrussq qword ptr [r28 + 4*r29 + 291], r19 +0x62,0x8c,0xf9,0x08,0x65,0x9c,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/cmpccxadd.txt b/llvm/test/MC/Disassembler/X86/apx/cmpccxadd.txt index 9f65d4c8d25ce..7a2e09af5b3db 100644 --- a/llvm/test/MC/Disassembler/X86/apx/cmpccxadd.txt +++ b/llvm/test/MC/Disassembler/X86/apx/cmpccxadd.txt @@ -1,6 +1,30 @@ # RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT # RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL +# ATT: cmpaxadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpaxadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xe7,0x54,0x98,0x7b + +# ATT: cmpaxadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpaxadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xe7,0x7c,0x98,0x7b + +# ATT: cmpaxadd %r18d, %r22d, 291(%r28,%r29,4) +# INTEL: cmpaxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +0x62,0x8a,0x69,0x00,0xe7,0xb4,0xac,0x23,0x01,0x00,0x00 + +# ATT: cmpaxadd %r19, %r23, 291(%r28,%r29,4) +# INTEL: cmpaxadd qword ptr [r28 + 4*r29 + 291], r23, r19 +0x62,0x8a,0xe1,0x00,0xe7,0xbc,0xac,0x23,0x01,0x00,0x00 + +# ATT: cmpbexadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpbexadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xe6,0x54,0x98,0x7b + +# ATT: cmpbexadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpbexadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xe6,0x7c,0x98,0x7b + # ATT: cmpbexadd %r18d, %r22d, 291(%r28,%r29,4) # INTEL: cmpbexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 0x62,0x8a,0x69,0x00,0xe6,0xb4,0xac,0x23,0x01,0x00,0x00 @@ -9,6 +33,14 @@ # INTEL: cmpbexadd qword ptr [r28 + 4*r29 + 291], r23, r19 0x62,0x8a,0xe1,0x00,0xe6,0xbc,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpbxadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpbxadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xe2,0x54,0x98,0x7b + +# ATT: cmpbxadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpbxadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xe2,0x7c,0x98,0x7b + # ATT: cmpbxadd %r18d, %r22d, 291(%r28,%r29,4) # INTEL: cmpbxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 0x62,0x8a,0x69,0x00,0xe2,0xb4,0xac,0x23,0x01,0x00,0x00 @@ -17,6 +49,62 @@ # INTEL: cmpbxadd qword ptr [r28 + 4*r29 + 291], r23, r19 0x62,0x8a,0xe1,0x00,0xe2,0xbc,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpexadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpexadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xe4,0x54,0x98,0x7b + +# ATT: cmpexadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpexadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xe4,0x7c,0x98,0x7b + +# ATT: cmpexadd %r18d, %r22d, 291(%r28,%r29,4) +# INTEL: cmpexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +0x62,0x8a,0x69,0x00,0xe4,0xb4,0xac,0x23,0x01,0x00,0x00 + +# ATT: cmpexadd %r19, %r23, 291(%r28,%r29,4) +# INTEL: cmpexadd qword ptr [r28 + 4*r29 + 291], r23, r19 +0x62,0x8a,0xe1,0x00,0xe4,0xbc,0xac,0x23,0x01,0x00,0x00 + +# ATT: cmpgexadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpgexadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xed,0x54,0x98,0x7b + +# ATT: cmpgexadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpgexadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xed,0x7c,0x98,0x7b + +# ATT: cmpgexadd %r18d, %r22d, 291(%r28,%r29,4) +# INTEL: cmpgexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +0x62,0x8a,0x69,0x00,0xed,0xb4,0xac,0x23,0x01,0x00,0x00 + +# ATT: cmpgexadd %r19, %r23, 291(%r28,%r29,4) +# INTEL: cmpgexadd qword ptr [r28 + 4*r29 + 291], r23, r19 +0x62,0x8a,0xe1,0x00,0xed,0xbc,0xac,0x23,0x01,0x00,0x00 + +# ATT: cmpgxadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpgxadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xef,0x54,0x98,0x7b + +# ATT: cmpgxadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpgxadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xef,0x7c,0x98,0x7b + +# ATT: cmpgxadd %r18d, %r22d, 291(%r28,%r29,4) +# INTEL: cmpgxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +0x62,0x8a,0x69,0x00,0xef,0xb4,0xac,0x23,0x01,0x00,0x00 + +# ATT: cmpgxadd %r19, %r23, 291(%r28,%r29,4) +# INTEL: cmpgxadd qword ptr [r28 + 4*r29 + 291], r23, r19 +0x62,0x8a,0xe1,0x00,0xef,0xbc,0xac,0x23,0x01,0x00,0x00 + +# ATT: cmplexadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmplexadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xee,0x54,0x98,0x7b + +# ATT: cmplexadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmplexadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xee,0x7c,0x98,0x7b + # ATT: cmplexadd %r18d, %r22d, 291(%r28,%r29,4) # INTEL: cmplexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 0x62,0x8a,0x69,0x00,0xee,0xb4,0xac,0x23,0x01,0x00,0x00 @@ -25,6 +113,14 @@ # INTEL: cmplexadd qword ptr [r28 + 4*r29 + 291], r23, r19 0x62,0x8a,0xe1,0x00,0xee,0xbc,0xac,0x23,0x01,0x00,0x00 +# ATT: cmplxadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmplxadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xec,0x54,0x98,0x7b + +# ATT: cmplxadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmplxadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xec,0x7c,0x98,0x7b + # ATT: cmplxadd %r18d, %r22d, 291(%r28,%r29,4) # INTEL: cmplxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 0x62,0x8a,0x69,0x00,0xec,0xb4,0xac,0x23,0x01,0x00,0x00 @@ -33,29 +129,29 @@ # INTEL: cmplxadd qword ptr [r28 + 4*r29 + 291], r23, r19 0x62,0x8a,0xe1,0x00,0xec,0xbc,0xac,0x23,0x01,0x00,0x00 -# ATT: cmpaxadd %r18d, %r22d, 291(%r28,%r29,4) -# INTEL: cmpaxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d -0x62,0x8a,0x69,0x00,0xe7,0xb4,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpnexadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpnexadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xe5,0x54,0x98,0x7b -# ATT: cmpaxadd %r19, %r23, 291(%r28,%r29,4) -# INTEL: cmpaxadd qword ptr [r28 + 4*r29 + 291], r23, r19 -0x62,0x8a,0xe1,0x00,0xe7,0xbc,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpnexadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpnexadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xe5,0x7c,0x98,0x7b -# ATT: cmpgxadd %r18d, %r22d, 291(%r28,%r29,4) -# INTEL: cmpgxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d -0x62,0x8a,0x69,0x00,0xef,0xb4,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpnexadd %r18d, %r22d, 291(%r28,%r29,4) +# INTEL: cmpnexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +0x62,0x8a,0x69,0x00,0xe5,0xb4,0xac,0x23,0x01,0x00,0x00 -# ATT: cmpgxadd %r19, %r23, 291(%r28,%r29,4) -# INTEL: cmpgxadd qword ptr [r28 + 4*r29 + 291], r23, r19 -0x62,0x8a,0xe1,0x00,0xef,0xbc,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpnexadd %r19, %r23, 291(%r28,%r29,4) +# INTEL: cmpnexadd qword ptr [r28 + 4*r29 + 291], r23, r19 +0x62,0x8a,0xe1,0x00,0xe5,0xbc,0xac,0x23,0x01,0x00,0x00 -# ATT: cmpgexadd %r18d, %r22d, 291(%r28,%r29,4) -# INTEL: cmpgexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d -0x62,0x8a,0x69,0x00,0xed,0xb4,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpnoxadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpnoxadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xe1,0x54,0x98,0x7b -# ATT: cmpgexadd %r19, %r23, 291(%r28,%r29,4) -# INTEL: cmpgexadd qword ptr [r28 + 4*r29 + 291], r23, r19 -0x62,0x8a,0xe1,0x00,0xed,0xbc,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpnoxadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpnoxadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xe1,0x7c,0x98,0x7b # ATT: cmpnoxadd %r18d, %r22d, 291(%r28,%r29,4) # INTEL: cmpnoxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d @@ -65,6 +161,14 @@ # INTEL: cmpnoxadd qword ptr [r28 + 4*r29 + 291], r23, r19 0x62,0x8a,0xe1,0x00,0xe1,0xbc,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpnpxadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpnpxadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xeb,0x54,0x98,0x7b + +# ATT: cmpnpxadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpnpxadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xeb,0x7c,0x98,0x7b + # ATT: cmpnpxadd %r18d, %r22d, 291(%r28,%r29,4) # INTEL: cmpnpxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 0x62,0x8a,0x69,0x00,0xeb,0xb4,0xac,0x23,0x01,0x00,0x00 @@ -73,6 +177,14 @@ # INTEL: cmpnpxadd qword ptr [r28 + 4*r29 + 291], r23, r19 0x62,0x8a,0xe1,0x00,0xeb,0xbc,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpnsxadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpnsxadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xe9,0x54,0x98,0x7b + +# ATT: cmpnsxadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpnsxadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xe9,0x7c,0x98,0x7b + # ATT: cmpnsxadd %r18d, %r22d, 291(%r28,%r29,4) # INTEL: cmpnsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 0x62,0x8a,0x69,0x00,0xe9,0xb4,0xac,0x23,0x01,0x00,0x00 @@ -81,13 +193,13 @@ # INTEL: cmpnsxadd qword ptr [r28 + 4*r29 + 291], r23, r19 0x62,0x8a,0xe1,0x00,0xe9,0xbc,0xac,0x23,0x01,0x00,0x00 -# ATT: cmpnexadd %r18d, %r22d, 291(%r28,%r29,4) -# INTEL: cmpnexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d -0x62,0x8a,0x69,0x00,0xe5,0xb4,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpoxadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpoxadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xe0,0x54,0x98,0x7b -# ATT: cmpnexadd %r19, %r23, 291(%r28,%r29,4) -# INTEL: cmpnexadd qword ptr [r28 + 4*r29 + 291], r23, r19 -0x62,0x8a,0xe1,0x00,0xe5,0xbc,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpoxadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpoxadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xe0,0x7c,0x98,0x7b # ATT: cmpoxadd %r18d, %r22d, 291(%r28,%r29,4) # INTEL: cmpoxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d @@ -97,6 +209,14 @@ # INTEL: cmpoxadd qword ptr [r28 + 4*r29 + 291], r23, r19 0x62,0x8a,0xe1,0x00,0xe0,0xbc,0xac,0x23,0x01,0x00,0x00 +# ATT: cmppxadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmppxadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xea,0x54,0x98,0x7b + +# ATT: cmppxadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmppxadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xea,0x7c,0x98,0x7b + # ATT: cmppxadd %r18d, %r22d, 291(%r28,%r29,4) # INTEL: cmppxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 0x62,0x8a,0x69,0x00,0xea,0xb4,0xac,0x23,0x01,0x00,0x00 @@ -105,6 +225,14 @@ # INTEL: cmppxadd qword ptr [r28 + 4*r29 + 291], r23, r19 0x62,0x8a,0xe1,0x00,0xea,0xbc,0xac,0x23,0x01,0x00,0x00 +# ATT: cmpsxadd %ecx, %edx, 123(%rax,%rbx,4) +# INTEL: cmpsxadd dword ptr [rax + 4*rbx + 123], edx, ecx +0x62,0xf2,0x75,0x08,0xe8,0x54,0x98,0x7b + +# ATT: cmpsxadd %r9, %r15, 123(%rax,%rbx,4) +# INTEL: cmpsxadd qword ptr [rax + 4*rbx + 123], r15, r9 +0x62,0x72,0xb5,0x08,0xe8,0x7c,0x98,0x7b + # ATT: cmpsxadd %r18d, %r22d, 291(%r28,%r29,4) # INTEL: cmpsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 0x62,0x8a,0x69,0x00,0xe8,0xb4,0xac,0x23,0x01,0x00,0x00 @@ -112,11 +240,3 @@ # ATT: cmpsxadd %r19, %r23, 291(%r28,%r29,4) # INTEL: cmpsxadd qword ptr [r28 + 4*r29 + 291], r23, r19 0x62,0x8a,0xe1,0x00,0xe8,0xbc,0xac,0x23,0x01,0x00,0x00 - -# ATT: cmpexadd %r18d, %r22d, 291(%r28,%r29,4) -# INTEL: cmpexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d -0x62,0x8a,0x69,0x00,0xe4,0xb4,0xac,0x23,0x01,0x00,0x00 - -# ATT: cmpexadd %r19, %r23, 291(%r28,%r29,4) -# INTEL: cmpexadd qword ptr [r28 + 4*r29 + 291], r23, r19 -0x62,0x8a,0xe1,0x00,0xe4,0xbc,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/invept.txt b/llvm/test/MC/Disassembler/X86/apx/invept.txt deleted file mode 100644 index dc6bcbbb05cca..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/invept.txt +++ /dev/null @@ -1,6 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: invept 123(%r28,%r29,4), %r19 -# INTEL: invept r19, xmmword ptr [r28 + 4*r29 + 123] -0x62,0x8c,0x7a,0x08,0xf0,0x5c,0xac,0x7b diff --git a/llvm/test/MC/Disassembler/X86/apx/invpcid.txt b/llvm/test/MC/Disassembler/X86/apx/invpcid.txt index 8987332e9c9d9..8b590cc4ea47c 100644 --- a/llvm/test/MC/Disassembler/X86/apx/invpcid.txt +++ b/llvm/test/MC/Disassembler/X86/apx/invpcid.txt @@ -1,6 +1,10 @@ # RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT # RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL +# ATT: invpcid 123(%rax,%rbx,4), %r9 +# INTEL: invpcid r9, xmmword ptr [rax + 4*rbx + 123] +0x62,0x74,0x7e,0x08,0xf2,0x4c,0x98,0x7b + # ATT: invpcid 291(%r28,%r29,4), %r19 # INTEL: invpcid r19, xmmword ptr [r28 + 4*r29 + 291] 0x62,0x8c,0x7a,0x08,0xf2,0x9c,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/invvpid.txt b/llvm/test/MC/Disassembler/X86/apx/invvpid.txt deleted file mode 100644 index 05abc29b9b467..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/invvpid.txt +++ /dev/null @@ -1,6 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: invvpid 291(%r28,%r29,4), %r19 -# INTEL: invvpid r19, xmmword ptr [r28 + 4*r29 + 291] -0x62,0x8c,0x7a,0x08,0xf1,0x9c,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/movdir64b.txt b/llvm/test/MC/Disassembler/X86/apx/movdir64b.txt index 81d8f49dbf69d..efb2f41056e32 100644 --- a/llvm/test/MC/Disassembler/X86/apx/movdir64b.txt +++ b/llvm/test/MC/Disassembler/X86/apx/movdir64b.txt @@ -1,6 +1,14 @@ # RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT # RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL +# ATT: movdir64b 123(%eax,%ebx,4), %ecx +# INTEL: movdir64b ecx, zmmword ptr [eax + 4*ebx + 123] +0x67,0x62,0xf4,0x7d,0x08,0xf8,0x4c,0x98,0x7b + +# ATT: movdir64b 123(%rax,%rbx,4), %r9 +# INTEL: movdir64b r9, zmmword ptr [rax + 4*rbx + 123] +0x62,0x74,0x7d,0x08,0xf8,0x4c,0x98,0x7b + # ATT: movdir64b 291(%r28d,%r29d,4), %r18d # INTEL: movdir64b r18d, zmmword ptr [r28d + 4*r29d + 291] 0x67,0x62,0x8c,0x79,0x08,0xf8,0x94,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/movdiri.txt b/llvm/test/MC/Disassembler/X86/apx/movdiri.txt index 997d016f0d222..280d01e1cd0bb 100644 --- a/llvm/test/MC/Disassembler/X86/apx/movdiri.txt +++ b/llvm/test/MC/Disassembler/X86/apx/movdiri.txt @@ -1,6 +1,14 @@ # RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT # RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL +# ATT: movdiri %ecx, 123(%eax,%ebx,4) +# INTEL: movdiri dword ptr [eax + 4*ebx + 123], ecx +0x67,0x62,0xf4,0x7c,0x08,0xf9,0x4c,0x98,0x7b + +# ATT: movdiri %r9, 123(%rax,%rbx,4) +# INTEL: movdiri qword ptr [rax + 4*rbx + 123], r9 +0x62,0x74,0xfc,0x08,0xf9,0x4c,0x98,0x7b + # ATT: movdiri %r18d, 291(%r28,%r29,4) # INTEL: movdiri dword ptr [r28 + 4*r29 + 291], r18d 0x62,0x8c,0x78,0x08,0xf9,0x94,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/mulx.txt b/llvm/test/MC/Disassembler/X86/apx/mulx.txt deleted file mode 100644 index 5d9b53b99a71b..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/mulx.txt +++ /dev/null @@ -1,18 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: mulxl %r18d, %r22d, %r26d -# INTEL: mulx r26d, r22d, r18d -0x62,0x6a,0x4f,0x00,0xf6,0xd2 - -# ATT: mulxq %r19, %r23, %r27 -# INTEL: mulx r27, r23, r19 -0x62,0x6a,0xc7,0x00,0xf6,0xdb - -# ATT: mulxl 291(%r28,%r29,4), %r18d, %r22d -# INTEL: mulx r22d, r18d, dword ptr [r28 + 4*r29 + 291] -0x62,0x8a,0x6b,0x00,0xf6,0xb4,0xac,0x23,0x01,0x00,0x00 - -# ATT: mulxq 291(%r28,%r29,4), %r19, %r23 -# INTEL: mulx r23, r19, qword ptr [r28 + 4*r29 + 291] -0x62,0x8a,0xe3,0x00,0xf6,0xbc,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/rorx.txt b/llvm/test/MC/Disassembler/X86/apx/rorx.txt deleted file mode 100644 index 9860deaea86bd..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/rorx.txt +++ /dev/null @@ -1,18 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: rorxl $123, %r18d, %r22d -# INTEL: rorx r22d, r18d, 123 -0x62,0xeb,0x7f,0x08,0xf0,0xf2,0x7b - -# ATT: rorxq $123, %r19, %r23 -# INTEL: rorx r23, r19, 123 -0x62,0xeb,0xff,0x08,0xf0,0xfb,0x7b - -# ATT: rorxl $123, 291(%r28,%r29,4), %r18d -# INTEL: rorx r18d, dword ptr [r28 + 4*r29 + 291], 123 -0x62,0x8b,0x7b,0x08,0xf0,0x94,0xac,0x23,0x01,0x00,0x00,0x7b - -# ATT: rorxq $123, 291(%r28,%r29,4), %r19 -# INTEL: rorx r19, qword ptr [r28 + 4*r29 + 291], 123 -0x62,0x8b,0xfb,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00,0x7b diff --git a/llvm/test/MC/Disassembler/X86/apx/sarx.txt b/llvm/test/MC/Disassembler/X86/apx/sarx.txt deleted file mode 100644 index 20018f4d4b128..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/sarx.txt +++ /dev/null @@ -1,18 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: sarxl %r18d, %r22d, %r26d -# INTEL: sarx r26d, r22d, r18d -0x62,0x6a,0x6e,0x00,0xf7,0xd6 - -# ATT: sarxl %r18d, 291(%r28,%r29,4), %r22d -# INTEL: sarx r22d, dword ptr [r28 + 4*r29 + 291], r18d -0x62,0x8a,0x6a,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 - -# ATT: sarxq %r19, %r23, %r27 -# INTEL: sarx r27, r23, r19 -0x62,0x6a,0xe6,0x00,0xf7,0xdf - -# ATT: sarxq %r19, 291(%r28,%r29,4), %r23 -# INTEL: sarx r23, qword ptr [r28 + 4*r29 + 291], r19 -0x62,0x8a,0xe2,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/sha.txt b/llvm/test/MC/Disassembler/X86/apx/sha.txt new file mode 100644 index 0000000000000..6385ba754aba4 --- /dev/null +++ b/llvm/test/MC/Disassembler/X86/apx/sha.txt @@ -0,0 +1,124 @@ +# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT +# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL + +## sha1msg1 + +# ATT: sha1msg1 %xmm13, %xmm12 +# INTEL: sha1msg1 xmm12, xmm13 +0x62,0x54,0x7c,0x08,0xd9,0xe5 + +# ATT: sha1msg1 123(%rax,%rbx,4), %xmm12 +# INTEL: sha1msg1 xmm12, xmmword ptr [rax + 4*rbx + 123] +0x62,0x74,0x7c,0x08,0xd9,0x64,0x98,0x7b + +# ATT: sha1msg1 %xmm13, %xmm12 +# INTEL: sha1msg1 xmm12, xmm13 +0x45,0x0f,0x38,0xc9,0xe5 + +# ATT: sha1msg1 291(%r28,%r29,4), %xmm12 +# INTEL: sha1msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] +0x62,0x1c,0x78,0x08,0xd9,0xa4,0xac,0x23,0x01,0x00,0x00 + +## sha1msg2 + +# ATT: sha1msg2 %xmm13, %xmm12 +# INTEL: sha1msg2 xmm12, xmm13 +0x62,0x54,0x7c,0x08,0xda,0xe5 + +# ATT: sha1msg2 123(%rax,%rbx,4), %xmm12 +# INTEL: sha1msg2 xmm12, xmmword ptr [rax + 4*rbx + 123] +0x62,0x74,0x7c,0x08,0xda,0x64,0x98,0x7b + +# ATT: sha1msg2 %xmm13, %xmm12 +# INTEL: sha1msg2 xmm12, xmm13 +0x45,0x0f,0x38,0xca,0xe5 + +# ATT: sha1msg2 291(%r28,%r29,4), %xmm12 +# INTEL: sha1msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] +0x62,0x1c,0x78,0x08,0xda,0xa4,0xac,0x23,0x01,0x00,0x00 + +## sha1nexte + +# ATT: sha1nexte %xmm13, %xmm12 +# INTEL: sha1nexte xmm12, xmm13 +0x62,0x54,0x7c,0x08,0xd8,0xe5 + +# ATT: sha1nexte 123(%rax,%rbx,4), %xmm12 +# INTEL: sha1nexte xmm12, xmmword ptr [rax + 4*rbx + 123] +0x62,0x74,0x7c,0x08,0xd8,0x64,0x98,0x7b + +# ATT: sha1nexte %xmm13, %xmm12 +# INTEL: sha1nexte xmm12, xmm13 +0x45,0x0f,0x38,0xc8,0xe5 + +# ATT: sha1nexte 291(%r28,%r29,4), %xmm12 +# INTEL: sha1nexte xmm12, xmmword ptr [r28 + 4*r29 + 291] +0x62,0x1c,0x78,0x08,0xd8,0xa4,0xac,0x23,0x01,0x00,0x00 + +## sha1rnds4 + +# ATT: sha1rnds4 $123, %xmm13, %xmm12 +# INTEL: sha1rnds4 xmm12, xmm13, 123 +0x62,0x54,0x7c,0x08,0xd4,0xe5,0x7b + +# ATT: sha1rnds4 $123, 123(%rax,%rbx,4), %xmm12 +# INTEL: sha1rnds4 xmm12, xmmword ptr [rax + 4*rbx + 123], 123 +0x62,0x74,0x7c,0x08,0xd4,0x64,0x98,0x7b,0x7b + +# ATT: sha1rnds4 $123, %xmm13, %xmm12 +# INTEL: sha1rnds4 xmm12, xmm13, 123 +0x45,0x0f,0x3a,0xcc,0xe5,0x7b + +# ATT: sha1rnds4 $123, 291(%r28,%r29,4), %xmm12 +# INTEL: sha1rnds4 xmm12, xmmword ptr [r28 + 4*r29 + 291], 123 +0x62,0x1c,0x78,0x08,0xd4,0xa4,0xac,0x23,0x01,0x00,0x00,0x7b + +## sha256msg1 + +# ATT: sha256msg1 %xmm13, %xmm12 +# INTEL: sha256msg1 xmm12, xmm13 +0x62,0x54,0x7c,0x08,0xdc,0xe5 + +# ATT: sha256msg1 123(%rax,%rbx,4), %xmm12 +# INTEL: sha256msg1 xmm12, xmmword ptr [rax + 4*rbx + 123] +0x62,0x74,0x7c,0x08,0xdc,0x64,0x98,0x7b + +# ATT: sha256msg1 %xmm13, %xmm12 +# INTEL: sha256msg1 xmm12, xmm13 +0x45,0x0f,0x38,0xcc,0xe5 + +# ATT: sha256msg1 291(%r28,%r29,4), %xmm12 +# INTEL: sha256msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] +0x62,0x1c,0x78,0x08,0xdc,0xa4,0xac,0x23,0x01,0x00,0x00 + +## sha256msg2 + +# ATT: sha256msg2 %xmm13, %xmm12 +# INTEL: sha256msg2 xmm12, xmm13 +0x62,0x54,0x7c,0x08,0xdd,0xe5 + +# ATT: sha256msg2 123(%rax,%rbx,4), %xmm12 +# INTEL: sha256msg2 xmm12, xmmword ptr [rax + 4*rbx + 123] +0x62,0x74,0x7c,0x08,0xdd,0x64,0x98,0x7b + +# ATT: sha256msg2 %xmm13, %xmm12 +# INTEL: sha256msg2 xmm12, xmm13 +0x45,0x0f,0x38,0xcd,0xe5 + +# ATT: sha256msg2 291(%r28,%r29,4), %xmm12 +# INTEL: sha256msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] +0x62,0x1c,0x78,0x08,0xdd,0xa4,0xac,0x23,0x01,0x00,0x00 + +## sha256rnds2 + +# ATT: sha256rnds2 %xmm0, 123(%rax,%rbx,4), %xmm12 +# INTEL: sha256rnds2 xmm12, xmmword ptr [rax + 4*rbx + 123], xmm0 +0x62,0x74,0x7c,0x08,0xdb,0x64,0x98,0x7b + +# ATT: sha256rnds2 %xmm0, %xmm13, %xmm12 +# INTEL: sha256rnds2 xmm12, xmm13, xmm0 +0x45,0x0f,0x38,0xcb,0xe5 + +# ATT: sha256rnds2 %xmm0, 291(%r28,%r29,4), %xmm12 +# INTEL: sha256rnds2 xmm12, xmmword ptr [r28 + 4*r29 + 291], xmm0 +0x62,0x1c,0x78,0x08,0xdb,0xa4,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/sha1msg1.txt b/llvm/test/MC/Disassembler/X86/apx/sha1msg1.txt deleted file mode 100644 index 1c94fa88a3d3c..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/sha1msg1.txt +++ /dev/null @@ -1,10 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: sha1msg1 %xmm13, %xmm12 -# INTEL: sha1msg1 xmm12, xmm13 -0x45,0x0f,0x38,0xc9,0xe5 - -# ATT: sha1msg1 291(%r28,%r29,4), %xmm12 -# INTEL: sha1msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] -0x62,0x1c,0x78,0x08,0xd9,0xa4,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/sha1msg2.txt b/llvm/test/MC/Disassembler/X86/apx/sha1msg2.txt deleted file mode 100644 index 5fd17d9f32600..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/sha1msg2.txt +++ /dev/null @@ -1,10 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: sha1msg2 %xmm13, %xmm12 -# INTEL: sha1msg2 xmm12, xmm13 -0x45,0x0f,0x38,0xca,0xe5 - -# ATT: sha1msg2 291(%r28,%r29,4), %xmm12 -# INTEL: sha1msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] -0x62,0x1c,0x78,0x08,0xda,0xa4,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/sha1nexte.txt b/llvm/test/MC/Disassembler/X86/apx/sha1nexte.txt deleted file mode 100644 index 3c5eae3d7177f..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/sha1nexte.txt +++ /dev/null @@ -1,10 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: sha1nexte %xmm13, %xmm12 -# INTEL: sha1nexte xmm12, xmm13 -0x45,0x0f,0x38,0xc8,0xe5 - -# ATT: sha1nexte 291(%r28,%r29,4), %xmm12 -# INTEL: sha1nexte xmm12, xmmword ptr [r28 + 4*r29 + 291] -0x62,0x1c,0x78,0x08,0xd8,0xa4,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/sha1rnds4.txt b/llvm/test/MC/Disassembler/X86/apx/sha1rnds4.txt deleted file mode 100644 index a05f17739606a..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/sha1rnds4.txt +++ /dev/null @@ -1,10 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: sha1rnds4 $123, %xmm13, %xmm12 -# INTEL: sha1rnds4 xmm12, xmm13, 123 -0x45,0x0f,0x3a,0xcc,0xe5,0x7b - -# ATT: sha1rnds4 $123, 291(%r28,%r29,4), %xmm12 -# INTEL: sha1rnds4 xmm12, xmmword ptr [r28 + 4*r29 + 291], 123 -0x62,0x1c,0x78,0x08,0xd4,0xa4,0xac,0x23,0x01,0x00,0x00,0x7b diff --git a/llvm/test/MC/Disassembler/X86/apx/sha256msg1.txt b/llvm/test/MC/Disassembler/X86/apx/sha256msg1.txt deleted file mode 100644 index b4c14866647dd..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/sha256msg1.txt +++ /dev/null @@ -1,10 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: sha256msg1 %xmm13, %xmm12 -# INTEL: sha256msg1 xmm12, xmm13 -0x45,0x0f,0x38,0xcc,0xe5 - -# ATT: sha256msg1 291(%r28,%r29,4), %xmm12 -# INTEL: sha256msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] -0x62,0x1c,0x78,0x08,0xdc,0xa4,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/sha256msg2.txt b/llvm/test/MC/Disassembler/X86/apx/sha256msg2.txt deleted file mode 100644 index 75099b428e2b6..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/sha256msg2.txt +++ /dev/null @@ -1,10 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: sha256msg2 %xmm13, %xmm12 -# INTEL: sha256msg2 xmm12, xmm13 -0x45,0x0f,0x38,0xcd,0xe5 - -# ATT: sha256msg2 291(%r28,%r29,4), %xmm12 -# INTEL: sha256msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] -0x62,0x1c,0x78,0x08,0xdd,0xa4,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/sha256rnds2.txt b/llvm/test/MC/Disassembler/X86/apx/sha256rnds2.txt deleted file mode 100644 index 1ca60aa9e9b1a..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/sha256rnds2.txt +++ /dev/null @@ -1,10 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: sha256rnds2 %xmm0, %xmm13, %xmm12 -# INTEL: sha256rnds2 xmm12, xmm13, xmm0 -0x45,0x0f,0x38,0xcb,0xe5 - -# ATT: sha256rnds2 %xmm0, 291(%r28,%r29,4), %xmm12 -# INTEL: sha256rnds2 xmm12, xmmword ptr [r28 + 4*r29 + 291], xmm0 -0x62,0x1c,0x78,0x08,0xdb,0xa4,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/shlx.txt b/llvm/test/MC/Disassembler/X86/apx/shlx.txt deleted file mode 100644 index f6d6250bd0631..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/shlx.txt +++ /dev/null @@ -1,18 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: shlxl %r18d, %r22d, %r26d -# INTEL: shlx r26d, r22d, r18d -0x62,0x6a,0x6d,0x00,0xf7,0xd6 - -# ATT: shlxl %r18d, 291(%r28,%r29,4), %r22d -# INTEL: shlx r22d, dword ptr [r28 + 4*r29 + 291], r18d -0x62,0x8a,0x69,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 - -# ATT: shlxq %r19, %r23, %r27 -# INTEL: shlx r27, r23, r19 -0x62,0x6a,0xe5,0x00,0xf7,0xdf - -# ATT: shlxq %r19, 291(%r28,%r29,4), %r23 -# INTEL: shlx r23, qword ptr [r28 + 4*r29 + 291], r19 -0x62,0x8a,0xe1,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/shrx.txt b/llvm/test/MC/Disassembler/X86/apx/shrx.txt deleted file mode 100644 index 09750e05c127e..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/shrx.txt +++ /dev/null @@ -1,18 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: shrxl %r18d, %r22d, %r26d -# INTEL: shrx r26d, r22d, r18d -0x62,0x6a,0x6f,0x00,0xf7,0xd6 - -# ATT: shrxl %r18d, 291(%r28,%r29,4), %r22d -# INTEL: shrx r22d, dword ptr [r28 + 4*r29 + 291], r18d -0x62,0x8a,0x6b,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00 - -# ATT: shrxq %r19, %r23, %r27 -# INTEL: shrx r27, r23, r19 -0x62,0x6a,0xe7,0x00,0xf7,0xdf - -# ATT: shrxq %r19, 291(%r28,%r29,4), %r23 -# INTEL: shrx r23, qword ptr [r28 + 4*r29 + 291], r19 -0x62,0x8a,0xe3,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/vmx.txt b/llvm/test/MC/Disassembler/X86/apx/vmx.txt new file mode 100644 index 0000000000000..814830d38a7c7 --- /dev/null +++ b/llvm/test/MC/Disassembler/X86/apx/vmx.txt @@ -0,0 +1,22 @@ +# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT +# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL + +## invept + +# ATT: invept 291(%r28,%r29,4), %r19 +# INTEL: invept r19, xmmword ptr [r28 + 4*r29 + 291] +0x62,0x8c,0x7a,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00 + +# ATT: invept 123(%rax,%rbx,4), %r9 +# INTEL: invept r9, xmmword ptr [rax + 4*rbx + 123] +0x62,0x74,0x7e,0x08,0xf0,0x4c,0x98,0x7b + +## invvpid + +# ATT: invvpid 291(%r28,%r29,4), %r19 +# INTEL: invvpid r19, xmmword ptr [r28 + 4*r29 + 291] +0x62,0x8c,0x7a,0x08,0xf1,0x9c,0xac,0x23,0x01,0x00,0x00 + +# ATT: invvpid 123(%rax,%rbx,4), %r9 +# INTEL: invvpid r9, xmmword ptr [rax + 4*rbx + 123] +0x62,0x74,0x7e,0x08,0xf1,0x4c,0x98,0x7b diff --git a/llvm/test/MC/Disassembler/X86/apx/wrssd.txt b/llvm/test/MC/Disassembler/X86/apx/wrssd.txt deleted file mode 100644 index 600e85e1440e8..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/wrssd.txt +++ /dev/null @@ -1,6 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: wrssd %r18d, 291(%r28,%r29,4) -# INTEL: wrssd dword ptr [r28 + 4*r29 + 291], r18d -0x62,0x8c,0x78,0x08,0x66,0x94,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/wrssq.txt b/llvm/test/MC/Disassembler/X86/apx/wrssq.txt deleted file mode 100644 index 9f5b26321fd2b..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/wrssq.txt +++ /dev/null @@ -1,6 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: wrssq %r19, 291(%r28,%r29,4) -# INTEL: wrssq qword ptr [r28 + 4*r29 + 291], r19 -0x62,0x8c,0xf8,0x08,0x66,0x9c,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/wrussd.txt b/llvm/test/MC/Disassembler/X86/apx/wrussd.txt deleted file mode 100644 index 1b8b0007e2d32..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/wrussd.txt +++ /dev/null @@ -1,6 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: wrussd %r18d, 291(%r28,%r29,4) -# INTEL: wrussd dword ptr [r28 + 4*r29 + 291], r18d -0x62,0x8c,0x79,0x08,0x65,0x94,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/Disassembler/X86/apx/wrussq.txt b/llvm/test/MC/Disassembler/X86/apx/wrussq.txt deleted file mode 100644 index 7ff51f617c5cc..0000000000000 --- a/llvm/test/MC/Disassembler/X86/apx/wrussq.txt +++ /dev/null @@ -1,6 +0,0 @@ -# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT -# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL - -# ATT: wrussq %r19, 291(%r28,%r29,4) -# INTEL: wrussq qword ptr [r28 + 4*r29 + 291], r19 -0x62,0x8c,0xf9,0x08,0x65,0x9c,0xac,0x23,0x01,0x00,0x00 diff --git a/llvm/test/MC/X86/apx/amx-tile-att.s b/llvm/test/MC/X86/apx/amx-tile-att.s index f4a47c16d1939..427e30a41ea12 100644 --- a/llvm/test/MC/X86/apx/amx-tile-att.s +++ b/llvm/test/MC/X86/apx/amx-tile-att.s @@ -1,24 +1,55 @@ # RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s # RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR -# ERROR-COUNT-5: error: +# ERROR-COUNT-10: error: # ERROR-NOT: error: + +## ldtilecfg + +# CHECK: {evex} ldtilecfg 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x7c,0x08,0x49,0x44,0x98,0x7b] + {evex} ldtilecfg 123(%rax,%rbx,4) + # CHECK: ldtilecfg 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x9a,0x78,0x08,0x49,0x84,0xac,0x23,0x01,0x00,0x00] ldtilecfg 291(%r28,%r29,4) +## sttilecfg + +# CHECK: {evex} sttilecfg 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x7d,0x08,0x49,0x44,0x98,0x7b] + {evex} sttilecfg 123(%rax,%rbx,4) + # CHECK: sttilecfg 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x9a,0x79,0x08,0x49,0x84,0xac,0x23,0x01,0x00,0x00] sttilecfg 291(%r28,%r29,4) +## tileloadd + +# CHECK: {evex} tileloadd 123(%rax,%rbx,4), %tmm6 +# CHECK: encoding: [0x62,0xf2,0x7f,0x08,0x4b,0x74,0x98,0x7b] + {evex} tileloadd 123(%rax,%rbx,4), %tmm6 + # CHECK: tileloadd 291(%r28,%r29,4), %tmm6 # CHECK: encoding: [0x62,0x9a,0x7b,0x08,0x4b,0xb4,0xac,0x23,0x01,0x00,0x00] tileloadd 291(%r28,%r29,4), %tmm6 +## tileloaddt1 + +# CHECK: {evex} tileloaddt1 123(%rax,%rbx,4), %tmm6 +# CHECK: encoding: [0x62,0xf2,0x7d,0x08,0x4b,0x74,0x98,0x7b] + {evex} tileloaddt1 123(%rax,%rbx,4), %tmm6 + # CHECK: tileloaddt1 291(%r28,%r29,4), %tmm6 # CHECK: encoding: [0x62,0x9a,0x79,0x08,0x4b,0xb4,0xac,0x23,0x01,0x00,0x00] tileloaddt1 291(%r28,%r29,4), %tmm6 +## tilestored + +# CHECK: {evex} tilestored %tmm6, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x7e,0x08,0x4b,0x74,0x98,0x7b] + {evex} tilestored %tmm6, 123(%rax,%rbx,4) + # CHECK: tilestored %tmm6, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x9a,0x7a,0x08,0x4b,0xb4,0xac,0x23,0x01,0x00,0x00] tilestored %tmm6, 291(%r28,%r29,4) diff --git a/llvm/test/MC/X86/apx/amx-tile-intel.s b/llvm/test/MC/X86/apx/amx-tile-intel.s index dd7b87b1806c2..a2a1b31b9d9c9 100644 --- a/llvm/test/MC/X86/apx/amx-tile-intel.s +++ b/llvm/test/MC/X86/apx/amx-tile-intel.s @@ -1,21 +1,51 @@ # RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s +## ldtilecfg + +# CHECK: {evex} ldtilecfg [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0xf2,0x7c,0x08,0x49,0x44,0x98,0x7b] + {evex} ldtilecfg [rax + 4*rbx + 123] + # CHECK: ldtilecfg [r28 + 4*r29 + 291] # CHECK: encoding: [0x62,0x9a,0x78,0x08,0x49,0x84,0xac,0x23,0x01,0x00,0x00] ldtilecfg [r28 + 4*r29 + 291] +## sttilecfg + +# CHECK: {evex} sttilecfg [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0xf2,0x7d,0x08,0x49,0x44,0x98,0x7b] + {evex} sttilecfg [rax + 4*rbx + 123] + # CHECK: sttilecfg [r28 + 4*r29 + 291] # CHECK: encoding: [0x62,0x9a,0x79,0x08,0x49,0x84,0xac,0x23,0x01,0x00,0x00] sttilecfg [r28 + 4*r29 + 291] +## tileloadd + +# CHECK: {evex} tileloadd tmm6, [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0xf2,0x7f,0x08,0x4b,0x74,0x98,0x7b] + {evex} tileloadd tmm6, [rax + 4*rbx + 123] + # CHECK: tileloadd tmm6, [r28 + 4*r29 + 291] # CHECK: encoding: [0x62,0x9a,0x7b,0x08,0x4b,0xb4,0xac,0x23,0x01,0x00,0x00] tileloadd tmm6, [r28 + 4*r29 + 291] +## tileloaddt1 + +# CHECK: {evex} tileloaddt1 tmm6, [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0xf2,0x7d,0x08,0x4b,0x74,0x98,0x7b] + {evex} tileloaddt1 tmm6, [rax + 4*rbx + 123] + # CHECK: tileloaddt1 tmm6, [r28 + 4*r29 + 291] # CHECK: encoding: [0x62,0x9a,0x79,0x08,0x4b,0xb4,0xac,0x23,0x01,0x00,0x00] tileloaddt1 tmm6, [r28 + 4*r29 + 291] +## tilestored + +# CHECK: {evex} tilestored [rax + 4*rbx + 123], tmm6 +# CHECK: encoding: [0x62,0xf2,0x7e,0x08,0x4b,0x74,0x98,0x7b] + {evex} tilestored [rax + 4*rbx + 123], tmm6 + # CHECK: tilestored [r28 + 4*r29 + 291], tmm6 # CHECK: encoding: [0x62,0x9a,0x7a,0x08,0x4b,0xb4,0xac,0x23,0x01,0x00,0x00] tilestored [r28 + 4*r29 + 291], tmm6 diff --git a/llvm/test/MC/X86/apx/bmi2-att.s b/llvm/test/MC/X86/apx/bmi2-att.s new file mode 100644 index 0000000000000..14e8566e799d5 --- /dev/null +++ b/llvm/test/MC/X86/apx/bmi2-att.s @@ -0,0 +1,243 @@ +# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s +# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR + +# ERROR-COUNT-56: error: +# ERROR-NOT: error: + +## mulx + +# CHECK: {evex} mulxl %ecx, %edx, %r10d +# CHECK: encoding: [0x62,0x72,0x6f,0x08,0xf6,0xd1] + {evex} mulxl %ecx, %edx, %r10d + +# CHECK: {evex} mulxq %r9, %r15, %r11 +# CHECK: encoding: [0x62,0x52,0x87,0x08,0xf6,0xd9] + {evex} mulxq %r9, %r15, %r11 + +# CHECK: {evex} mulxl 123(%rax,%rbx,4), %ecx, %edx +# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf6,0x94,0x98,0x7b,0x00,0x00,0x00] + {evex} mulxl 123(%rax,%rbx,4), %ecx, %edx + +# CHECK: {evex} mulxq 123(%rax,%rbx,4), %r9, %r15 +# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf6,0xbc,0x98,0x7b,0x00,0x00,0x00] + {evex} mulxq 123(%rax,%rbx,4), %r9, %r15 + +# CHECK: mulxl %r18d, %r22d, %r26d +# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf6,0xd2] + mulxl %r18d, %r22d, %r26d + +# CHECK: mulxq %r19, %r23, %r27 +# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf6,0xdb] + mulxq %r19, %r23, %r27 + +# CHECK: mulxl 291(%r28,%r29,4), %r18d, %r22d +# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf6,0xb4,0xac,0x23,0x01,0x00,0x00] + mulxl 291(%r28,%r29,4), %r18d, %r22d + +# CHECK: mulxq 291(%r28,%r29,4), %r19, %r23 +# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf6,0xbc,0xac,0x23,0x01,0x00,0x00] + mulxq 291(%r28,%r29,4), %r19, %r23 + +## pdep + +# CHECK: {evex} pdepl %ecx, %edx, %r10d +# CHECK: encoding: [0x62,0x72,0x6f,0x08,0xf5,0xd1] + {evex} pdepl %ecx, %edx, %r10d + +# CHECK: {evex} pdepq %r9, %r15, %r11 +# CHECK: encoding: [0x62,0x52,0x87,0x08,0xf5,0xd9] + {evex} pdepq %r9, %r15, %r11 + +# CHECK: {evex} pdepl 123(%rax,%rbx,4), %ecx, %edx +# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf5,0x54,0x98,0x7b] + {evex} pdepl 123(%rax,%rbx,4), %ecx, %edx + +# CHECK: {evex} pdepq 123(%rax,%rbx,4), %r9, %r15 +# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf5,0x7c,0x98,0x7b] + {evex} pdepq 123(%rax,%rbx,4), %r9, %r15 + +# CHECK: pdepl %r18d, %r22d, %r26d +# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf5,0xd2] + pdepl %r18d, %r22d, %r26d + +# CHECK: pdepq %r19, %r23, %r27 +# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf5,0xdb] + pdepq %r19, %r23, %r27 + +# CHECK: pdepl 291(%r28,%r29,4), %r18d, %r22d +# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00] + pdepl 291(%r28,%r29,4), %r18d, %r22d + +# CHECK: pdepq 291(%r28,%r29,4), %r19, %r23 +# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00] + pdepq 291(%r28,%r29,4), %r19, %r23 + +## pext + +# CHECK: {evex} pextl %ecx, %edx, %r10d +# CHECK: encoding: [0x62,0x72,0x6e,0x08,0xf5,0xd1] + {evex} pextl %ecx, %edx, %r10d + +# CHECK: {evex} pextq %r9, %r15, %r11 +# CHECK: encoding: [0x62,0x52,0x86,0x08,0xf5,0xd9] + {evex} pextq %r9, %r15, %r11 + +# CHECK: {evex} pextl 123(%rax,%rbx,4), %ecx, %edx +# CHECK: encoding: [0x62,0xf2,0x76,0x08,0xf5,0x54,0x98,0x7b] + {evex} pextl 123(%rax,%rbx,4), %ecx, %edx + +# CHECK: {evex} pextq 123(%rax,%rbx,4), %r9, %r15 +# CHECK: encoding: [0x62,0x72,0xb6,0x08,0xf5,0x7c,0x98,0x7b] + {evex} pextq 123(%rax,%rbx,4), %r9, %r15 + +# CHECK: pextl %r18d, %r22d, %r26d +# CHECK: encoding: [0x62,0x6a,0x4e,0x00,0xf5,0xd2] + pextl %r18d, %r22d, %r26d + +# CHECK: pextq %r19, %r23, %r27 +# CHECK: encoding: [0x62,0x6a,0xc6,0x00,0xf5,0xdb] + pextq %r19, %r23, %r27 + +# CHECK: pextl 291(%r28,%r29,4), %r18d, %r22d +# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00] + pextl 291(%r28,%r29,4), %r18d, %r22d + +# CHECK: pextq 291(%r28,%r29,4), %r19, %r23 +# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00] + pextq 291(%r28,%r29,4), %r19, %r23 + +## rorx + +# CHECK: {evex} rorxl $123, %ecx, %edx +# CHECK: encoding: [0x62,0xf3,0x7f,0x08,0xf0,0xd1,0x7b] + {evex} rorxl $123, %ecx, %edx + +# CHECK: {evex} rorxq $123, %r9, %r15 +# CHECK: encoding: [0x62,0x53,0xff,0x08,0xf0,0xf9,0x7b] + {evex} rorxq $123, %r9, %r15 + +# CHECK: {evex} rorxl $123, 123(%rax,%rbx,4), %ecx +# CHECK: encoding: [0x62,0xf3,0x7f,0x08,0xf0,0x8c,0x98,0x7b,0x00,0x00,0x00,0x7b] + {evex} rorxl $123, 123(%rax,%rbx,4), %ecx + +# CHECK: {evex} rorxq $123, 123(%rax,%rbx,4), %r9 +# CHECK: encoding: [0x62,0x73,0xff,0x08,0xf0,0x8c,0x98,0x7b,0x00,0x00,0x00,0x7b] + {evex} rorxq $123, 123(%rax,%rbx,4), %r9 + +# CHECK: rorxl $123, %r18d, %r22d +# CHECK: encoding: [0x62,0xeb,0x7f,0x08,0xf0,0xf2,0x7b] + rorxl $123, %r18d, %r22d + +# CHECK: rorxq $123, %r19, %r23 +# CHECK: encoding: [0x62,0xeb,0xff,0x08,0xf0,0xfb,0x7b] + rorxq $123, %r19, %r23 + +# CHECK: rorxl $123, 291(%r28,%r29,4), %r18d +# CHECK: encoding: [0x62,0x8b,0x7b,0x08,0xf0,0x94,0xac,0x23,0x01,0x00,0x00,0x7b] + rorxl $123, 291(%r28,%r29,4), %r18d + +# CHECK: rorxq $123, 291(%r28,%r29,4), %r19 +# CHECK: encoding: [0x62,0x8b,0xfb,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00,0x7b] + rorxq $123, 291(%r28,%r29,4), %r19 + +## sarx + +# CHECK: {evex} sarxl %ecx, %edx, %r10d +# CHECK: encoding: [0x62,0x72,0x76,0x08,0xf7,0xd2] + {evex} sarxl %ecx, %edx, %r10d + +# CHECK: {evex} sarxl %ecx, 123(%rax,%rbx,4), %edx +# CHECK: encoding: [0x62,0xf2,0x76,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00] + {evex} sarxl %ecx, 123(%rax,%rbx,4), %edx + +# CHECK: {evex} sarxq %r9, %r15, %r11 +# CHECK: encoding: [0x62,0x52,0xb6,0x08,0xf7,0xdf] + {evex} sarxq %r9, %r15, %r11 + +# CHECK: {evex} sarxq %r9, 123(%rax,%rbx,4), %r15 +# CHECK: encoding: [0x62,0x72,0xb6,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00] + {evex} sarxq %r9, 123(%rax,%rbx,4), %r15 + +# CHECK: sarxl %r18d, %r22d, %r26d +# CHECK: encoding: [0x62,0x6a,0x6e,0x00,0xf7,0xd6] + sarxl %r18d, %r22d, %r26d + +# CHECK: sarxl %r18d, 291(%r28,%r29,4), %r22d +# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] + sarxl %r18d, 291(%r28,%r29,4), %r22d + +# CHECK: sarxq %r19, %r23, %r27 +# CHECK: encoding: [0x62,0x6a,0xe6,0x00,0xf7,0xdf] + sarxq %r19, %r23, %r27 + +# CHECK: sarxq %r19, 291(%r28,%r29,4), %r23 +# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] + sarxq %r19, 291(%r28,%r29,4), %r23 + +## shlx + +# CHECK: {evex} shlxl %ecx, %edx, %r10d +# CHECK: encoding: [0x62,0x72,0x75,0x08,0xf7,0xd2] + {evex} shlxl %ecx, %edx, %r10d + +# CHECK: {evex} shlxl %ecx, 123(%rax,%rbx,4), %edx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00] + {evex} shlxl %ecx, 123(%rax,%rbx,4), %edx + +# CHECK: {evex} shlxq %r9, %r15, %r11 +# CHECK: encoding: [0x62,0x52,0xb5,0x08,0xf7,0xdf] + {evex} shlxq %r9, %r15, %r11 + +# CHECK: {evex} shlxq %r9, 123(%rax,%rbx,4), %r15 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00] + {evex} shlxq %r9, 123(%rax,%rbx,4), %r15 + +# CHECK: shlxl %r18d, %r22d, %r26d +# CHECK: encoding: [0x62,0x6a,0x6d,0x00,0xf7,0xd6] + shlxl %r18d, %r22d, %r26d + +# CHECK: shlxl %r18d, 291(%r28,%r29,4), %r22d +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] + shlxl %r18d, 291(%r28,%r29,4), %r22d + +# CHECK: shlxq %r19, %r23, %r27 +# CHECK: encoding: [0x62,0x6a,0xe5,0x00,0xf7,0xdf] + shlxq %r19, %r23, %r27 + +# CHECK: shlxq %r19, 291(%r28,%r29,4), %r23 +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] + shlxq %r19, 291(%r28,%r29,4), %r23 + +## shrx + +# CHECK: {evex} shrxl %ecx, %edx, %r10d +# CHECK: encoding: [0x62,0x72,0x77,0x08,0xf7,0xd2] + {evex} shrxl %ecx, %edx, %r10d + +# CHECK: {evex} shrxl %ecx, 123(%rax,%rbx,4), %edx +# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00] + {evex} shrxl %ecx, 123(%rax,%rbx,4), %edx + +# CHECK: {evex} shrxq %r9, %r15, %r11 +# CHECK: encoding: [0x62,0x52,0xb7,0x08,0xf7,0xdf] + {evex} shrxq %r9, %r15, %r11 + +# CHECK: {evex} shrxq %r9, 123(%rax,%rbx,4), %r15 +# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00] + {evex} shrxq %r9, 123(%rax,%rbx,4), %r15 + +# CHECK: shrxl %r18d, %r22d, %r26d +# CHECK: encoding: [0x62,0x6a,0x6f,0x00,0xf7,0xd6] + shrxl %r18d, %r22d, %r26d + +# CHECK: shrxl %r18d, 291(%r28,%r29,4), %r22d +# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] + shrxl %r18d, 291(%r28,%r29,4), %r22d + +# CHECK: shrxq %r19, %r23, %r27 +# CHECK: encoding: [0x62,0x6a,0xe7,0x00,0xf7,0xdf] + shrxq %r19, %r23, %r27 + +# CHECK: shrxq %r19, 291(%r28,%r29,4), %r23 +# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] + shrxq %r19, 291(%r28,%r29,4), %r23 diff --git a/llvm/test/MC/X86/apx/bmi2-intel.s b/llvm/test/MC/X86/apx/bmi2-intel.s new file mode 100644 index 0000000000000..f21004fdd696a --- /dev/null +++ b/llvm/test/MC/X86/apx/bmi2-intel.s @@ -0,0 +1,239 @@ +# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s + +## mulx + +# CHECK: {evex} mulx r10d, edx, ecx +# CHECK: encoding: [0x62,0x72,0x6f,0x08,0xf6,0xd1] + {evex} mulx r10d, edx, ecx + +# CHECK: {evex} mulx r11, r15, r9 +# CHECK: encoding: [0x62,0x52,0x87,0x08,0xf6,0xd9] + {evex} mulx r11, r15, r9 + +# CHECK: {evex} mulx edx, ecx, dword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf6,0x94,0x98,0x7b,0x00,0x00,0x00] + {evex} mulx edx, ecx, dword ptr [rax + 4*rbx + 123] + +# CHECK: {evex} mulx r15, r9, qword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf6,0xbc,0x98,0x7b,0x00,0x00,0x00] + {evex} mulx r15, r9, qword ptr [rax + 4*rbx + 123] + +# CHECK: mulx r26d, r22d, r18d +# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf6,0xd2] + mulx r26d, r22d, r18d + +# CHECK: mulx r27, r23, r19 +# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf6,0xdb] + mulx r27, r23, r19 + +# CHECK: mulx r22d, r18d, dword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf6,0xb4,0xac,0x23,0x01,0x00,0x00] + mulx r22d, r18d, dword ptr [r28 + 4*r29 + 291] + +# CHECK: mulx r23, r19, qword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf6,0xbc,0xac,0x23,0x01,0x00,0x00] + mulx r23, r19, qword ptr [r28 + 4*r29 + 291] + +## pdep + +# CHECK: {evex} pdep r10d, edx, ecx +# CHECK: encoding: [0x62,0x72,0x6f,0x08,0xf5,0xd1] + {evex} pdep r10d, edx, ecx + +# CHECK: {evex} pdep r11, r15, r9 +# CHECK: encoding: [0x62,0x52,0x87,0x08,0xf5,0xd9] + {evex} pdep r11, r15, r9 + +# CHECK: {evex} pdep edx, ecx, dword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf5,0x54,0x98,0x7b] + {evex} pdep edx, ecx, dword ptr [rax + 4*rbx + 123] + +# CHECK: {evex} pdep r15, r9, qword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf5,0x7c,0x98,0x7b] + {evex} pdep r15, r9, qword ptr [rax + 4*rbx + 123] + +# CHECK: pdep r26d, r22d, r18d +# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf5,0xd2] + pdep r26d, r22d, r18d + +# CHECK: pdep r27, r23, r19 +# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf5,0xdb] + pdep r27, r23, r19 + +# CHECK: pdep r22d, r18d, dword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00] + pdep r22d, r18d, dword ptr [r28 + 4*r29 + 291] + +# CHECK: pdep r23, r19, qword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00] + pdep r23, r19, qword ptr [r28 + 4*r29 + 291] + +## pext + +# CHECK: {evex} pext r10d, edx, ecx +# CHECK: encoding: [0x62,0x72,0x6e,0x08,0xf5,0xd1] + {evex} pext r10d, edx, ecx + +# CHECK: {evex} pext r11, r15, r9 +# CHECK: encoding: [0x62,0x52,0x86,0x08,0xf5,0xd9] + {evex} pext r11, r15, r9 + +# CHECK: {evex} pext edx, ecx, dword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0xf2,0x76,0x08,0xf5,0x54,0x98,0x7b] + {evex} pext edx, ecx, dword ptr [rax + 4*rbx + 123] + +# CHECK: {evex} pext r15, r9, qword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x72,0xb6,0x08,0xf5,0x7c,0x98,0x7b] + {evex} pext r15, r9, qword ptr [rax + 4*rbx + 123] + +# CHECK: pext r26d, r22d, r18d +# CHECK: encoding: [0x62,0x6a,0x4e,0x00,0xf5,0xd2] + pext r26d, r22d, r18d + +# CHECK: pext r27, r23, r19 +# CHECK: encoding: [0x62,0x6a,0xc6,0x00,0xf5,0xdb] + pext r27, r23, r19 + +# CHECK: pext r22d, r18d, dword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00] + pext r22d, r18d, dword ptr [r28 + 4*r29 + 291] + +# CHECK: pext r23, r19, qword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00] + pext r23, r19, qword ptr [r28 + 4*r29 + 291] + +## rorx + +# CHECK: {evex} rorx edx, ecx, 123 +# CHECK: encoding: [0x62,0xf3,0x7f,0x08,0xf0,0xd1,0x7b] + {evex} rorx edx, ecx, 123 + +# CHECK: {evex} rorx r15, r9, 123 +# CHECK: encoding: [0x62,0x53,0xff,0x08,0xf0,0xf9,0x7b] + {evex} rorx r15, r9, 123 + +# CHECK: {evex} rorx ecx, dword ptr [rax + 4*rbx + 123], 123 +# CHECK: encoding: [0x62,0xf3,0x7f,0x08,0xf0,0x8c,0x98,0x7b,0x00,0x00,0x00,0x7b] + {evex} rorx ecx, dword ptr [rax + 4*rbx + 123], 123 + +# CHECK: {evex} rorx r9, qword ptr [rax + 4*rbx + 123], 123 +# CHECK: encoding: [0x62,0x73,0xff,0x08,0xf0,0x8c,0x98,0x7b,0x00,0x00,0x00,0x7b] + {evex} rorx r9, qword ptr [rax + 4*rbx + 123], 123 + +# CHECK: rorx r22d, r18d, 123 +# CHECK: encoding: [0x62,0xeb,0x7f,0x08,0xf0,0xf2,0x7b] + rorx r22d, r18d, 123 + +# CHECK: rorx r23, r19, 123 +# CHECK: encoding: [0x62,0xeb,0xff,0x08,0xf0,0xfb,0x7b] + rorx r23, r19, 123 + +# CHECK: rorx r18d, dword ptr [r28 + 4*r29 + 291], 123 +# CHECK: encoding: [0x62,0x8b,0x7b,0x08,0xf0,0x94,0xac,0x23,0x01,0x00,0x00,0x7b] + rorx r18d, dword ptr [r28 + 4*r29 + 291], 123 + +# CHECK: rorx r19, qword ptr [r28 + 4*r29 + 291], 123 +# CHECK: encoding: [0x62,0x8b,0xfb,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00,0x7b] + rorx r19, qword ptr [r28 + 4*r29 + 291], 123 + +## sarx + +# CHECK: {evex} sarx r10d, edx, ecx +# CHECK: encoding: [0x62,0x72,0x76,0x08,0xf7,0xd2] + {evex} sarx r10d, edx, ecx + +# CHECK: {evex} sarx edx, dword ptr [rax + 4*rbx + 123], ecx +# CHECK: encoding: [0x62,0xf2,0x76,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00] + {evex} sarx edx, dword ptr [rax + 4*rbx + 123], ecx + +# CHECK: {evex} sarx r11, r15, r9 +# CHECK: encoding: [0x62,0x52,0xb6,0x08,0xf7,0xdf] + {evex} sarx r11, r15, r9 + +# CHECK: {evex} sarx r15, qword ptr [rax + 4*rbx + 123], r9 +# CHECK: encoding: [0x62,0x72,0xb6,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00] + {evex} sarx r15, qword ptr [rax + 4*rbx + 123], r9 + +# CHECK: sarx r26d, r22d, r18d +# CHECK: encoding: [0x62,0x6a,0x6e,0x00,0xf7,0xd6] + sarx r26d, r22d, r18d + +# CHECK: sarx r22d, dword ptr [r28 + 4*r29 + 291], r18d +# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] + sarx r22d, dword ptr [r28 + 4*r29 + 291], r18d + +# CHECK: sarx r27, r23, r19 +# CHECK: encoding: [0x62,0x6a,0xe6,0x00,0xf7,0xdf] + sarx r27, r23, r19 + +# CHECK: sarx r23, qword ptr [r28 + 4*r29 + 291], r19 +# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] + sarx r23, qword ptr [r28 + 4*r29 + 291], r19 + +## shlx + +# CHECK: {evex} shlx r10d, edx, ecx +# CHECK: encoding: [0x62,0x72,0x75,0x08,0xf7,0xd2] + {evex} shlx r10d, edx, ecx + +# CHECK: {evex} shlx edx, dword ptr [rax + 4*rbx + 123], ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00] + {evex} shlx edx, dword ptr [rax + 4*rbx + 123], ecx + +# CHECK: {evex} shlx r11, r15, r9 +# CHECK: encoding: [0x62,0x52,0xb5,0x08,0xf7,0xdf] + {evex} shlx r11, r15, r9 + +# CHECK: {evex} shlx r15, qword ptr [rax + 4*rbx + 123], r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00] + {evex} shlx r15, qword ptr [rax + 4*rbx + 123], r9 + +# CHECK: shlx r26d, r22d, r18d +# CHECK: encoding: [0x62,0x6a,0x6d,0x00,0xf7,0xd6] + shlx r26d, r22d, r18d + +# CHECK: shlx r22d, dword ptr [r28 + 4*r29 + 291], r18d +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] + shlx r22d, dword ptr [r28 + 4*r29 + 291], r18d + +# CHECK: shlx r27, r23, r19 +# CHECK: encoding: [0x62,0x6a,0xe5,0x00,0xf7,0xdf] + shlx r27, r23, r19 + +# CHECK: shlx r23, qword ptr [r28 + 4*r29 + 291], r19 +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] + shlx r23, qword ptr [r28 + 4*r29 + 291], r19 + +## shrx + +# CHECK: {evex} shrx r10d, edx, ecx +# CHECK: encoding: [0x62,0x72,0x77,0x08,0xf7,0xd2] + {evex} shrx r10d, edx, ecx + +# CHECK: {evex} shrx edx, dword ptr [rax + 4*rbx + 123], ecx +# CHECK: encoding: [0x62,0xf2,0x77,0x08,0xf7,0x94,0x98,0x7b,0x00,0x00,0x00] + {evex} shrx edx, dword ptr [rax + 4*rbx + 123], ecx + +# CHECK: {evex} shrx r11, r15, r9 +# CHECK: encoding: [0x62,0x52,0xb7,0x08,0xf7,0xdf] + {evex} shrx r11, r15, r9 + +# CHECK: {evex} shrx r15, qword ptr [rax + 4*rbx + 123], r9 +# CHECK: encoding: [0x62,0x72,0xb7,0x08,0xf7,0xbc,0x98,0x7b,0x00,0x00,0x00] + {evex} shrx r15, qword ptr [rax + 4*rbx + 123], r9 + +# CHECK: shrx r26d, r22d, r18d +# CHECK: encoding: [0x62,0x6a,0x6f,0x00,0xf7,0xd6] + shrx r26d, r22d, r18d + +# CHECK: shrx r22d, dword ptr [r28 + 4*r29 + 291], r18d +# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] + shrx r22d, dword ptr [r28 + 4*r29 + 291], r18d + +# CHECK: shrx r27, r23, r19 +# CHECK: encoding: [0x62,0x6a,0xe7,0x00,0xf7,0xdf] + shrx r27, r23, r19 + +# CHECK: shrx r23, qword ptr [r28 + 4*r29 + 291], r19 +# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] + shrx r23, qword ptr [r28 + 4*r29 + 291], r19 diff --git a/llvm/test/MC/X86/apx/cet-att.s b/llvm/test/MC/X86/apx/cet-att.s new file mode 100644 index 0000000000000..ec8614856686b --- /dev/null +++ b/llvm/test/MC/X86/apx/cet-att.s @@ -0,0 +1,45 @@ +# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s +# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR + +# ERROR-COUNT-8: error: +# ERROR-NOT: error: + +## wrssd + +# CHECK: {evex} wrssd %ecx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x66,0x4c,0x98,0x7b] + {evex} wrssd %ecx, 123(%rax,%rbx,4) + +# CHECK: wrssd %r18d, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8c,0x78,0x08,0x66,0x94,0xac,0x23,0x01,0x00,0x00] + wrssd %r18d, 291(%r28,%r29,4) + +## wrssq + +# CHECK: {evex} wrssq %r9, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x74,0xfc,0x08,0x66,0x4c,0x98,0x7b] + {evex} wrssq %r9, 123(%rax,%rbx,4) + +# CHECK: wrssq %r19, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0x66,0x9c,0xac,0x23,0x01,0x00,0x00] + wrssq %r19, 291(%r28,%r29,4) + +## wrussd + +# CHECK: {evex} wrussd %ecx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x65,0x4c,0x98,0x7b] + {evex} wrussd %ecx, 123(%rax,%rbx,4) + +# CHECK: wrussd %r18d, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8c,0x79,0x08,0x65,0x94,0xac,0x23,0x01,0x00,0x00] + wrussd %r18d, 291(%r28,%r29,4) + +## wrussq + +# CHECK: {evex} wrussq %r9, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x74,0xfd,0x08,0x65,0x4c,0x98,0x7b] + {evex} wrussq %r9, 123(%rax,%rbx,4) + +# CHECK: wrussq %r19, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8c,0xf9,0x08,0x65,0x9c,0xac,0x23,0x01,0x00,0x00] + wrussq %r19, 291(%r28,%r29,4) diff --git a/llvm/test/MC/X86/apx/cet-intel.s b/llvm/test/MC/X86/apx/cet-intel.s new file mode 100644 index 0000000000000..e3d1427cd214a --- /dev/null +++ b/llvm/test/MC/X86/apx/cet-intel.s @@ -0,0 +1,41 @@ +# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s + +## wrssd + +# CHECK: {evex} wrssd dword ptr [rax + 4*rbx + 123], ecx +# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x66,0x4c,0x98,0x7b] + {evex} wrssd dword ptr [rax + 4*rbx + 123], ecx + +# CHECK: wrssd dword ptr [r28 + 4*r29 + 291], r18d +# CHECK: encoding: [0x62,0x8c,0x78,0x08,0x66,0x94,0xac,0x23,0x01,0x00,0x00] + wrssd dword ptr [r28 + 4*r29 + 291], r18d + +## wrssq + +# CHECK: {evex} wrssq qword ptr [rax + 4*rbx + 123], r9 +# CHECK: encoding: [0x62,0x74,0xfc,0x08,0x66,0x4c,0x98,0x7b] + {evex} wrssq qword ptr [rax + 4*rbx + 123], r9 + +# CHECK: wrssq qword ptr [r28 + 4*r29 + 291], r19 +# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0x66,0x9c,0xac,0x23,0x01,0x00,0x00] + wrssq qword ptr [r28 + 4*r29 + 291], r19 + +## wrussd + +# CHECK: {evex} wrussd dword ptr [rax + 4*rbx + 123], ecx +# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x65,0x4c,0x98,0x7b] + {evex} wrussd dword ptr [rax + 4*rbx + 123], ecx + +# CHECK: wrussd dword ptr [r28 + 4*r29 + 291], r18d +# CHECK: encoding: [0x62,0x8c,0x79,0x08,0x65,0x94,0xac,0x23,0x01,0x00,0x00] + wrussd dword ptr [r28 + 4*r29 + 291], r18d + +## wrussq + +# CHECK: {evex} wrussq qword ptr [rax + 4*rbx + 123], r9 +# CHECK: encoding: [0x62,0x74,0xfd,0x08,0x65,0x4c,0x98,0x7b] + {evex} wrussq qword ptr [rax + 4*rbx + 123], r9 + +# CHECK: wrussq qword ptr [r28 + 4*r29 + 291], r19 +# CHECK: encoding: [0x62,0x8c,0xf9,0x08,0x65,0x9c,0xac,0x23,0x01,0x00,0x00] + wrussq qword ptr [r28 + 4*r29 + 291], r19 diff --git a/llvm/test/MC/X86/apx/cmpccxadd-att.s b/llvm/test/MC/X86/apx/cmpccxadd-att.s index ce23588a18499..7ff803ad79ecb 100644 --- a/llvm/test/MC/X86/apx/cmpccxadd-att.s +++ b/llvm/test/MC/X86/apx/cmpccxadd-att.s @@ -1,8 +1,32 @@ # RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s # RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR -# ERROR-COUNT-30: error: +# ERROR-COUNT-60: error: # ERROR-NOT: error: +# CHECK: {evex} cmpaxadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe7,0x54,0x98,0x7b] + {evex} cmpaxadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmpaxadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe7,0x7c,0x98,0x7b] + {evex} cmpaxadd %r9, %r15, 123(%rax,%rbx,4) + +# CHECK: cmpaxadd %r18d, %r22d, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe7,0xb4,0xac,0x23,0x01,0x00,0x00] + cmpaxadd %r18d, %r22d, 291(%r28,%r29,4) + +# CHECK: cmpaxadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe7,0xbc,0xac,0x23,0x01,0x00,0x00] + cmpaxadd %r19, %r23, 291(%r28,%r29,4) + +# CHECK: {evex} cmpbexadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe6,0x54,0x98,0x7b] + {evex} cmpbexadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmpbexadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe6,0x7c,0x98,0x7b] + {evex} cmpbexadd %r9, %r15, 123(%rax,%rbx,4) + # CHECK: cmpbexadd %r18d, %r22d, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe6,0xb4,0xac,0x23,0x01,0x00,0x00] cmpbexadd %r18d, %r22d, 291(%r28,%r29,4) @@ -11,6 +35,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe6,0xbc,0xac,0x23,0x01,0x00,0x00] cmpbexadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: {evex} cmpbxadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe2,0x54,0x98,0x7b] + {evex} cmpbxadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmpbxadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe2,0x7c,0x98,0x7b] + {evex} cmpbxadd %r9, %r15, 123(%rax,%rbx,4) + # CHECK: cmpbxadd %r18d, %r22d, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe2,0xb4,0xac,0x23,0x01,0x00,0x00] cmpbxadd %r18d, %r22d, 291(%r28,%r29,4) @@ -19,6 +51,62 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe2,0xbc,0xac,0x23,0x01,0x00,0x00] cmpbxadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: {evex} cmpexadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe4,0x54,0x98,0x7b] + {evex} cmpexadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmpexadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe4,0x7c,0x98,0x7b] + {evex} cmpexadd %r9, %r15, 123(%rax,%rbx,4) + +# CHECK: cmpexadd %r18d, %r22d, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe4,0xb4,0xac,0x23,0x01,0x00,0x00] + cmpexadd %r18d, %r22d, 291(%r28,%r29,4) + +# CHECK: cmpexadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe4,0xbc,0xac,0x23,0x01,0x00,0x00] + cmpexadd %r19, %r23, 291(%r28,%r29,4) + +# CHECK: {evex} cmpgexadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xed,0x54,0x98,0x7b] + {evex} cmpgexadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmpgexadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xed,0x7c,0x98,0x7b] + {evex} cmpgexadd %r9, %r15, 123(%rax,%rbx,4) + +# CHECK: cmpgexadd %r18d, %r22d, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xed,0xb4,0xac,0x23,0x01,0x00,0x00] + cmpgexadd %r18d, %r22d, 291(%r28,%r29,4) + +# CHECK: cmpgexadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xed,0xbc,0xac,0x23,0x01,0x00,0x00] + cmpgexadd %r19, %r23, 291(%r28,%r29,4) + +# CHECK: {evex} cmpgxadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xef,0x54,0x98,0x7b] + {evex} cmpgxadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmpgxadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xef,0x7c,0x98,0x7b] + {evex} cmpgxadd %r9, %r15, 123(%rax,%rbx,4) + +# CHECK: cmpgxadd %r18d, %r22d, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xef,0xb4,0xac,0x23,0x01,0x00,0x00] + cmpgxadd %r18d, %r22d, 291(%r28,%r29,4) + +# CHECK: cmpgxadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xef,0xbc,0xac,0x23,0x01,0x00,0x00] + cmpgxadd %r19, %r23, 291(%r28,%r29,4) + +# CHECK: {evex} cmplexadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xee,0x54,0x98,0x7b] + {evex} cmplexadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmplexadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xee,0x7c,0x98,0x7b] + {evex} cmplexadd %r9, %r15, 123(%rax,%rbx,4) + # CHECK: cmplexadd %r18d, %r22d, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xee,0xb4,0xac,0x23,0x01,0x00,0x00] cmplexadd %r18d, %r22d, 291(%r28,%r29,4) @@ -27,6 +115,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xee,0xbc,0xac,0x23,0x01,0x00,0x00] cmplexadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: {evex} cmplxadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xec,0x54,0x98,0x7b] + {evex} cmplxadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmplxadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xec,0x7c,0x98,0x7b] + {evex} cmplxadd %r9, %r15, 123(%rax,%rbx,4) + # CHECK: cmplxadd %r18d, %r22d, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xec,0xb4,0xac,0x23,0x01,0x00,0x00] cmplxadd %r18d, %r22d, 291(%r28,%r29,4) @@ -35,29 +131,29 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xec,0xbc,0xac,0x23,0x01,0x00,0x00] cmplxadd %r19, %r23, 291(%r28,%r29,4) -# CHECK: cmpaxadd %r18d, %r22d, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe7,0xb4,0xac,0x23,0x01,0x00,0x00] - cmpaxadd %r18d, %r22d, 291(%r28,%r29,4) +# CHECK: {evex} cmpnexadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe5,0x54,0x98,0x7b] + {evex} cmpnexadd %ecx, %edx, 123(%rax,%rbx,4) -# CHECK: cmpaxadd %r19, %r23, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe7,0xbc,0xac,0x23,0x01,0x00,0x00] - cmpaxadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: {evex} cmpnexadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe5,0x7c,0x98,0x7b] + {evex} cmpnexadd %r9, %r15, 123(%rax,%rbx,4) -# CHECK: cmpgxadd %r18d, %r22d, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xef,0xb4,0xac,0x23,0x01,0x00,0x00] - cmpgxadd %r18d, %r22d, 291(%r28,%r29,4) +# CHECK: cmpnexadd %r18d, %r22d, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe5,0xb4,0xac,0x23,0x01,0x00,0x00] + cmpnexadd %r18d, %r22d, 291(%r28,%r29,4) -# CHECK: cmpgxadd %r19, %r23, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xef,0xbc,0xac,0x23,0x01,0x00,0x00] - cmpgxadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: cmpnexadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe5,0xbc,0xac,0x23,0x01,0x00,0x00] + cmpnexadd %r19, %r23, 291(%r28,%r29,4) -# CHECK: cmpgexadd %r18d, %r22d, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xed,0xb4,0xac,0x23,0x01,0x00,0x00] - cmpgexadd %r18d, %r22d, 291(%r28,%r29,4) +# CHECK: {evex} cmpnoxadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe1,0x54,0x98,0x7b] + {evex} cmpnoxadd %ecx, %edx, 123(%rax,%rbx,4) -# CHECK: cmpgexadd %r19, %r23, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xed,0xbc,0xac,0x23,0x01,0x00,0x00] - cmpgexadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: {evex} cmpnoxadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe1,0x7c,0x98,0x7b] + {evex} cmpnoxadd %r9, %r15, 123(%rax,%rbx,4) # CHECK: cmpnoxadd %r18d, %r22d, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe1,0xb4,0xac,0x23,0x01,0x00,0x00] @@ -67,6 +163,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe1,0xbc,0xac,0x23,0x01,0x00,0x00] cmpnoxadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: {evex} cmpnpxadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xeb,0x54,0x98,0x7b] + {evex} cmpnpxadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmpnpxadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xeb,0x7c,0x98,0x7b] + {evex} cmpnpxadd %r9, %r15, 123(%rax,%rbx,4) + # CHECK: cmpnpxadd %r18d, %r22d, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xeb,0xb4,0xac,0x23,0x01,0x00,0x00] cmpnpxadd %r18d, %r22d, 291(%r28,%r29,4) @@ -75,6 +179,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xeb,0xbc,0xac,0x23,0x01,0x00,0x00] cmpnpxadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: {evex} cmpnsxadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe9,0x54,0x98,0x7b] + {evex} cmpnsxadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmpnsxadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe9,0x7c,0x98,0x7b] + {evex} cmpnsxadd %r9, %r15, 123(%rax,%rbx,4) + # CHECK: cmpnsxadd %r18d, %r22d, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe9,0xb4,0xac,0x23,0x01,0x00,0x00] cmpnsxadd %r18d, %r22d, 291(%r28,%r29,4) @@ -83,13 +195,13 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe9,0xbc,0xac,0x23,0x01,0x00,0x00] cmpnsxadd %r19, %r23, 291(%r28,%r29,4) -# CHECK: cmpnexadd %r18d, %r22d, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe5,0xb4,0xac,0x23,0x01,0x00,0x00] - cmpnexadd %r18d, %r22d, 291(%r28,%r29,4) +# CHECK: {evex} cmpoxadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe0,0x54,0x98,0x7b] + {evex} cmpoxadd %ecx, %edx, 123(%rax,%rbx,4) -# CHECK: cmpnexadd %r19, %r23, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe5,0xbc,0xac,0x23,0x01,0x00,0x00] - cmpnexadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: {evex} cmpoxadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe0,0x7c,0x98,0x7b] + {evex} cmpoxadd %r9, %r15, 123(%rax,%rbx,4) # CHECK: cmpoxadd %r18d, %r22d, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe0,0xb4,0xac,0x23,0x01,0x00,0x00] @@ -99,6 +211,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe0,0xbc,0xac,0x23,0x01,0x00,0x00] cmpoxadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: {evex} cmppxadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xea,0x54,0x98,0x7b] + {evex} cmppxadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmppxadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xea,0x7c,0x98,0x7b] + {evex} cmppxadd %r9, %r15, 123(%rax,%rbx,4) + # CHECK: cmppxadd %r18d, %r22d, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xea,0xb4,0xac,0x23,0x01,0x00,0x00] cmppxadd %r18d, %r22d, 291(%r28,%r29,4) @@ -107,6 +227,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xea,0xbc,0xac,0x23,0x01,0x00,0x00] cmppxadd %r19, %r23, 291(%r28,%r29,4) +# CHECK: {evex} cmpsxadd %ecx, %edx, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe8,0x54,0x98,0x7b] + {evex} cmpsxadd %ecx, %edx, 123(%rax,%rbx,4) + +# CHECK: {evex} cmpsxadd %r9, %r15, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe8,0x7c,0x98,0x7b] + {evex} cmpsxadd %r9, %r15, 123(%rax,%rbx,4) + # CHECK: cmpsxadd %r18d, %r22d, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe8,0xb4,0xac,0x23,0x01,0x00,0x00] cmpsxadd %r18d, %r22d, 291(%r28,%r29,4) @@ -114,11 +242,3 @@ # CHECK: cmpsxadd %r19, %r23, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe8,0xbc,0xac,0x23,0x01,0x00,0x00] cmpsxadd %r19, %r23, 291(%r28,%r29,4) - -# CHECK: cmpexadd %r18d, %r22d, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe4,0xb4,0xac,0x23,0x01,0x00,0x00] - cmpexadd %r18d, %r22d, 291(%r28,%r29,4) - -# CHECK: cmpexadd %r19, %r23, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe4,0xbc,0xac,0x23,0x01,0x00,0x00] - cmpexadd %r19, %r23, 291(%r28,%r29,4) diff --git a/llvm/test/MC/X86/apx/cmpccxadd-intel.s b/llvm/test/MC/X86/apx/cmpccxadd-intel.s index c2630d3d9273b..cace33e59d6a7 100644 --- a/llvm/test/MC/X86/apx/cmpccxadd-intel.s +++ b/llvm/test/MC/X86/apx/cmpccxadd-intel.s @@ -1,5 +1,29 @@ # RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s +# CHECK: {evex} cmpaxadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe7,0x54,0x98,0x7b] + {evex} cmpaxadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmpaxadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe7,0x7c,0x98,0x7b] + {evex} cmpaxadd qword ptr [rax + 4*rbx + 123], r15, r9 + +# CHECK: cmpaxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe7,0xb4,0xac,0x23,0x01,0x00,0x00] + cmpaxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d + +# CHECK: cmpaxadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe7,0xbc,0xac,0x23,0x01,0x00,0x00] + cmpaxadd qword ptr [r28 + 4*r29 + 291], r23, r19 + +# CHECK: {evex} cmpbexadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe6,0x54,0x98,0x7b] + {evex} cmpbexadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmpbexadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe6,0x7c,0x98,0x7b] + {evex} cmpbexadd qword ptr [rax + 4*rbx + 123], r15, r9 + # CHECK: cmpbexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe6,0xb4,0xac,0x23,0x01,0x00,0x00] cmpbexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d @@ -8,6 +32,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe6,0xbc,0xac,0x23,0x01,0x00,0x00] cmpbexadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: {evex} cmpbxadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe2,0x54,0x98,0x7b] + {evex} cmpbxadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmpbxadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe2,0x7c,0x98,0x7b] + {evex} cmpbxadd qword ptr [rax + 4*rbx + 123], r15, r9 + # CHECK: cmpbxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe2,0xb4,0xac,0x23,0x01,0x00,0x00] cmpbxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d @@ -16,6 +48,62 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe2,0xbc,0xac,0x23,0x01,0x00,0x00] cmpbxadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: {evex} cmpexadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe4,0x54,0x98,0x7b] + {evex} cmpexadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmpexadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe4,0x7c,0x98,0x7b] + {evex} cmpexadd qword ptr [rax + 4*rbx + 123], r15, r9 + +# CHECK: cmpexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe4,0xb4,0xac,0x23,0x01,0x00,0x00] + cmpexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d + +# CHECK: cmpexadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe4,0xbc,0xac,0x23,0x01,0x00,0x00] + cmpexadd qword ptr [r28 + 4*r29 + 291], r23, r19 + +# CHECK: {evex} cmpgexadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xed,0x54,0x98,0x7b] + {evex} cmpgexadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmpgexadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xed,0x7c,0x98,0x7b] + {evex} cmpgexadd qword ptr [rax + 4*rbx + 123], r15, r9 + +# CHECK: cmpgexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xed,0xb4,0xac,0x23,0x01,0x00,0x00] + cmpgexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d + +# CHECK: cmpgexadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xed,0xbc,0xac,0x23,0x01,0x00,0x00] + cmpgexadd qword ptr [r28 + 4*r29 + 291], r23, r19 + +# CHECK: {evex} cmpgxadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xef,0x54,0x98,0x7b] + {evex} cmpgxadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmpgxadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xef,0x7c,0x98,0x7b] + {evex} cmpgxadd qword ptr [rax + 4*rbx + 123], r15, r9 + +# CHECK: cmpgxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xef,0xb4,0xac,0x23,0x01,0x00,0x00] + cmpgxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d + +# CHECK: cmpgxadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xef,0xbc,0xac,0x23,0x01,0x00,0x00] + cmpgxadd qword ptr [r28 + 4*r29 + 291], r23, r19 + +# CHECK: {evex} cmplexadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xee,0x54,0x98,0x7b] + {evex} cmplexadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmplexadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xee,0x7c,0x98,0x7b] + {evex} cmplexadd qword ptr [rax + 4*rbx + 123], r15, r9 + # CHECK: cmplexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xee,0xb4,0xac,0x23,0x01,0x00,0x00] cmplexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d @@ -24,6 +112,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xee,0xbc,0xac,0x23,0x01,0x00,0x00] cmplexadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: {evex} cmplxadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xec,0x54,0x98,0x7b] + {evex} cmplxadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmplxadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xec,0x7c,0x98,0x7b] + {evex} cmplxadd qword ptr [rax + 4*rbx + 123], r15, r9 + # CHECK: cmplxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xec,0xb4,0xac,0x23,0x01,0x00,0x00] cmplxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d @@ -32,29 +128,29 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xec,0xbc,0xac,0x23,0x01,0x00,0x00] cmplxadd qword ptr [r28 + 4*r29 + 291], r23, r19 -# CHECK: cmpaxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe7,0xb4,0xac,0x23,0x01,0x00,0x00] - cmpaxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +# CHECK: {evex} cmpnexadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe5,0x54,0x98,0x7b] + {evex} cmpnexadd dword ptr [rax + 4*rbx + 123], edx, ecx -# CHECK: cmpaxadd qword ptr [r28 + 4*r29 + 291], r23, r19 -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe7,0xbc,0xac,0x23,0x01,0x00,0x00] - cmpaxadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: {evex} cmpnexadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe5,0x7c,0x98,0x7b] + {evex} cmpnexadd qword ptr [rax + 4*rbx + 123], r15, r9 -# CHECK: cmpgxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xef,0xb4,0xac,0x23,0x01,0x00,0x00] - cmpgxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +# CHECK: cmpnexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe5,0xb4,0xac,0x23,0x01,0x00,0x00] + cmpnexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d -# CHECK: cmpgxadd qword ptr [r28 + 4*r29 + 291], r23, r19 -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xef,0xbc,0xac,0x23,0x01,0x00,0x00] - cmpgxadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: cmpnexadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe5,0xbc,0xac,0x23,0x01,0x00,0x00] + cmpnexadd qword ptr [r28 + 4*r29 + 291], r23, r19 -# CHECK: cmpgexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xed,0xb4,0xac,0x23,0x01,0x00,0x00] - cmpgexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +# CHECK: {evex} cmpnoxadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe1,0x54,0x98,0x7b] + {evex} cmpnoxadd dword ptr [rax + 4*rbx + 123], edx, ecx -# CHECK: cmpgexadd qword ptr [r28 + 4*r29 + 291], r23, r19 -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xed,0xbc,0xac,0x23,0x01,0x00,0x00] - cmpgexadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: {evex} cmpnoxadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe1,0x7c,0x98,0x7b] + {evex} cmpnoxadd qword ptr [rax + 4*rbx + 123], r15, r9 # CHECK: cmpnoxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe1,0xb4,0xac,0x23,0x01,0x00,0x00] @@ -64,6 +160,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe1,0xbc,0xac,0x23,0x01,0x00,0x00] cmpnoxadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: {evex} cmpnpxadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xeb,0x54,0x98,0x7b] + {evex} cmpnpxadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmpnpxadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xeb,0x7c,0x98,0x7b] + {evex} cmpnpxadd qword ptr [rax + 4*rbx + 123], r15, r9 + # CHECK: cmpnpxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xeb,0xb4,0xac,0x23,0x01,0x00,0x00] cmpnpxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d @@ -72,6 +176,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xeb,0xbc,0xac,0x23,0x01,0x00,0x00] cmpnpxadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: {evex} cmpnsxadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe9,0x54,0x98,0x7b] + {evex} cmpnsxadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmpnsxadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe9,0x7c,0x98,0x7b] + {evex} cmpnsxadd qword ptr [rax + 4*rbx + 123], r15, r9 + # CHECK: cmpnsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe9,0xb4,0xac,0x23,0x01,0x00,0x00] cmpnsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d @@ -80,13 +192,13 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe9,0xbc,0xac,0x23,0x01,0x00,0x00] cmpnsxadd qword ptr [r28 + 4*r29 + 291], r23, r19 -# CHECK: cmpnexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe5,0xb4,0xac,0x23,0x01,0x00,0x00] - cmpnexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d +# CHECK: {evex} cmpoxadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe0,0x54,0x98,0x7b] + {evex} cmpoxadd dword ptr [rax + 4*rbx + 123], edx, ecx -# CHECK: cmpnexadd qword ptr [r28 + 4*r29 + 291], r23, r19 -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe5,0xbc,0xac,0x23,0x01,0x00,0x00] - cmpnexadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: {evex} cmpoxadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe0,0x7c,0x98,0x7b] + {evex} cmpoxadd qword ptr [rax + 4*rbx + 123], r15, r9 # CHECK: cmpoxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe0,0xb4,0xac,0x23,0x01,0x00,0x00] @@ -96,6 +208,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe0,0xbc,0xac,0x23,0x01,0x00,0x00] cmpoxadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: {evex} cmppxadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xea,0x54,0x98,0x7b] + {evex} cmppxadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmppxadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xea,0x7c,0x98,0x7b] + {evex} cmppxadd qword ptr [rax + 4*rbx + 123], r15, r9 + # CHECK: cmppxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xea,0xb4,0xac,0x23,0x01,0x00,0x00] cmppxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d @@ -104,6 +224,14 @@ # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xea,0xbc,0xac,0x23,0x01,0x00,0x00] cmppxadd qword ptr [r28 + 4*r29 + 291], r23, r19 +# CHECK: {evex} cmpsxadd dword ptr [rax + 4*rbx + 123], edx, ecx +# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe8,0x54,0x98,0x7b] + {evex} cmpsxadd dword ptr [rax + 4*rbx + 123], edx, ecx + +# CHECK: {evex} cmpsxadd qword ptr [rax + 4*rbx + 123], r15, r9 +# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe8,0x7c,0x98,0x7b] + {evex} cmpsxadd qword ptr [rax + 4*rbx + 123], r15, r9 + # CHECK: cmpsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d # CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe8,0xb4,0xac,0x23,0x01,0x00,0x00] cmpsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d @@ -111,11 +239,3 @@ # CHECK: cmpsxadd qword ptr [r28 + 4*r29 + 291], r23, r19 # CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe8,0xbc,0xac,0x23,0x01,0x00,0x00] cmpsxadd qword ptr [r28 + 4*r29 + 291], r23, r19 - -# CHECK: cmpexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe4,0xb4,0xac,0x23,0x01,0x00,0x00] - cmpexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d - -# CHECK: cmpexadd qword ptr [r28 + 4*r29 + 291], r23, r19 -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe4,0xbc,0xac,0x23,0x01,0x00,0x00] - cmpexadd qword ptr [r28 + 4*r29 + 291], r23, r19 diff --git a/llvm/test/MC/X86/apx/invept-att.s b/llvm/test/MC/X86/apx/invept-att.s deleted file mode 100644 index 42840bf0b7308..0000000000000 --- a/llvm/test/MC/X86/apx/invept-att.s +++ /dev/null @@ -1,8 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-1: error: -# ERROR-NOT: error: -# CHECK: invept 123(%r28,%r29,4), %r19 -# CHECK: encoding: [0x62,0x8c,0x7a,0x08,0xf0,0x5c,0xac,0x7b] - invept 123(%r28,%r29,4), %r19 diff --git a/llvm/test/MC/X86/apx/invept-intel.s b/llvm/test/MC/X86/apx/invept-intel.s deleted file mode 100644 index 1c5fac234570d..0000000000000 --- a/llvm/test/MC/X86/apx/invept-intel.s +++ /dev/null @@ -1,5 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: invept r19, xmmword ptr [r28 + 4*r29 + 123] -# CHECK: encoding: [0x62,0x8c,0x7a,0x08,0xf0,0x5c,0xac,0x7b] - invept r19, xmmword ptr [r28 + 4*r29 + 123] diff --git a/llvm/test/MC/X86/apx/invpcid-att.s b/llvm/test/MC/X86/apx/invpcid-att.s index a0e827ecadb05..57dee2e597a64 100644 --- a/llvm/test/MC/X86/apx/invpcid-att.s +++ b/llvm/test/MC/X86/apx/invpcid-att.s @@ -1,8 +1,12 @@ # RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s # RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR -# ERROR-COUNT-1: error: +# ERROR-COUNT-2: error: # ERROR-NOT: error: +# CHECK: {evex} invpcid 123(%rax,%rbx,4), %r9 +# CHECK: encoding: [0x62,0x74,0x7e,0x08,0xf2,0x4c,0x98,0x7b] + {evex} invpcid 123(%rax,%rbx,4), %r9 + # CHECK: invpcid 291(%r28,%r29,4), %r19 # CHECK: encoding: [0x62,0x8c,0x7a,0x08,0xf2,0x9c,0xac,0x23,0x01,0x00,0x00] invpcid 291(%r28,%r29,4), %r19 diff --git a/llvm/test/MC/X86/apx/invpcid-intel.s b/llvm/test/MC/X86/apx/invpcid-intel.s index e9993d26962e2..d959af7b14959 100644 --- a/llvm/test/MC/X86/apx/invpcid-intel.s +++ b/llvm/test/MC/X86/apx/invpcid-intel.s @@ -1,5 +1,9 @@ # RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s +# CHECK: {evex} invpcid r9, xmmword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x74,0x7e,0x08,0xf2,0x4c,0x98,0x7b] + {evex} invpcid r9, xmmword ptr [rax + 4*rbx + 123] + # CHECK: invpcid r19, xmmword ptr [r28 + 4*r29 + 291] # CHECK: encoding: [0x62,0x8c,0x7a,0x08,0xf2,0x9c,0xac,0x23,0x01,0x00,0x00] invpcid r19, xmmword ptr [r28 + 4*r29 + 291] diff --git a/llvm/test/MC/X86/apx/invvpid-att.s b/llvm/test/MC/X86/apx/invvpid-att.s deleted file mode 100644 index a074891214606..0000000000000 --- a/llvm/test/MC/X86/apx/invvpid-att.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-1: error: -# ERROR-NOT: error: -# CHECK: invvpid 291(%r28,%r29,4), %r19 -# CHECK: encoding: [0x62,0x8c,0x7a,0x08,0xf1,0x9c,0xac,0x23,0x01,0x00,0x00] - invvpid 291(%r28,%r29,4), %r19 - diff --git a/llvm/test/MC/X86/apx/invvpid-intel.s b/llvm/test/MC/X86/apx/invvpid-intel.s deleted file mode 100644 index cc4e3e9a618d6..0000000000000 --- a/llvm/test/MC/X86/apx/invvpid-intel.s +++ /dev/null @@ -1,5 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: invvpid r19, xmmword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x8c,0x7a,0x08,0xf1,0x9c,0xac,0x23,0x01,0x00,0x00] - invvpid r19, xmmword ptr [r28 + 4*r29 + 291] diff --git a/llvm/test/MC/X86/apx/movdir64b-att.s b/llvm/test/MC/X86/apx/movdir64b-att.s index bc8f1a90c9ed6..2956c5fd01298 100644 --- a/llvm/test/MC/X86/apx/movdir64b-att.s +++ b/llvm/test/MC/X86/apx/movdir64b-att.s @@ -1,8 +1,16 @@ # RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s # RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR -# ERROR-COUNT-2: error: +# ERROR-COUNT-4: error: # ERROR-NOT: error: +# CHECK: {evex} movdir64b 123(%eax,%ebx,4), %ecx +# CHECK: encoding: [0x67,0x62,0xf4,0x7d,0x08,0xf8,0x4c,0x98,0x7b] + {evex} movdir64b 123(%eax,%ebx,4), %ecx + +# CHECK: {evex} movdir64b 123(%rax,%rbx,4), %r9 +# CHECK: encoding: [0x62,0x74,0x7d,0x08,0xf8,0x4c,0x98,0x7b] + {evex} movdir64b 123(%rax,%rbx,4), %r9 + # CHECK: movdir64b 291(%r28d,%r29d,4), %r18d # CHECK: encoding: [0x67,0x62,0x8c,0x79,0x08,0xf8,0x94,0xac,0x23,0x01,0x00,0x00] movdir64b 291(%r28d,%r29d,4), %r18d diff --git a/llvm/test/MC/X86/apx/movdir64b-intel.s b/llvm/test/MC/X86/apx/movdir64b-intel.s index b34efefeba2da..fac9bb9ecd533 100644 --- a/llvm/test/MC/X86/apx/movdir64b-intel.s +++ b/llvm/test/MC/X86/apx/movdir64b-intel.s @@ -1,5 +1,13 @@ # RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s +# CHECK: {evex} movdir64b ecx, zmmword ptr [eax + 4*ebx + 123] +# CHECK: encoding: [0x67,0x62,0xf4,0x7d,0x08,0xf8,0x4c,0x98,0x7b] + {evex} movdir64b ecx, zmmword ptr [eax + 4*ebx + 123] + +# CHECK: {evex} movdir64b r9, zmmword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x74,0x7d,0x08,0xf8,0x4c,0x98,0x7b] + {evex} movdir64b r9, zmmword ptr [rax + 4*rbx + 123] + # CHECK: movdir64b r18d, zmmword ptr [r28d + 4*r29d + 291] # CHECK: encoding: [0x67,0x62,0x8c,0x79,0x08,0xf8,0x94,0xac,0x23,0x01,0x00,0x00] movdir64b r18d, zmmword ptr [r28d + 4*r29d + 291] diff --git a/llvm/test/MC/X86/apx/movdiri-att.s b/llvm/test/MC/X86/apx/movdiri-att.s index 8bdabf232f5de..f951e31404558 100644 --- a/llvm/test/MC/X86/apx/movdiri-att.s +++ b/llvm/test/MC/X86/apx/movdiri-att.s @@ -1,8 +1,16 @@ # RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s # RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR -# ERROR-COUNT-2: error: +# ERROR-COUNT-4: error: # ERROR-NOT: error: +# CHECK: {evex} movdiri %ecx, 123(%eax,%ebx,4) +# CHECK: encoding: [0x67,0x62,0xf4,0x7c,0x08,0xf9,0x4c,0x98,0x7b] + {evex} movdiri %ecx, 123(%eax,%ebx,4) + +# CHECK: {evex} movdiri %r9, 123(%rax,%rbx,4) +# CHECK: encoding: [0x62,0x74,0xfc,0x08,0xf9,0x4c,0x98,0x7b] + {evex} movdiri %r9, 123(%rax,%rbx,4) + # CHECK: movdiri %r18d, 291(%r28,%r29,4) # CHECK: encoding: [0x62,0x8c,0x78,0x08,0xf9,0x94,0xac,0x23,0x01,0x00,0x00] movdiri %r18d, 291(%r28,%r29,4) diff --git a/llvm/test/MC/X86/apx/movdiri-intel.s b/llvm/test/MC/X86/apx/movdiri-intel.s index 1a38384f9f96e..16a5432253e72 100644 --- a/llvm/test/MC/X86/apx/movdiri-intel.s +++ b/llvm/test/MC/X86/apx/movdiri-intel.s @@ -1,5 +1,13 @@ # RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s +# CHECK: {evex} movdiri dword ptr [eax + 4*ebx + 123], ecx +# CHECK: encoding: [0x67,0x62,0xf4,0x7c,0x08,0xf9,0x4c,0x98,0x7b] + {evex} movdiri dword ptr [eax + 4*ebx + 123], ecx + +# CHECK: {evex} movdiri qword ptr [rax + 4*rbx + 123], r9 +# CHECK: encoding: [0x62,0x74,0xfc,0x08,0xf9,0x4c,0x98,0x7b] + {evex} movdiri qword ptr [rax + 4*rbx + 123], r9 + # CHECK: movdiri dword ptr [r28 + 4*r29 + 291], r18d # CHECK: encoding: [0x62,0x8c,0x78,0x08,0xf9,0x94,0xac,0x23,0x01,0x00,0x00] movdiri dword ptr [r28 + 4*r29 + 291], r18d diff --git a/llvm/test/MC/X86/apx/mulx-att.s b/llvm/test/MC/X86/apx/mulx-att.s deleted file mode 100644 index 976a79f469cd6..0000000000000 --- a/llvm/test/MC/X86/apx/mulx-att.s +++ /dev/null @@ -1,20 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-4: error: -# ERROR-NOT: error: -# CHECK: mulxl %r18d, %r22d, %r26d -# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf6,0xd2] - mulxl %r18d, %r22d, %r26d - -# CHECK: mulxq %r19, %r23, %r27 -# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf6,0xdb] - mulxq %r19, %r23, %r27 - -# CHECK: mulxl 291(%r28,%r29,4), %r18d, %r22d -# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf6,0xb4,0xac,0x23,0x01,0x00,0x00] - mulxl 291(%r28,%r29,4), %r18d, %r22d - -# CHECK: mulxq 291(%r28,%r29,4), %r19, %r23 -# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf6,0xbc,0xac,0x23,0x01,0x00,0x00] - mulxq 291(%r28,%r29,4), %r19, %r23 diff --git a/llvm/test/MC/X86/apx/mulx-intel.s b/llvm/test/MC/X86/apx/mulx-intel.s deleted file mode 100644 index 3db587502915d..0000000000000 --- a/llvm/test/MC/X86/apx/mulx-intel.s +++ /dev/null @@ -1,17 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: mulx r26d, r22d, r18d -# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf6,0xd2] - mulx r26d, r22d, r18d - -# CHECK: mulx r27, r23, r19 -# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf6,0xdb] - mulx r27, r23, r19 - -# CHECK: mulx r22d, r18d, dword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf6,0xb4,0xac,0x23,0x01,0x00,0x00] - mulx r22d, r18d, dword ptr [r28 + 4*r29 + 291] - -# CHECK: mulx r23, r19, qword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf6,0xbc,0xac,0x23,0x01,0x00,0x00] - mulx r23, r19, qword ptr [r28 + 4*r29 + 291] diff --git a/llvm/test/MC/X86/apx/pdep-att.s b/llvm/test/MC/X86/apx/pdep-att.s deleted file mode 100644 index c319b17e47f6f..0000000000000 --- a/llvm/test/MC/X86/apx/pdep-att.s +++ /dev/null @@ -1,20 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-4: error: -# ERROR-NOT: error: -# CHECK: pdepl %r18d, %r22d, %r26d -# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf5,0xd2] - pdepl %r18d, %r22d, %r26d - -# CHECK: pdepq %r19, %r23, %r27 -# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf5,0xdb] - pdepq %r19, %r23, %r27 - -# CHECK: pdepl 291(%r28,%r29,4), %r18d, %r22d -# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00] - pdepl 291(%r28,%r29,4), %r18d, %r22d - -# CHECK: pdepq 291(%r28,%r29,4), %r19, %r23 -# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00] - pdepq 291(%r28,%r29,4), %r19, %r23 diff --git a/llvm/test/MC/X86/apx/pdep-intel.s b/llvm/test/MC/X86/apx/pdep-intel.s deleted file mode 100644 index 0f9e828c021c3..0000000000000 --- a/llvm/test/MC/X86/apx/pdep-intel.s +++ /dev/null @@ -1,17 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: pdep r26d, r22d, r18d -# CHECK: encoding: [0x62,0x6a,0x4f,0x00,0xf5,0xd2] - pdep r26d, r22d, r18d - -# CHECK: pdep r27, r23, r19 -# CHECK: encoding: [0x62,0x6a,0xc7,0x00,0xf5,0xdb] - pdep r27, r23, r19 - -# CHECK: pdep r22d, r18d, dword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00] - pdep r22d, r18d, dword ptr [r28 + 4*r29 + 291] - -# CHECK: pdep r23, r19, qword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00] - pdep r23, r19, qword ptr [r28 + 4*r29 + 291] diff --git a/llvm/test/MC/X86/apx/pext-att.s b/llvm/test/MC/X86/apx/pext-att.s deleted file mode 100644 index c07fa1ac2082a..0000000000000 --- a/llvm/test/MC/X86/apx/pext-att.s +++ /dev/null @@ -1,20 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-4: error: -# ERROR-NOT: error: -# CHECK: pextl %r18d, %r22d, %r26d -# CHECK: encoding: [0x62,0x6a,0x4e,0x00,0xf5,0xd2] - pextl %r18d, %r22d, %r26d - -# CHECK: pextq %r19, %r23, %r27 -# CHECK: encoding: [0x62,0x6a,0xc6,0x00,0xf5,0xdb] - pextq %r19, %r23, %r27 - -# CHECK: pextl 291(%r28,%r29,4), %r18d, %r22d -# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00] - pextl 291(%r28,%r29,4), %r18d, %r22d - -# CHECK: pextq 291(%r28,%r29,4), %r19, %r23 -# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00] - pextq 291(%r28,%r29,4), %r19, %r23 diff --git a/llvm/test/MC/X86/apx/pext-intel.s b/llvm/test/MC/X86/apx/pext-intel.s deleted file mode 100644 index 9a7e7d93094a4..0000000000000 --- a/llvm/test/MC/X86/apx/pext-intel.s +++ /dev/null @@ -1,17 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: pext r26d, r22d, r18d -# CHECK: encoding: [0x62,0x6a,0x4e,0x00,0xf5,0xd2] - pext r26d, r22d, r18d - -# CHECK: pext r27, r23, r19 -# CHECK: encoding: [0x62,0x6a,0xc6,0x00,0xf5,0xdb] - pext r27, r23, r19 - -# CHECK: pext r22d, r18d, dword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf5,0xb4,0xac,0x23,0x01,0x00,0x00] - pext r22d, r18d, dword ptr [r28 + 4*r29 + 291] - -# CHECK: pext r23, r19, qword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00] - pext r23, r19, qword ptr [r28 + 4*r29 + 291] diff --git a/llvm/test/MC/X86/apx/rorx-att.s b/llvm/test/MC/X86/apx/rorx-att.s deleted file mode 100644 index fb613d95c7cb4..0000000000000 --- a/llvm/test/MC/X86/apx/rorx-att.s +++ /dev/null @@ -1,20 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-4: error: -# ERROR-NOT: error: -# CHECK: rorxl $123, %r18d, %r22d -# CHECK: encoding: [0x62,0xeb,0x7f,0x08,0xf0,0xf2,0x7b] - rorxl $123, %r18d, %r22d - -# CHECK: rorxq $123, %r19, %r23 -# CHECK: encoding: [0x62,0xeb,0xff,0x08,0xf0,0xfb,0x7b] - rorxq $123, %r19, %r23 - -# CHECK: rorxl $123, 291(%r28,%r29,4), %r18d -# CHECK: encoding: [0x62,0x8b,0x7b,0x08,0xf0,0x94,0xac,0x23,0x01,0x00,0x00,0x7b] - rorxl $123, 291(%r28,%r29,4), %r18d - -# CHECK: rorxq $123, 291(%r28,%r29,4), %r19 -# CHECK: encoding: [0x62,0x8b,0xfb,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00,0x7b] - rorxq $123, 291(%r28,%r29,4), %r19 diff --git a/llvm/test/MC/X86/apx/rorx-intel.s b/llvm/test/MC/X86/apx/rorx-intel.s deleted file mode 100644 index d3e63559cba57..0000000000000 --- a/llvm/test/MC/X86/apx/rorx-intel.s +++ /dev/null @@ -1,17 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: rorx r22d, r18d, 123 -# CHECK: encoding: [0x62,0xeb,0x7f,0x08,0xf0,0xf2,0x7b] - rorx r22d, r18d, 123 - -# CHECK: rorx r23, r19, 123 -# CHECK: encoding: [0x62,0xeb,0xff,0x08,0xf0,0xfb,0x7b] - rorx r23, r19, 123 - -# CHECK: rorx r18d, dword ptr [r28 + 4*r29 + 291], 123 -# CHECK: encoding: [0x62,0x8b,0x7b,0x08,0xf0,0x94,0xac,0x23,0x01,0x00,0x00,0x7b] - rorx r18d, dword ptr [r28 + 4*r29 + 291], 123 - -# CHECK: rorx r19, qword ptr [r28 + 4*r29 + 291], 123 -# CHECK: encoding: [0x62,0x8b,0xfb,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00,0x7b] - rorx r19, qword ptr [r28 + 4*r29 + 291], 123 diff --git a/llvm/test/MC/X86/apx/sarx-att.s b/llvm/test/MC/X86/apx/sarx-att.s deleted file mode 100644 index a174903d976cb..0000000000000 --- a/llvm/test/MC/X86/apx/sarx-att.s +++ /dev/null @@ -1,20 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-4: error: -# ERROR-NOT: error: -# CHECK: sarxl %r18d, %r22d, %r26d -# CHECK: encoding: [0x62,0x6a,0x6e,0x00,0xf7,0xd6] - sarxl %r18d, %r22d, %r26d - -# CHECK: sarxl %r18d, 291(%r28,%r29,4), %r22d -# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] - sarxl %r18d, 291(%r28,%r29,4), %r22d - -# CHECK: sarxq %r19, %r23, %r27 -# CHECK: encoding: [0x62,0x6a,0xe6,0x00,0xf7,0xdf] - sarxq %r19, %r23, %r27 - -# CHECK: sarxq %r19, 291(%r28,%r29,4), %r23 -# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] - sarxq %r19, 291(%r28,%r29,4), %r23 diff --git a/llvm/test/MC/X86/apx/sarx-intel.s b/llvm/test/MC/X86/apx/sarx-intel.s deleted file mode 100644 index 962b6ec313b98..0000000000000 --- a/llvm/test/MC/X86/apx/sarx-intel.s +++ /dev/null @@ -1,17 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: sarx r26d, r22d, r18d -# CHECK: encoding: [0x62,0x6a,0x6e,0x00,0xf7,0xd6] - sarx r26d, r22d, r18d - -# CHECK: sarx r22d, dword ptr [r28 + 4*r29 + 291], r18d -# CHECK: encoding: [0x62,0x8a,0x6a,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] - sarx r22d, dword ptr [r28 + 4*r29 + 291], r18d - -# CHECK: sarx r27, r23, r19 -# CHECK: encoding: [0x62,0x6a,0xe6,0x00,0xf7,0xdf] - sarx r27, r23, r19 - -# CHECK: sarx r23, qword ptr [r28 + 4*r29 + 291], r19 -# CHECK: encoding: [0x62,0x8a,0xe2,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] - sarx r23, qword ptr [r28 + 4*r29 + 291], r19 diff --git a/llvm/test/MC/X86/apx/sha-att.s b/llvm/test/MC/X86/apx/sha-att.s new file mode 100644 index 0000000000000..3b60ad8e6c0de --- /dev/null +++ b/llvm/test/MC/X86/apx/sha-att.s @@ -0,0 +1,127 @@ +# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s +# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR + +# ERROR-COUNT-27: error: +# ERROR-NOT: error: + +## sha1msg1 + +# CHECK: {evex} sha1msg1 %xmm13, %xmm12 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xd9,0xe5] + {evex} sha1msg1 %xmm13, %xmm12 + +# CHECK: {evex} sha1msg1 123(%rax,%rbx,4), %xmm12 +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xd9,0x64,0x98,0x7b] + {evex} sha1msg1 123(%rax,%rbx,4), %xmm12 + +# CHECK: sha1msg1 %xmm13, %xmm12 +# CHECK: encoding: [0x45,0x0f,0x38,0xc9,0xe5] + sha1msg1 %xmm13, %xmm12 + +# CHECK: sha1msg1 291(%r28,%r29,4), %xmm12 +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd9,0xa4,0xac,0x23,0x01,0x00,0x00] + sha1msg1 291(%r28,%r29,4), %xmm12 + +## sha1msg2 + +# CHECK: {evex} sha1msg2 %xmm13, %xmm12 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xda,0xe5] + {evex} sha1msg2 %xmm13, %xmm12 + +# CHECK: {evex} sha1msg2 123(%rax,%rbx,4), %xmm12 +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xda,0x64,0x98,0x7b] + {evex} sha1msg2 123(%rax,%rbx,4), %xmm12 + +# CHECK: sha1msg2 %xmm13, %xmm12 +# CHECK: encoding: [0x45,0x0f,0x38,0xca,0xe5] + sha1msg2 %xmm13, %xmm12 + +# CHECK: sha1msg2 291(%r28,%r29,4), %xmm12 +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xda,0xa4,0xac,0x23,0x01,0x00,0x00] + sha1msg2 291(%r28,%r29,4), %xmm12 + +## sha1nexte + +# CHECK: {evex} sha1nexte %xmm13, %xmm12 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xd8,0xe5] + {evex} sha1nexte %xmm13, %xmm12 + +# CHECK: {evex} sha1nexte 123(%rax,%rbx,4), %xmm12 +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xd8,0x64,0x98,0x7b] + {evex} sha1nexte 123(%rax,%rbx,4), %xmm12 + +# CHECK: sha1nexte %xmm13, %xmm12 +# CHECK: encoding: [0x45,0x0f,0x38,0xc8,0xe5] + sha1nexte %xmm13, %xmm12 + +# CHECK: sha1nexte 291(%r28,%r29,4), %xmm12 +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd8,0xa4,0xac,0x23,0x01,0x00,0x00] + sha1nexte 291(%r28,%r29,4), %xmm12 + +## sha1rnds4 + +# CHECK: {evex} sha1rnds4 $123, %xmm13, %xmm12 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xd4,0xe5,0x7b] + {evex} sha1rnds4 $123, %xmm13, %xmm12 + +# CHECK: {evex} sha1rnds4 $123, 123(%rax,%rbx,4), %xmm12 +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xd4,0x64,0x98,0x7b,0x7b] + {evex} sha1rnds4 $123, 123(%rax,%rbx,4), %xmm12 + +# CHECK: sha1rnds4 $123, %xmm13, %xmm12 +# CHECK: encoding: [0x45,0x0f,0x3a,0xcc,0xe5,0x7b] + sha1rnds4 $123, %xmm13, %xmm12 + +# CHECK: sha1rnds4 $123, 291(%r28,%r29,4), %xmm12 +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd4,0xa4,0xac,0x23,0x01,0x00,0x00,0x7b] + sha1rnds4 $123, 291(%r28,%r29,4), %xmm12 + +## sha256msg1 + +# CHECK: {evex} sha256msg1 %xmm13, %xmm12 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xdc,0xe5] + {evex} sha256msg1 %xmm13, %xmm12 + +# CHECK: {evex} sha256msg1 123(%rax,%rbx,4), %xmm12 +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xdc,0x64,0x98,0x7b] + {evex} sha256msg1 123(%rax,%rbx,4), %xmm12 + +# CHECK: sha256msg1 %xmm13, %xmm12 +# CHECK: encoding: [0x45,0x0f,0x38,0xcc,0xe5] + sha256msg1 %xmm13, %xmm12 + +# CHECK: sha256msg1 291(%r28,%r29,4), %xmm12 +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdc,0xa4,0xac,0x23,0x01,0x00,0x00] + sha256msg1 291(%r28,%r29,4), %xmm12 + +## sha256msg2 + +# CHECK: {evex} sha256msg2 %xmm13, %xmm12 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xdd,0xe5] + {evex} sha256msg2 %xmm13, %xmm12 + +# CHECK: {evex} sha256msg2 123(%rax,%rbx,4), %xmm12 +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xdd,0x64,0x98,0x7b] + {evex} sha256msg2 123(%rax,%rbx,4), %xmm12 + +# CHECK: sha256msg2 %xmm13, %xmm12 +# CHECK: encoding: [0x45,0x0f,0x38,0xcd,0xe5] + sha256msg2 %xmm13, %xmm12 + +# CHECK: sha256msg2 291(%r28,%r29,4), %xmm12 +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdd,0xa4,0xac,0x23,0x01,0x00,0x00] + sha256msg2 291(%r28,%r29,4), %xmm12 + +## sha256rnds2 + +# CHECK: {evex} sha256rnds2 %xmm0, 123(%rax,%rbx,4), %xmm12 +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xdb,0x64,0x98,0x7b] + {evex} sha256rnds2 %xmm0, 123(%rax,%rbx,4), %xmm12 + +# CHECK: sha256rnds2 %xmm0, %xmm13, %xmm12 +# CHECK: encoding: [0x45,0x0f,0x38,0xcb,0xe5] + sha256rnds2 %xmm0, %xmm13, %xmm12 + +# CHECK: sha256rnds2 %xmm0, 291(%r28,%r29,4), %xmm12 +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdb,0xa4,0xac,0x23,0x01,0x00,0x00] + sha256rnds2 %xmm0, 291(%r28,%r29,4), %xmm12 diff --git a/llvm/test/MC/X86/apx/sha-intel.s b/llvm/test/MC/X86/apx/sha-intel.s new file mode 100644 index 0000000000000..ceb76195adeeb --- /dev/null +++ b/llvm/test/MC/X86/apx/sha-intel.s @@ -0,0 +1,123 @@ +# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s + +## sha1msg1 + +# CHECK: {evex} sha1msg1 xmm12, xmm13 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xd9,0xe5] + {evex} sha1msg1 xmm12, xmm13 + +# CHECK: {evex} sha1msg1 xmm12, xmmword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xd9,0x64,0x98,0x7b] + {evex} sha1msg1 xmm12, xmmword ptr [rax + 4*rbx + 123] + +# CHECK: sha1msg1 xmm12, xmm13 +# CHECK: encoding: [0x45,0x0f,0x38,0xc9,0xe5] + sha1msg1 xmm12, xmm13 + +# CHECK: sha1msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd9,0xa4,0xac,0x23,0x01,0x00,0x00] + sha1msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] + +## sha1msg2 + +# CHECK: {evex} sha1msg2 xmm12, xmm13 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xda,0xe5] + {evex} sha1msg2 xmm12, xmm13 + +# CHECK: {evex} sha1msg2 xmm12, xmmword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xda,0x64,0x98,0x7b] + {evex} sha1msg2 xmm12, xmmword ptr [rax + 4*rbx + 123] + +# CHECK: sha1msg2 xmm12, xmm13 +# CHECK: encoding: [0x45,0x0f,0x38,0xca,0xe5] + sha1msg2 xmm12, xmm13 + +# CHECK: sha1msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xda,0xa4,0xac,0x23,0x01,0x00,0x00] + sha1msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] + +## sha1nexte + +# CHECK: {evex} sha1nexte xmm12, xmm13 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xd8,0xe5] + {evex} sha1nexte xmm12, xmm13 + +# CHECK: {evex} sha1nexte xmm12, xmmword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xd8,0x64,0x98,0x7b] + {evex} sha1nexte xmm12, xmmword ptr [rax + 4*rbx + 123] + +# CHECK: sha1nexte xmm12, xmm13 +# CHECK: encoding: [0x45,0x0f,0x38,0xc8,0xe5] + sha1nexte xmm12, xmm13 + +# CHECK: sha1nexte xmm12, xmmword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd8,0xa4,0xac,0x23,0x01,0x00,0x00] + sha1nexte xmm12, xmmword ptr [r28 + 4*r29 + 291] + +## sha1rnds4 + +# CHECK: {evex} sha1rnds4 xmm12, xmm13, 123 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xd4,0xe5,0x7b] + {evex} sha1rnds4 xmm12, xmm13, 123 + +# CHECK: {evex} sha1rnds4 xmm12, xmmword ptr [rax + 4*rbx + 123], 123 +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xd4,0x64,0x98,0x7b,0x7b] + {evex} sha1rnds4 xmm12, xmmword ptr [rax + 4*rbx + 123], 123 + +# CHECK: sha1rnds4 xmm12, xmm13, 123 +# CHECK: encoding: [0x45,0x0f,0x3a,0xcc,0xe5,0x7b] + sha1rnds4 xmm12, xmm13, 123 + +# CHECK: sha1rnds4 xmm12, xmmword ptr [r28 + 4*r29 + 291], 123 +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd4,0xa4,0xac,0x23,0x01,0x00,0x00,0x7b] + sha1rnds4 xmm12, xmmword ptr [r28 + 4*r29 + 291], 123 + +## sha256msg1 + +# CHECK: {evex} sha256msg1 xmm12, xmm13 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xdc,0xe5] + {evex} sha256msg1 xmm12, xmm13 + +# CHECK: {evex} sha256msg1 xmm12, xmmword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xdc,0x64,0x98,0x7b] + {evex} sha256msg1 xmm12, xmmword ptr [rax + 4*rbx + 123] + +# CHECK: sha256msg1 xmm12, xmm13 +# CHECK: encoding: [0x45,0x0f,0x38,0xcc,0xe5] + sha256msg1 xmm12, xmm13 + +# CHECK: sha256msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdc,0xa4,0xac,0x23,0x01,0x00,0x00] + sha256msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] + +## sha256msg2 + +# CHECK: {evex} sha256msg2 xmm12, xmm13 +# CHECK: encoding: [0x62,0x54,0x7c,0x08,0xdd,0xe5] + {evex} sha256msg2 xmm12, xmm13 + +# CHECK: {evex} sha256msg2 xmm12, xmmword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xdd,0x64,0x98,0x7b] + {evex} sha256msg2 xmm12, xmmword ptr [rax + 4*rbx + 123] + +# CHECK: sha256msg2 xmm12, xmm13 +# CHECK: encoding: [0x45,0x0f,0x38,0xcd,0xe5] + sha256msg2 xmm12, xmm13 + +# CHECK: sha256msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdd,0xa4,0xac,0x23,0x01,0x00,0x00] + sha256msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] + +## sha256rnds2 + +# CHECK: {evex} sha256rnds2 xmm12, xmmword ptr [rax + 4*rbx + 123], xmm0 +# CHECK: encoding: [0x62,0x74,0x7c,0x08,0xdb,0x64,0x98,0x7b] + {evex} sha256rnds2 xmm12, xmmword ptr [rax + 4*rbx + 123], xmm0 + +# CHECK: sha256rnds2 xmm12, xmm13, xmm0 +# CHECK: encoding: [0x45,0x0f,0x38,0xcb,0xe5] + sha256rnds2 xmm12, xmm13, xmm0 + +# CHECK: sha256rnds2 xmm12, xmmword ptr [r28 + 4*r29 + 291], xmm0 +# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdb,0xa4,0xac,0x23,0x01,0x00,0x00] + sha256rnds2 xmm12, xmmword ptr [r28 + 4*r29 + 291], xmm0 diff --git a/llvm/test/MC/X86/apx/sha1msg1-att.s b/llvm/test/MC/X86/apx/sha1msg1-att.s deleted file mode 100644 index 900b1b703c48b..0000000000000 --- a/llvm/test/MC/X86/apx/sha1msg1-att.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s - -# CHECK: sha1msg1 %xmm13, %xmm12 -# CHECK: encoding: [0x45,0x0f,0x38,0xc9,0xe5] - sha1msg1 %xmm13, %xmm12 - -# CHECK: sha1msg1 291(%r28,%r29,4), %xmm12 -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd9,0xa4,0xac,0x23,0x01,0x00,0x00] - sha1msg1 291(%r28,%r29,4), %xmm12 diff --git a/llvm/test/MC/X86/apx/sha1msg1-intel.s b/llvm/test/MC/X86/apx/sha1msg1-intel.s deleted file mode 100644 index d347a671069f5..0000000000000 --- a/llvm/test/MC/X86/apx/sha1msg1-intel.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: sha1msg1 xmm12, xmm13 -# CHECK: encoding: [0x45,0x0f,0x38,0xc9,0xe5] - sha1msg1 xmm12, xmm13 - -# CHECK: sha1msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd9,0xa4,0xac,0x23,0x01,0x00,0x00] - sha1msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] diff --git a/llvm/test/MC/X86/apx/sha1msg2-att.s b/llvm/test/MC/X86/apx/sha1msg2-att.s deleted file mode 100644 index 62557e46f8b9d..0000000000000 --- a/llvm/test/MC/X86/apx/sha1msg2-att.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s - -# CHECK: sha1msg2 %xmm13, %xmm12 -# CHECK: encoding: [0x45,0x0f,0x38,0xca,0xe5] - sha1msg2 %xmm13, %xmm12 - -# CHECK: sha1msg2 291(%r28,%r29,4), %xmm12 -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xda,0xa4,0xac,0x23,0x01,0x00,0x00] - sha1msg2 291(%r28,%r29,4), %xmm12 diff --git a/llvm/test/MC/X86/apx/sha1msg2-intel.s b/llvm/test/MC/X86/apx/sha1msg2-intel.s deleted file mode 100644 index 546a56263bbe2..0000000000000 --- a/llvm/test/MC/X86/apx/sha1msg2-intel.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: sha1msg2 xmm12, xmm13 -# CHECK: encoding: [0x45,0x0f,0x38,0xca,0xe5] - sha1msg2 xmm12, xmm13 - -# CHECK: sha1msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xda,0xa4,0xac,0x23,0x01,0x00,0x00] - sha1msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] diff --git a/llvm/test/MC/X86/apx/sha1nexte-att.s b/llvm/test/MC/X86/apx/sha1nexte-att.s deleted file mode 100644 index 70e8300cb70a7..0000000000000 --- a/llvm/test/MC/X86/apx/sha1nexte-att.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s - -# CHECK: sha1nexte %xmm13, %xmm12 -# CHECK: encoding: [0x45,0x0f,0x38,0xc8,0xe5] - sha1nexte %xmm13, %xmm12 - -# CHECK: sha1nexte 291(%r28,%r29,4), %xmm12 -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd8,0xa4,0xac,0x23,0x01,0x00,0x00] - sha1nexte 291(%r28,%r29,4), %xmm12 diff --git a/llvm/test/MC/X86/apx/sha1nexte-intel.s b/llvm/test/MC/X86/apx/sha1nexte-intel.s deleted file mode 100644 index 1c890c3cda44a..0000000000000 --- a/llvm/test/MC/X86/apx/sha1nexte-intel.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: sha1nexte xmm12, xmm13 -# CHECK: encoding: [0x45,0x0f,0x38,0xc8,0xe5] - sha1nexte xmm12, xmm13 - -# CHECK: sha1nexte xmm12, xmmword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd8,0xa4,0xac,0x23,0x01,0x00,0x00] - sha1nexte xmm12, xmmword ptr [r28 + 4*r29 + 291] diff --git a/llvm/test/MC/X86/apx/sha1rnds4-att.s b/llvm/test/MC/X86/apx/sha1rnds4-att.s deleted file mode 100644 index 1d24c83a0b30e..0000000000000 --- a/llvm/test/MC/X86/apx/sha1rnds4-att.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s - -# CHECK: sha1rnds4 $123, %xmm13, %xmm12 -# CHECK: encoding: [0x45,0x0f,0x3a,0xcc,0xe5,0x7b] - sha1rnds4 $123, %xmm13, %xmm12 - -# CHECK: sha1rnds4 $123, 291(%r28,%r29,4), %xmm12 -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd4,0xa4,0xac,0x23,0x01,0x00,0x00,0x7b] - sha1rnds4 $123, 291(%r28,%r29,4), %xmm12 diff --git a/llvm/test/MC/X86/apx/sha1rnds4-intel.s b/llvm/test/MC/X86/apx/sha1rnds4-intel.s deleted file mode 100644 index 53620856bbf0f..0000000000000 --- a/llvm/test/MC/X86/apx/sha1rnds4-intel.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: sha1rnds4 xmm12, xmm13, 123 -# CHECK: encoding: [0x45,0x0f,0x3a,0xcc,0xe5,0x7b] - sha1rnds4 xmm12, xmm13, 123 - -# CHECK: sha1rnds4 xmm12, xmmword ptr [r28 + 4*r29 + 291], 123 -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xd4,0xa4,0xac,0x23,0x01,0x00,0x00,0x7b] - sha1rnds4 xmm12, xmmword ptr [r28 + 4*r29 + 291], 123 diff --git a/llvm/test/MC/X86/apx/sha256msg1-att.s b/llvm/test/MC/X86/apx/sha256msg1-att.s deleted file mode 100644 index c6d833dc78039..0000000000000 --- a/llvm/test/MC/X86/apx/sha256msg1-att.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s - -# CHECK: sha256msg1 %xmm13, %xmm12 -# CHECK: encoding: [0x45,0x0f,0x38,0xcc,0xe5] - sha256msg1 %xmm13, %xmm12 - -# CHECK: sha256msg1 291(%r28,%r29,4), %xmm12 -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdc,0xa4,0xac,0x23,0x01,0x00,0x00] - sha256msg1 291(%r28,%r29,4), %xmm12 diff --git a/llvm/test/MC/X86/apx/sha256msg1-intel.s b/llvm/test/MC/X86/apx/sha256msg1-intel.s deleted file mode 100644 index e3e96f9e2f7d5..0000000000000 --- a/llvm/test/MC/X86/apx/sha256msg1-intel.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: sha256msg1 xmm12, xmm13 -# CHECK: encoding: [0x45,0x0f,0x38,0xcc,0xe5] - sha256msg1 xmm12, xmm13 - -# CHECK: sha256msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdc,0xa4,0xac,0x23,0x01,0x00,0x00] - sha256msg1 xmm12, xmmword ptr [r28 + 4*r29 + 291] diff --git a/llvm/test/MC/X86/apx/sha256msg2-att.s b/llvm/test/MC/X86/apx/sha256msg2-att.s deleted file mode 100644 index 96528d90c3f4a..0000000000000 --- a/llvm/test/MC/X86/apx/sha256msg2-att.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s - -# CHECK: sha256msg2 %xmm13, %xmm12 -# CHECK: encoding: [0x45,0x0f,0x38,0xcd,0xe5] - sha256msg2 %xmm13, %xmm12 - -# CHECK: sha256msg2 291(%r28,%r29,4), %xmm12 -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdd,0xa4,0xac,0x23,0x01,0x00,0x00] - sha256msg2 291(%r28,%r29,4), %xmm12 diff --git a/llvm/test/MC/X86/apx/sha256msg2-intel.s b/llvm/test/MC/X86/apx/sha256msg2-intel.s deleted file mode 100644 index 043633de1c041..0000000000000 --- a/llvm/test/MC/X86/apx/sha256msg2-intel.s +++ /dev/null @@ -1,9 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: sha256msg2 xmm12, xmm13 -# CHECK: encoding: [0x45,0x0f,0x38,0xcd,0xe5] - sha256msg2 xmm12, xmm13 - -# CHECK: sha256msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdd,0xa4,0xac,0x23,0x01,0x00,0x00] - sha256msg2 xmm12, xmmword ptr [r28 + 4*r29 + 291] diff --git a/llvm/test/MC/X86/apx/sha256rnds2-att.s b/llvm/test/MC/X86/apx/sha256rnds2-att.s deleted file mode 100644 index 3071d40babf5b..0000000000000 --- a/llvm/test/MC/X86/apx/sha256rnds2-att.s +++ /dev/null @@ -1,13 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s - -# CHECK: sha256rnds2 %xmm0, %xmm13, %xmm12 -# CHECK: encoding: [0x45,0x0f,0x38,0xcb,0xe5] - sha256rnds2 %xmm0, %xmm13, %xmm12 - -# CHECK: sha256rnds2 %xmm0, 291(%r28,%r29,4), %xmm12 -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdb,0xa4,0xac,0x23,0x01,0x00,0x00] - sha256rnds2 %xmm0, 291(%r28,%r29,4), %xmm12 - -# CHECK: sha256rnds2 %xmm0, 291(%r28,%r29,4), %xmm12 -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdb,0xa4,0xac,0x23,0x01,0x00,0x00] - sha256rnds2 291(%r28,%r29,4), %xmm12 diff --git a/llvm/test/MC/X86/apx/sha256rnds2-intel.s b/llvm/test/MC/X86/apx/sha256rnds2-intel.s deleted file mode 100644 index 7630f3c2cd22f..0000000000000 --- a/llvm/test/MC/X86/apx/sha256rnds2-intel.s +++ /dev/null @@ -1,14 +0,0 @@ - -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: sha256rnds2 xmm12, xmm13, xmm0 -# CHECK: encoding: [0x45,0x0f,0x38,0xcb,0xe5] - sha256rnds2 xmm12, xmm13, xmm0 - -# CHECK: sha256rnds2 xmm12, xmmword ptr [r28 + 4*r29 + 291], xmm0 -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdb,0xa4,0xac,0x23,0x01,0x00,0x00] - sha256rnds2 xmm12, xmmword ptr [r28 + 4*r29 + 291], xmm0 - -# CHECK: sha256rnds2 xmm12, xmmword ptr [r28 + 4*r29 + 291], xmm0 -# CHECK: encoding: [0x62,0x1c,0x78,0x08,0xdb,0xa4,0xac,0x23,0x01,0x00,0x00] - sha256rnds2 xmm12, xmmword ptr [r28 + 4*r29 + 291] diff --git a/llvm/test/MC/X86/apx/shlx-att.s b/llvm/test/MC/X86/apx/shlx-att.s deleted file mode 100644 index 4e28119f08305..0000000000000 --- a/llvm/test/MC/X86/apx/shlx-att.s +++ /dev/null @@ -1,20 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-4: error: -# ERROR-NOT: error: -# CHECK: shlxl %r18d, %r22d, %r26d -# CHECK: encoding: [0x62,0x6a,0x6d,0x00,0xf7,0xd6] - shlxl %r18d, %r22d, %r26d - -# CHECK: shlxl %r18d, 291(%r28,%r29,4), %r22d -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] - shlxl %r18d, 291(%r28,%r29,4), %r22d - -# CHECK: shlxq %r19, %r23, %r27 -# CHECK: encoding: [0x62,0x6a,0xe5,0x00,0xf7,0xdf] - shlxq %r19, %r23, %r27 - -# CHECK: shlxq %r19, 291(%r28,%r29,4), %r23 -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] - shlxq %r19, 291(%r28,%r29,4), %r23 diff --git a/llvm/test/MC/X86/apx/shlx-intel.s b/llvm/test/MC/X86/apx/shlx-intel.s deleted file mode 100644 index 9f16918a712dc..0000000000000 --- a/llvm/test/MC/X86/apx/shlx-intel.s +++ /dev/null @@ -1,17 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: shlx r26d, r22d, r18d -# CHECK: encoding: [0x62,0x6a,0x6d,0x00,0xf7,0xd6] - shlx r26d, r22d, r18d - -# CHECK: shlx r22d, dword ptr [r28 + 4*r29 + 291], r18d -# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] - shlx r22d, dword ptr [r28 + 4*r29 + 291], r18d - -# CHECK: shlx r27, r23, r19 -# CHECK: encoding: [0x62,0x6a,0xe5,0x00,0xf7,0xdf] - shlx r27, r23, r19 - -# CHECK: shlx r23, qword ptr [r28 + 4*r29 + 291], r19 -# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] - shlx r23, qword ptr [r28 + 4*r29 + 291], r19 diff --git a/llvm/test/MC/X86/apx/shrx-att.s b/llvm/test/MC/X86/apx/shrx-att.s deleted file mode 100644 index d9bb5f84af73d..0000000000000 --- a/llvm/test/MC/X86/apx/shrx-att.s +++ /dev/null @@ -1,20 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-4: error: -# ERROR-NOT: error: -# CHECK: shrxl %r18d, %r22d, %r26d -# CHECK: encoding: [0x62,0x6a,0x6f,0x00,0xf7,0xd6] - shrxl %r18d, %r22d, %r26d - -# CHECK: shrxl %r18d, 291(%r28,%r29,4), %r22d -# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] - shrxl %r18d, 291(%r28,%r29,4), %r22d - -# CHECK: shrxq %r19, %r23, %r27 -# CHECK: encoding: [0x62,0x6a,0xe7,0x00,0xf7,0xdf] - shrxq %r19, %r23, %r27 - -# CHECK: shrxq %r19, 291(%r28,%r29,4), %r23 -# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] - shrxq %r19, 291(%r28,%r29,4), %r23 diff --git a/llvm/test/MC/X86/apx/shrx-intel.s b/llvm/test/MC/X86/apx/shrx-intel.s deleted file mode 100644 index 385c530a1108b..0000000000000 --- a/llvm/test/MC/X86/apx/shrx-intel.s +++ /dev/null @@ -1,17 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: shrx r26d, r22d, r18d -# CHECK: encoding: [0x62,0x6a,0x6f,0x00,0xf7,0xd6] - shrx r26d, r22d, r18d - -# CHECK: shrx r22d, dword ptr [r28 + 4*r29 + 291], r18d -# CHECK: encoding: [0x62,0x8a,0x6b,0x00,0xf7,0xb4,0xac,0x23,0x01,0x00,0x00] - shrx r22d, dword ptr [r28 + 4*r29 + 291], r18d - -# CHECK: shrx r27, r23, r19 -# CHECK: encoding: [0x62,0x6a,0xe7,0x00,0xf7,0xdf] - shrx r27, r23, r19 - -# CHECK: shrx r23, qword ptr [r28 + 4*r29 + 291], r19 -# CHECK: encoding: [0x62,0x8a,0xe3,0x00,0xf7,0xbc,0xac,0x23,0x01,0x00,0x00] - shrx r23, qword ptr [r28 + 4*r29 + 291], r19 diff --git a/llvm/test/MC/X86/apx/vmx-att.s b/llvm/test/MC/X86/apx/vmx-att.s new file mode 100644 index 0000000000000..a2a497b9b9bc5 --- /dev/null +++ b/llvm/test/MC/X86/apx/vmx-att.s @@ -0,0 +1,25 @@ +# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s +# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR + +# ERROR-COUNT-4: error: +# ERROR-NOT: error: + +## invept + +# CHECK: invept 291(%r28,%r29,4), %r19 +# CHECK: encoding: [0x62,0x8c,0x7a,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00] + invept 291(%r28,%r29,4), %r19 + +# CHECK: {evex} invept 123(%rax,%rbx,4), %r9 +# CHECK: encoding: [0x62,0x74,0x7e,0x08,0xf0,0x4c,0x98,0x7b] + {evex} invept 123(%rax,%rbx,4), %r9 + +## invvpid + +# CHECK: invvpid 291(%r28,%r29,4), %r19 +# CHECK: encoding: [0x62,0x8c,0x7a,0x08,0xf1,0x9c,0xac,0x23,0x01,0x00,0x00] + invvpid 291(%r28,%r29,4), %r19 + +# CHECK: {evex} invvpid 123(%rax,%rbx,4), %r9 +# CHECK: encoding: [0x62,0x74,0x7e,0x08,0xf1,0x4c,0x98,0x7b] + {evex} invvpid 123(%rax,%rbx,4), %r9 diff --git a/llvm/test/MC/X86/apx/vmx-intel.s b/llvm/test/MC/X86/apx/vmx-intel.s new file mode 100644 index 0000000000000..068e5f10aee5f --- /dev/null +++ b/llvm/test/MC/X86/apx/vmx-intel.s @@ -0,0 +1,21 @@ +# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s + +## invept + +# CHECK: invept r19, xmmword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x8c,0x7a,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00] + invept r19, xmmword ptr [r28 + 4*r29 + 291] + +# CHECK: {evex} invept r9, xmmword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x74,0x7e,0x08,0xf0,0x4c,0x98,0x7b] + {evex} invept r9, xmmword ptr [rax + 4*rbx + 123] + +## invvpid + +# CHECK: invvpid r19, xmmword ptr [r28 + 4*r29 + 291] +# CHECK: encoding: [0x62,0x8c,0x7a,0x08,0xf1,0x9c,0xac,0x23,0x01,0x00,0x00] + invvpid r19, xmmword ptr [r28 + 4*r29 + 291] + +# CHECK: {evex} invvpid r9, xmmword ptr [rax + 4*rbx + 123] +# CHECK: encoding: [0x62,0x74,0x7e,0x08,0xf1,0x4c,0x98,0x7b] + {evex} invvpid r9, xmmword ptr [rax + 4*rbx + 123] diff --git a/llvm/test/MC/X86/apx/wrssd-att.s b/llvm/test/MC/X86/apx/wrssd-att.s deleted file mode 100644 index 409b3010f5c76..0000000000000 --- a/llvm/test/MC/X86/apx/wrssd-att.s +++ /dev/null @@ -1,8 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-1: error: -# ERROR-NOT: error: -# CHECK: wrssd %r18d, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8c,0x78,0x08,0x66,0x94,0xac,0x23,0x01,0x00,0x00] - wrssd %r18d, 291(%r28,%r29,4) diff --git a/llvm/test/MC/X86/apx/wrssd-intel.s b/llvm/test/MC/X86/apx/wrssd-intel.s deleted file mode 100644 index 1d402f2c51776..0000000000000 --- a/llvm/test/MC/X86/apx/wrssd-intel.s +++ /dev/null @@ -1,5 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: wrssd dword ptr [r28 + 4*r29 + 291], r18d -# CHECK: encoding: [0x62,0x8c,0x78,0x08,0x66,0x94,0xac,0x23,0x01,0x00,0x00] - wrssd dword ptr [r28 + 4*r29 + 291], r18d diff --git a/llvm/test/MC/X86/apx/wrssq-att.s b/llvm/test/MC/X86/apx/wrssq-att.s deleted file mode 100644 index 1f616ac2e4e47..0000000000000 --- a/llvm/test/MC/X86/apx/wrssq-att.s +++ /dev/null @@ -1,8 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-1: error: -# ERROR-NOT: error: -# CHECK: wrssq %r19, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0x66,0x9c,0xac,0x23,0x01,0x00,0x00] - wrssq %r19, 291(%r28,%r29,4) diff --git a/llvm/test/MC/X86/apx/wrssq-intel.s b/llvm/test/MC/X86/apx/wrssq-intel.s deleted file mode 100644 index d31dca55ca4a4..0000000000000 --- a/llvm/test/MC/X86/apx/wrssq-intel.s +++ /dev/null @@ -1,5 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: wrssq qword ptr [r28 + 4*r29 + 291], r19 -# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0x66,0x9c,0xac,0x23,0x01,0x00,0x00] - wrssq qword ptr [r28 + 4*r29 + 291], r19 diff --git a/llvm/test/MC/X86/apx/wrussd-att.s b/llvm/test/MC/X86/apx/wrussd-att.s deleted file mode 100644 index 269d9a8aa8586..0000000000000 --- a/llvm/test/MC/X86/apx/wrussd-att.s +++ /dev/null @@ -1,8 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-1: error: -# ERROR-NOT: error: -# CHECK: wrussd %r18d, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8c,0x79,0x08,0x65,0x94,0xac,0x23,0x01,0x00,0x00] - wrussd %r18d, 291(%r28,%r29,4) diff --git a/llvm/test/MC/X86/apx/wrussd-intel.s b/llvm/test/MC/X86/apx/wrussd-intel.s deleted file mode 100644 index fed6eb10d4add..0000000000000 --- a/llvm/test/MC/X86/apx/wrussd-intel.s +++ /dev/null @@ -1,5 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: wrussd dword ptr [r28 + 4*r29 + 291], r18d -# CHECK: encoding: [0x62,0x8c,0x79,0x08,0x65,0x94,0xac,0x23,0x01,0x00,0x00] - wrussd dword ptr [r28 + 4*r29 + 291], r18d diff --git a/llvm/test/MC/X86/apx/wrussq-att.s b/llvm/test/MC/X86/apx/wrussq-att.s deleted file mode 100644 index b41360cd9db04..0000000000000 --- a/llvm/test/MC/X86/apx/wrussq-att.s +++ /dev/null @@ -1,8 +0,0 @@ -# RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s -# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR - -# ERROR-COUNT-1: error: -# ERROR-NOT: error: -# CHECK: wrussq %r19, 291(%r28,%r29,4) -# CHECK: encoding: [0x62,0x8c,0xf9,0x08,0x65,0x9c,0xac,0x23,0x01,0x00,0x00] - wrussq %r19, 291(%r28,%r29,4) diff --git a/llvm/test/MC/X86/apx/wrussq-intel.s b/llvm/test/MC/X86/apx/wrussq-intel.s deleted file mode 100644 index a9a96da9d3d1d..0000000000000 --- a/llvm/test/MC/X86/apx/wrussq-intel.s +++ /dev/null @@ -1,5 +0,0 @@ -# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s - -# CHECK: wrussq qword ptr [r28 + 4*r29 + 291], r19 -# CHECK: encoding: [0x62,0x8c,0xf9,0x08,0x65,0x9c,0xac,0x23,0x01,0x00,0x00] - wrussq qword ptr [r28 + 4*r29 + 291], r19