[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