diff --git a/llvm/lib/Target/X86/X86InstrSVM.td b/llvm/lib/Target/X86/X86InstrSVM.td --- a/llvm/lib/Target/X86/X86InstrSVM.td +++ b/llvm/lib/Target/X86/X86InstrSVM.td @@ -26,37 +26,47 @@ // 0F 01 DE let Uses = [EAX] in -def SKINIT : I<0x01, MRM_DE, (outs), (ins), "skinit\t{%eax|eax}", []>, TB; +def SKINIT : I<0x01, MRM_DE, (outs), (ins), "skinit", []>, TB; // 0F 01 D8 let Uses = [EAX] in -def VMRUN32 : I<0x01, MRM_D8, (outs), (ins), "vmrun\t{%eax|eax}", []>, TB, +def VMRUN32 : I<0x01, MRM_D8, (outs), (ins), "vmrun", []>, TB, Requires<[Not64BitMode]>; let Uses = [RAX] in -def VMRUN64 : I<0x01, MRM_D8, (outs), (ins), "vmrun\t{%rax|rax}", []>, TB, +def VMRUN64 : I<0x01, MRM_D8, (outs), (ins), "vmrun", []>, TB, Requires<[In64BitMode]>; // 0F 01 DA let Uses = [EAX] in -def VMLOAD32 : I<0x01, MRM_DA, (outs), (ins), "vmload\t{%eax|eax}", []>, TB, +def VMLOAD32 : I<0x01, MRM_DA, (outs), (ins), "vmload", []>, TB, Requires<[Not64BitMode]>; let Uses = [RAX] in -def VMLOAD64 : I<0x01, MRM_DA, (outs), (ins), "vmload\t{%rax|rax}", []>, TB, +def VMLOAD64 : I<0x01, MRM_DA, (outs), (ins), "vmload", []>, TB, Requires<[In64BitMode]>; // 0F 01 DB let Uses = [EAX] in -def VMSAVE32 : I<0x01, MRM_DB, (outs), (ins), "vmsave\t{%eax|eax}", []>, TB, +def VMSAVE32 : I<0x01, MRM_DB, (outs), (ins), "vmsave", []>, TB, Requires<[Not64BitMode]>; let Uses = [RAX] in -def VMSAVE64 : I<0x01, MRM_DB, (outs), (ins), "vmsave\t{%rax|rax}", []>, TB, +def VMSAVE64 : I<0x01, MRM_DB, (outs), (ins), "vmsave", []>, TB, Requires<[In64BitMode]>; // 0F 01 DF let Uses = [EAX, ECX] in def INVLPGA32 : I<0x01, MRM_DF, (outs), (ins), - "invlpga\t{%eax, %ecx|eax, ecx}", []>, TB, Requires<[Not64BitMode]>; + "invlpga", []>, TB, Requires<[Not64BitMode]>; let Uses = [RAX, ECX] in def INVLPGA64 : I<0x01, MRM_DF, (outs), (ins), - "invlpga\t{%rax, %ecx|rax, ecx}", []>, TB, Requires<[In64BitMode]>; + "invlpga", []>, TB, Requires<[In64BitMode]>; } // SchedRW + +def : InstAlias<"skinit\t{%eax|eax}", (SKINIT), 0>; +def : InstAlias<"vmrun\t{%eax|eax}", (VMRUN32), 0>, Requires<[Not64BitMode]>; +def : InstAlias<"vmrun\t{%rax|rax}", (VMRUN64), 0>, Requires<[In64BitMode]>; +def : InstAlias<"vmload\t{%eax|eax}", (VMLOAD32), 0>, Requires<[Not64BitMode]>; +def : InstAlias<"vmload\t{%rax|rax}", (VMLOAD64), 0>, Requires<[In64BitMode]>; +def : InstAlias<"vmsave\t{%eax|eax}", (VMSAVE32), 0>, Requires<[Not64BitMode]>; +def : InstAlias<"vmsave\t{%rax|rax}", (VMSAVE64), 0>, Requires<[In64BitMode]>; +def : InstAlias<"invlpga\t{%eax, %ecx|eax, ecx}", (INVLPGA32), 0>, Requires<[Not64BitMode]>; +def : InstAlias<"invlpga\t{%rax, %ecx|rax, ecx}", (INVLPGA64), 0>, Requires<[In64BitMode]>; diff --git a/llvm/test/MC/Disassembler/X86/simple-tests.txt b/llvm/test/MC/Disassembler/X86/simple-tests.txt --- a/llvm/test/MC/Disassembler/X86/simple-tests.txt +++ b/llvm/test/MC/Disassembler/X86/simple-tests.txt @@ -66,16 +66,16 @@ # CHECK: vmptrst 0x0f 0xc7 0x38 -# CHECK: vmrun +# CHECK: vmrun{{$}} 0x0f 0x01 0xd8 # CHECK: vmmcall 0x0f 0x01 0xd9 -# CHECK: vmload +# CHECK: vmload{{$}} 0x0f 0x01 0xda -# CHECK: vmsave +# CHECK: vmsave{{$}} 0x0f 0x01 0xdb # CHECK: stgi @@ -84,10 +84,10 @@ # CHECK: clgi 0x0f 0x01 0xdd -# CHECK: skinit +# CHECK: skinit{{$}} 0x0f 0x01 0xde -# CHECK: invlpga +# CHECK: invlpga{{$}} 0x0f 0x01 0xdf # CHECK: movl $0, -4(%rbp) diff --git a/llvm/test/MC/X86/SVM-32.s b/llvm/test/MC/X86/SVM-32.s --- a/llvm/test/MC/X86/SVM-32.s +++ b/llvm/test/MC/X86/SVM-32.s @@ -4,31 +4,51 @@ // CHECK: encoding: [0x0f,0x01,0xdd] clgi -// CHECK: invlpga %eax, %ecx +// CHECK: invlpga // CHECK: encoding: [0x0f,0x01,0xdf] invlpga %eax, %ecx -// CHECK: skinit %eax +// CHECK: invlpga +// CHECK: encoding: [0x0f,0x01,0xdf] +invlpga + +// CHECK: skinit // CHECK: encoding: [0x0f,0x01,0xde] skinit %eax +// CHECK: skinit +// CHECK: encoding: [0x0f,0x01,0xde] +skinit + // CHECK: stgi // CHECK: encoding: [0x0f,0x01,0xdc] stgi -// CHECK: vmload %eax +// CHECK: vmload // CHECK: encoding: [0x0f,0x01,0xda] vmload %eax +// CHECK: vmload +// CHECK: encoding: [0x0f,0x01,0xda] +vmload + // CHECK: vmmcall // CHECK: encoding: [0x0f,0x01,0xd9] vmmcall -// CHECK: vmrun %eax +// CHECK: vmrun // CHECK: encoding: [0x0f,0x01,0xd8] vmrun %eax -// CHECK: vmsave %eax +// CHECK: vmrun +// CHECK: encoding: [0x0f,0x01,0xd8] +vmrun + +// CHECK: vmsave // CHECK: encoding: [0x0f,0x01,0xdb] vmsave %eax +// CHECK: vmsave +// CHECK: encoding: [0x0f,0x01,0xdb] +vmsave + diff --git a/llvm/test/MC/X86/SVM-64.s b/llvm/test/MC/X86/SVM-64.s --- a/llvm/test/MC/X86/SVM-64.s +++ b/llvm/test/MC/X86/SVM-64.s @@ -4,31 +4,51 @@ // CHECK: encoding: [0x0f,0x01,0xdd] clgi -// CHECK: invlpga %rax, %ecx +// CHECK: invlpga // CHECK: encoding: [0x0f,0x01,0xdf] invlpga %rax, %ecx -// CHECK: skinit %eax +// CHECK: invlpga +// CHECK: encoding: [0x0f,0x01,0xdf] +invlpga + +// CHECK: skinit // CHECK: encoding: [0x0f,0x01,0xde] skinit %eax +// CHECK: skinit +// CHECK: encoding: [0x0f,0x01,0xde] +skinit + // CHECK: stgi // CHECK: encoding: [0x0f,0x01,0xdc] stgi -// CHECK: vmload %rax +// CHECK: vmload // CHECK: encoding: [0x0f,0x01,0xda] vmload %rax +// CHECK: vmload +// CHECK: encoding: [0x0f,0x01,0xda] +vmload + // CHECK: vmmcall // CHECK: encoding: [0x0f,0x01,0xd9] vmmcall -// CHECK: vmrun %rax +// CHECK: vmrun // CHECK: encoding: [0x0f,0x01,0xd8] vmrun %rax -// CHECK: vmsave %rax +// CHECK: vmrun +// CHECK: encoding: [0x0f,0x01,0xd8] +vmrun + +// CHECK: vmsave // CHECK: encoding: [0x0f,0x01,0xdb] vmsave %rax +// CHECK: vmsave +// CHECK: encoding: [0x0f,0x01,0xdb] +vmsave + diff --git a/llvm/test/MC/X86/x86-32-coverage.s b/llvm/test/MC/X86/x86-32-coverage.s --- a/llvm/test/MC/X86/x86-32-coverage.s +++ b/llvm/test/MC/X86/x86-32-coverage.s @@ -10476,16 +10476,16 @@ // CHECK: vmxon 305419896 vmxon 0x12345678 -// CHECK: vmrun %eax +// CHECK: vmrun vmrun %eax // CHECK: vmmcall vmmcall -// CHECK: vmload %eax +// CHECK: vmload vmload %eax -// CHECK: vmsave %eax +// CHECK: vmsave vmsave %eax // CHECK: stgi @@ -10494,10 +10494,10 @@ // CHECK: clgi clgi -// CHECK: skinit %eax +// CHECK: skinit skinit %eax -// CHECK: invlpga %eax, %ecx +// CHECK: invlpga invlpga %eax, %ecx // CHECK: blendvps %xmm0, (%eax), %xmm1 # encoding: [0x66,0x0f,0x38,0x14,0x08] diff --git a/llvm/test/MC/X86/x86-32.s b/llvm/test/MC/X86/x86-32.s --- a/llvm/test/MC/X86/x86-32.s +++ b/llvm/test/MC/X86/x86-32.s @@ -45,16 +45,16 @@ // CHECK: encoding: [0x0f,0x01,0xf8] vmrun %eax -// CHECK: vmrun %eax +// CHECK: vmrun // CHECK: encoding: [0x0f,0x01,0xd8] vmmcall // CHECK: vmmcall // CHECK: encoding: [0x0f,0x01,0xd9] vmload %eax -// CHECK: vmload %eax +// CHECK: vmload // CHECK: encoding: [0x0f,0x01,0xda] vmsave %eax -// CHECK: vmsave %eax +// CHECK: vmsave // CHECK: encoding: [0x0f,0x01,0xdb] stgi // CHECK: stgi @@ -63,10 +63,10 @@ // CHECK: clgi // CHECK: encoding: [0x0f,0x01,0xdd] skinit %eax -// CHECK: skinit %eax +// CHECK: skinit // CHECK: encoding: [0x0f,0x01,0xde] invlpga %eax, %ecx -// CHECK: invlpga %eax, %ecx +// CHECK: invlpga // CHECK: encoding: [0x0f,0x01,0xdf] rdtscp diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 1 59 29.50 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 127 63.50 * * U int $7 # CHECK-NEXT: 1 71 35.50 U invlpg (%rax) -# CHECK-NEXT: 1 71 35.50 U invlpga %rax, %ecx +# CHECK-NEXT: 1 71 35.50 U invlpga # CHECK-NEXT: 1 2 1.00 lahf # CHECK-NEXT: 1 2 1.00 * leave # CHECK-NEXT: 1 2 1.00 U lodsb (%rsi), %al @@ -2304,7 +2304,7 @@ # CHECK-NEXT: 29.50 29.50 insl %dx, %es:(%rdi) # CHECK-NEXT: 63.50 63.50 int $7 # CHECK-NEXT: 35.50 35.50 invlpg (%rax) -# CHECK-NEXT: 35.50 35.50 invlpga %rax, %ecx +# CHECK-NEXT: 35.50 35.50 invlpga # CHECK-NEXT: 1.00 1.00 lahf # CHECK-NEXT: 1.00 1.00 leave # CHECK-NEXT: 1.00 1.00 lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 1 100 0.33 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 0.33 * * U int $7 # CHECK-NEXT: 1 100 0.33 U invlpg (%rax) -# CHECK-NEXT: 1 100 0.33 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 0.33 U invlpga # CHECK-NEXT: 1 1 0.50 lahf # CHECK-NEXT: 3 7 0.67 * leave # CHECK-NEXT: 3 7 0.67 U lodsb (%rsi), %al @@ -2310,7 +2310,7 @@ # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - insl %dx, %es:(%rdi) # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - int $7 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpg (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpga %rax, %ecx +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpga # CHECK-NEXT: - - 0.50 - - 0.50 - - lahf # CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 leave # CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 1 100 0.50 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 0.50 * * U int $7 # CHECK-NEXT: 1 100 0.50 U invlpg (%rax) -# CHECK-NEXT: 1 100 0.50 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 0.50 U invlpga # CHECK-NEXT: 4 2 2.00 lahf # CHECK-NEXT: 1 1 1.00 * leave # CHECK-NEXT: 1 100 0.50 U lodsb (%rsi), %al @@ -2325,7 +2325,7 @@ # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - insl %dx, %es:(%rdi) # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - int $7 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - invlpg (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - invlpga %rax, %ecx +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - invlpga # CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - lahf # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leave # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 8 20 1.25 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 0.25 * * U int $7 # CHECK-NEXT: 1 100 0.25 U invlpg (%rax) -# CHECK-NEXT: 1 100 0.25 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 0.25 U invlpga # CHECK-NEXT: 1 1 0.50 lahf # CHECK-NEXT: 3 7 0.50 * leave # CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al @@ -2312,7 +2312,7 @@ # CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insl %dx, %es:(%rdi) # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - int $7 # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpg (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga %rax, %ecx +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga # CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - leave # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 1 100 0.50 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 0.50 * * U int $7 # CHECK-NEXT: 1 100 0.50 U invlpg (%rax) -# CHECK-NEXT: 1 100 0.50 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 0.50 U invlpga # CHECK-NEXT: 1 1 0.50 lahf # CHECK-NEXT: 1 1 0.50 * leave # CHECK-NEXT: 1 100 0.50 U lodsb (%rsi), %al @@ -2316,7 +2316,7 @@ # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - insl %dx, %es:(%rdi) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - int $7 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - invlpg (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - invlpga %rax, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - invlpga # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lahf # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - leave # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 1 100 0.33 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 0.33 * * U int $7 # CHECK-NEXT: 1 100 0.33 U invlpg (%rax) -# CHECK-NEXT: 1 100 0.33 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 0.33 U invlpga # CHECK-NEXT: 1 1 0.50 lahf # CHECK-NEXT: 3 7 0.67 * leave # CHECK-NEXT: 3 7 0.67 U lodsb (%rsi), %al @@ -2310,7 +2310,7 @@ # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - insl %dx, %es:(%rdi) # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - int $7 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpg (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpga %rax, %ecx +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpga # CHECK-NEXT: - - 0.50 - - 0.50 - - lahf # CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 leave # CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 8 21 1.25 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 0.25 * * U int $7 # CHECK-NEXT: 1 100 0.25 U invlpg (%rax) -# CHECK-NEXT: 1 100 0.25 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 0.25 U invlpga # CHECK-NEXT: 1 1 0.50 lahf # CHECK-NEXT: 3 7 0.50 * leave # CHECK-NEXT: 3 1 0.50 U lodsb (%rsi), %al @@ -2312,7 +2312,7 @@ # CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insl %dx, %es:(%rdi) # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - int $7 # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpg (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga %rax, %ecx +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga # CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - leave # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 1 100 1.00 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 1.00 * * U int $7 # CHECK-NEXT: 1 100 1.00 U invlpg (%rax) -# CHECK-NEXT: 1 100 1.00 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 1.00 U invlpga # CHECK-NEXT: 1 1 0.50 lahf # CHECK-NEXT: 1 1 0.50 * leave # CHECK-NEXT: 1 100 1.00 U lodsb (%rsi), %al @@ -2310,7 +2310,7 @@ # CHECK-NEXT: - - - 1.00 - - - - insl %dx, %es:(%rdi) # CHECK-NEXT: - - - 1.00 - - - - int $7 # CHECK-NEXT: - - - 1.00 - - - - invlpg (%rax) -# CHECK-NEXT: - - - 1.00 - - - - invlpga %rax, %ecx +# CHECK-NEXT: - - - 1.00 - - - - invlpga # CHECK-NEXT: - - - - - 0.50 0.50 - lahf # CHECK-NEXT: - - - - - 0.50 0.50 - leave # CHECK-NEXT: - - - 1.00 - - - - lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 1 100 0.33 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 0.33 * * U int $7 # CHECK-NEXT: 1 100 0.33 U invlpg (%rax) -# CHECK-NEXT: 1 100 0.33 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 0.33 U invlpga # CHECK-NEXT: 1 1 0.50 lahf # CHECK-NEXT: 3 7 0.67 * leave # CHECK-NEXT: 3 7 0.67 U lodsb (%rsi), %al @@ -2310,7 +2310,7 @@ # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - insl %dx, %es:(%rdi) # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - int $7 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpg (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpga %rax, %ecx +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpga # CHECK-NEXT: - - 0.50 - - 0.50 - - lahf # CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 leave # CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 8 20 1.25 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 0.25 * * U int $7 # CHECK-NEXT: 1 100 0.25 U invlpg (%rax) -# CHECK-NEXT: 1 100 0.25 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 0.25 U invlpga # CHECK-NEXT: 1 1 0.50 lahf # CHECK-NEXT: 3 7 0.50 * leave # CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al @@ -2312,7 +2312,7 @@ # CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insl %dx, %es:(%rdi) # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - int $7 # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpg (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga %rax, %ecx +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga # CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - leave # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 8 20 1.25 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 0.25 * * U int $7 # CHECK-NEXT: 1 100 0.25 U invlpg (%rax) -# CHECK-NEXT: 1 100 0.25 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 0.25 U invlpga # CHECK-NEXT: 1 1 0.50 lahf # CHECK-NEXT: 3 7 0.50 * leave # CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al @@ -2312,7 +2312,7 @@ # CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insl %dx, %es:(%rdi) # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - int $7 # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpg (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga %rax, %ecx +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga # CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - leave # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s @@ -1383,7 +1383,7 @@ # CHECK-NEXT: 1 100 0.25 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 0.25 * * U int $7 # CHECK-NEXT: 1 100 0.25 U invlpg (%rax) -# CHECK-NEXT: 1 100 0.25 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 0.25 U invlpga # CHECK-NEXT: 1 100 0.25 lahf # CHECK-NEXT: 2 8 0.50 * leave # CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al @@ -2314,7 +2314,7 @@ # CHECK-NEXT: - - - - - - - - - - - - insl %dx, %es:(%rdi) # CHECK-NEXT: - - - - - - - - - - - - int $7 # CHECK-NEXT: - - - - - - - - - - - - invlpg (%rax) -# CHECK-NEXT: - - - - - - - - - - - - invlpga %rax, %ecx +# CHECK-NEXT: - - - - - - - - - - - - invlpga # CHECK-NEXT: - - - - - - - - - - - - lahf # CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - leave # CHECK-NEXT: - - - - - - - - - - - - lodsb (%rsi), %al diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-x86_64.s --- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-x86_64.s @@ -1185,7 +1185,7 @@ # CHECK-NEXT: 1 100 0.25 U insl %dx, %es:(%rdi) # CHECK-NEXT: 1 100 0.25 * * U int $7 # CHECK-NEXT: 1 100 0.25 U invlpg (%rax) -# CHECK-NEXT: 1 100 0.25 U invlpga %rax, %ecx +# CHECK-NEXT: 1 100 0.25 U invlpga # CHECK-NEXT: 1 100 0.25 lahf # CHECK-NEXT: 2 8 0.33 * leave # CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al @@ -1986,7 +1986,7 @@ # CHECK-NEXT: - - - - - - - - - - - - - insl %dx, %es:(%rdi) # CHECK-NEXT: - - - - - - - - - - - - - int $7 # CHECK-NEXT: - - - - - - - - - - - - - invlpg (%rax) -# CHECK-NEXT: - - - - - - - - - - - - - invlpga %rax, %ecx +# CHECK-NEXT: - - - - - - - - - - - - - invlpga # CHECK-NEXT: - - - - - - - - - - - - - lahf # CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - leave # CHECK-NEXT: - - - - - - - - - - - - - lodsb (%rsi), %al