[llvm-branch-commits] [llvm] f47b073 - [X86] Teach assembler to accept vmsave/vmload/vmrun/invlpga/skinit with or without the fixed register operands
Craig Topper via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sat Dec 19 11:07:01 PST 2020
Author: Craig Topper
Date: 2020-12-19T11:01:55-08:00
New Revision: f47b07315a3c308a214119244b216602c537a1b2
URL: https://github.com/llvm/llvm-project/commit/f47b07315a3c308a214119244b216602c537a1b2
DIFF: https://github.com/llvm/llvm-project/commit/f47b07315a3c308a214119244b216602c537a1b2.diff
LOG: [X86] Teach assembler to accept vmsave/vmload/vmrun/invlpga/skinit with or without the fixed register operands
These instructions read their inputs from fixed registers rather
than using a modrm byte. We shouldn't require the user to list them
when parsing assembly. This matches the GNU assembler.
This patch adds InstAliases so we can accept either form. It also
changes the printing code to use the form without registers. This
will change the behavior of llvm-objdump, but should be consistent
with binutils objdump. This also matches what we already do in LLVM for
clzero and monitorx which also used fixed registers.
I need to add and improve tests before this can be commited. The
disassembler tests exist, but weren't checking the fixed register
so they pass before and after this change.
Fixes https://github.com/ClangBuiltLinux/linux/issues/1216
Differential Revision: https://reviews.llvm.org/D93524
Added:
Modified:
llvm/lib/Target/X86/X86InstrSVM.td
llvm/test/MC/Disassembler/X86/simple-tests.txt
llvm/test/MC/X86/SVM-32.s
llvm/test/MC/X86/SVM-64.s
llvm/test/MC/X86/x86-32-coverage.s
llvm/test/MC/X86/x86-32.s
llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-x86_64.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86InstrSVM.td b/llvm/lib/Target/X86/X86InstrSVM.td
index 82c8e74156b2..d8f70b016c7b 100644
--- a/llvm/lib/Target/X86/X86InstrSVM.td
+++ b/llvm/lib/Target/X86/X86InstrSVM.td
@@ -26,37 +26,47 @@ def CLGI : I<0x01, MRM_DD, (outs), (ins), "clgi", []>, TB;
// 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
index 6248cbdd1b52..21f9c4d7f739 100644
--- 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
index c08eb818f640..5b7834ee8395 100644
--- 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
index 6ed73fd3ac03..d1bc567f2bd2 100644
--- 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
index d215688cdf81..feadfa418930 100644
--- 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
index 426ab617b6b0..3dba9167beb0 100644
--- 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
index 9fb2ce15c8fc..db3cf6f93100 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index 19894f326b5e..c9e7f6329b70 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index 3b4c94a94855..b60a873b59d4 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index aa232ceabef4..389e0956d699 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index b59c5ea3bf58..b0c89f017731 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index 19894f326b5e..c9e7f6329b70 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index 7f629b5817f9..c265464cede2 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index b4ede6c2bf5f..28b67638269a 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index 70850ef0e23d..1df4761c55b2 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index 05deb0e65103..c0da94ba45a7 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index 224ec2981297..907d7ccdebf9 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index d888cb36eb7a..34c333633632 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
index 8849e32772ba..c2907297b26c 100644
--- 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 @@ xorq (%rax), %rdi
# 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 @@ xorq (%rax), %rdi
# 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
More information about the llvm-branch-commits
mailing list