[llvm] r337586 - [llvm-mca][x86] Add movsx/movzx instructions to general x86_64 resource tests
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 20 10:43:42 PDT 2018
Author: rksimon
Date: Fri Jul 20 10:43:42 2018
New Revision: 337586
URL: http://llvm.org/viewvc/llvm-project?rev=337586&view=rev
Log:
[llvm-mca][x86] Add movsx/movzx instructions to general x86_64 resource tests
Modified:
llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
Modified: llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s?rev=337586&r1=337585&r2=337586&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s Fri Jul 20 10:43:42 2018
@@ -285,6 +285,31 @@ incq (%rax)
lahf
+movsbw %al, %di
+movzbw %al, %di
+movsbw (%rax), %di
+movzbw (%rax), %di
+movsbl %al, %edi
+movzbl %al, %edi
+movsbl (%rax), %edi
+movzbl (%rax), %edi
+movsbq %al, %rdi
+movzbq %al, %rdi
+movsbq (%rax), %rdi
+movzbq (%rax), %rdi
+
+movswl %ax, %edi
+movzwl %ax, %edi
+movswl (%rax), %edi
+movzwl (%rax), %edi
+movswq %ax, %rdi
+movzwq %ax, %rdi
+movswq (%rax), %rdi
+movzwq (%rax), %rdi
+
+movslq %eax, %rdi
+movslq (%rax), %rdi
+
mulb %dil
mulb (%rax)
mulw %si
@@ -924,6 +949,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 1 1 1.00 * * incq (%rax)
# CHECK-NEXT: 1 2 1.00 lahf
+# CHECK-NEXT: 1 2 1.00 movsbw %al, %di
+# CHECK-NEXT: 1 2 1.00 movzbw %al, %di
+# CHECK-NEXT: 1 3 1.50 * movsbw (%rax), %di
+# CHECK-NEXT: 1 3 1.50 * movzbw (%rax), %di
+# CHECK-NEXT: 1 1 1.00 movsbl %al, %edi
+# CHECK-NEXT: 1 1 1.00 movzbl %al, %edi
+# CHECK-NEXT: 1 1 1.00 * movsbl (%rax), %edi
+# CHECK-NEXT: 1 1 1.00 * movzbl (%rax), %edi
+# CHECK-NEXT: 1 1 1.00 movsbq %al, %rdi
+# CHECK-NEXT: 1 1 1.00 movzbq %al, %rdi
+# CHECK-NEXT: 1 1 1.00 * movsbq (%rax), %rdi
+# CHECK-NEXT: 1 1 1.00 * movzbq (%rax), %rdi
+# CHECK-NEXT: 1 1 1.00 movswl %ax, %edi
+# CHECK-NEXT: 1 1 1.00 movzwl %ax, %edi
+# CHECK-NEXT: 1 1 1.00 * movswl (%rax), %edi
+# CHECK-NEXT: 1 1 1.00 * movzwl (%rax), %edi
+# CHECK-NEXT: 1 1 1.00 movswq %ax, %rdi
+# CHECK-NEXT: 1 1 1.00 movzwq %ax, %rdi
+# CHECK-NEXT: 1 1 1.00 * movswq (%rax), %rdi
+# CHECK-NEXT: 1 1 1.00 * movzwq (%rax), %rdi
+# CHECK-NEXT: 1 1 1.00 movslq %eax, %rdi
+# CHECK-NEXT: 1 1 1.00 * movslq (%rax), %rdi
# CHECK-NEXT: 1 7 3.50 mulb %dil
# CHECK-NEXT: 1 7 3.50 * mulb (%rax)
# CHECK-NEXT: 1 7 3.50 mulw %si
@@ -1275,7 +1322,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1]
-# CHECK-NEXT: 1395.00 1083.00
+# CHECK-NEXT: 1418.00 1088.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] Instructions:
@@ -1529,6 +1576,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 incq %rdi
# CHECK-NEXT: 1.00 - incq (%rax)
# CHECK-NEXT: 1.00 1.00 lahf
+# CHECK-NEXT: 1.00 1.00 movsbw %al, %di
+# CHECK-NEXT: 1.00 1.00 movzbw %al, %di
+# CHECK-NEXT: 1.50 1.50 movsbw (%rax), %di
+# CHECK-NEXT: 1.50 1.50 movzbw (%rax), %di
+# CHECK-NEXT: 1.00 - movsbl %al, %edi
+# CHECK-NEXT: 1.00 - movzbl %al, %edi
+# CHECK-NEXT: 1.00 - movsbl (%rax), %edi
+# CHECK-NEXT: 1.00 - movzbl (%rax), %edi
+# CHECK-NEXT: 1.00 - movsbq %al, %rdi
+# CHECK-NEXT: 1.00 - movzbq %al, %rdi
+# CHECK-NEXT: 1.00 - movsbq (%rax), %rdi
+# CHECK-NEXT: 1.00 - movzbq (%rax), %rdi
+# CHECK-NEXT: 1.00 - movswl %ax, %edi
+# CHECK-NEXT: 1.00 - movzwl %ax, %edi
+# CHECK-NEXT: 1.00 - movswl (%rax), %edi
+# CHECK-NEXT: 1.00 - movzwl (%rax), %edi
+# CHECK-NEXT: 1.00 - movswq %ax, %rdi
+# CHECK-NEXT: 1.00 - movzwq %ax, %rdi
+# CHECK-NEXT: 1.00 - movswq (%rax), %rdi
+# CHECK-NEXT: 1.00 - movzwq (%rax), %rdi
+# CHECK-NEXT: 1.00 - movslq %eax, %rdi
+# CHECK-NEXT: 1.00 - movslq (%rax), %rdi
# CHECK-NEXT: 3.50 3.50 mulb %dil
# CHECK-NEXT: 3.50 3.50 mulb (%rax)
# CHECK-NEXT: 3.50 3.50 mulw %si
Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s?rev=337586&r1=337585&r2=337586&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s Fri Jul 20 10:43:42 2018
@@ -285,6 +285,31 @@ incq (%rax)
lahf
+movsbw %al, %di
+movzbw %al, %di
+movsbw (%rax), %di
+movzbw (%rax), %di
+movsbl %al, %edi
+movzbl %al, %edi
+movsbl (%rax), %edi
+movzbl (%rax), %edi
+movsbq %al, %rdi
+movzbq %al, %rdi
+movsbq (%rax), %rdi
+movzbq (%rax), %rdi
+
+movswl %ax, %edi
+movzwl %ax, %edi
+movswl (%rax), %edi
+movzwl (%rax), %edi
+movswq %ax, %rdi
+movzwq %ax, %rdi
+movswq (%rax), %rdi
+movzwq (%rax), %rdi
+
+movslq %eax, %rdi
+movslq (%rax), %rdi
+
mulb %dil
mulb (%rax)
mulw %si
@@ -924,6 +949,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 1 0.25 movsbw %al, %di
+# CHECK-NEXT: 1 1 0.25 movzbw %al, %di
+# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
+# CHECK-NEXT: 1 5 0.50 * movzbw (%rax), %di
+# CHECK-NEXT: 1 1 0.25 movsbl %al, %edi
+# CHECK-NEXT: 1 1 0.25 movzbl %al, %edi
+# CHECK-NEXT: 1 5 0.50 * movsbl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzbl (%rax), %edi
+# CHECK-NEXT: 1 1 0.25 movsbq %al, %rdi
+# CHECK-NEXT: 1 1 0.25 movzbq %al, %rdi
+# CHECK-NEXT: 1 5 0.50 * movsbq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzbq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.25 movswl %ax, %edi
+# CHECK-NEXT: 1 1 0.25 movzwl %ax, %edi
+# CHECK-NEXT: 1 5 0.50 * movswl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzwl (%rax), %edi
+# CHECK-NEXT: 1 1 0.25 movswq %ax, %rdi
+# CHECK-NEXT: 1 1 0.25 movzwq %ax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movswq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzwq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.25 movslq %eax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movslq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
@@ -1283,7 +1330,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 50.00 - 374.25 264.75 212.50 212.50 167.00 158.25 340.75 69.00
+# CHECK-NEXT: 50.00 - 377.00 267.50 218.00 218.00 167.00 161.00 343.50 69.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1537,6 +1584,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbw %al, %di
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbw %al, %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbw (%rax), %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbw (%rax), %di
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbl %al, %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbl %al, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbl (%rax), %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbl (%rax), %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbq %al, %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbq %al, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbq (%rax), %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movswl %ax, %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzwl %ax, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movswl (%rax), %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzwl (%rax), %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movswq %ax, %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzwq %ax, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movswq (%rax), %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzwq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movslq %eax, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movslq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s?rev=337586&r1=337585&r2=337586&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s Fri Jul 20 10:43:42 2018
@@ -285,6 +285,31 @@ incq (%rax)
lahf
+movsbw %al, %di
+movzbw %al, %di
+movsbw (%rax), %di
+movzbw (%rax), %di
+movsbl %al, %edi
+movzbl %al, %edi
+movsbl (%rax), %edi
+movzbl (%rax), %edi
+movsbq %al, %rdi
+movzbq %al, %rdi
+movsbq (%rax), %rdi
+movzbq (%rax), %rdi
+
+movswl %ax, %edi
+movzwl %ax, %edi
+movswl (%rax), %edi
+movzwl (%rax), %edi
+movswq %ax, %rdi
+movzwq %ax, %rdi
+movswq (%rax), %rdi
+movzwq (%rax), %rdi
+
+movslq %eax, %rdi
+movslq (%rax), %rdi
+
mulb %dil
mulb (%rax)
mulw %si
@@ -924,6 +949,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 2 5 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 1 0.50 movsbw %al, %di
+# CHECK-NEXT: 1 1 0.50 movzbw %al, %di
+# CHECK-NEXT: 1 4 1.00 * movsbw (%rax), %di
+# CHECK-NEXT: 1 4 1.00 * movzbw (%rax), %di
+# CHECK-NEXT: 1 1 0.50 movsbl %al, %edi
+# CHECK-NEXT: 1 1 0.50 movzbl %al, %edi
+# CHECK-NEXT: 1 4 1.00 * movsbl (%rax), %edi
+# CHECK-NEXT: 1 4 1.00 * movzbl (%rax), %edi
+# CHECK-NEXT: 1 1 0.50 movsbq %al, %rdi
+# CHECK-NEXT: 1 1 0.50 movzbq %al, %rdi
+# CHECK-NEXT: 1 4 1.00 * movsbq (%rax), %rdi
+# CHECK-NEXT: 1 4 1.00 * movzbq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.50 movswl %ax, %edi
+# CHECK-NEXT: 1 1 0.50 movzwl %ax, %edi
+# CHECK-NEXT: 1 4 1.00 * movswl (%rax), %edi
+# CHECK-NEXT: 1 4 1.00 * movzwl (%rax), %edi
+# CHECK-NEXT: 1 1 0.50 movswq %ax, %rdi
+# CHECK-NEXT: 1 1 0.50 movzwq %ax, %rdi
+# CHECK-NEXT: 1 4 1.00 * movswq (%rax), %rdi
+# CHECK-NEXT: 1 4 1.00 * movzwq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.50 movslq %eax, %rdi
+# CHECK-NEXT: 1 4 1.00 * movslq (%rax), %rdi
# CHECK-NEXT: 2 3 1.00 mulb %dil
# CHECK-NEXT: 2 6 1.00 * mulb (%rax)
# CHECK-NEXT: 2 3 1.00 mulw %si
@@ -1287,7 +1334,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
-# CHECK-NEXT: 482.00 532.00 380.00 - - - - 284.00 64.00 195.00 - - - -
+# CHECK-NEXT: 493.00 543.00 380.00 - - - - 295.00 64.00 195.00 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
@@ -1541,6 +1588,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incq %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incq (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lahf
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movsbw %al, %di
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movzbw %al, %di
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movsbw (%rax), %di
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movzbw (%rax), %di
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movsbl %al, %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movzbl %al, %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movsbl (%rax), %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movzbl (%rax), %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movsbq %al, %rdi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movzbq %al, %rdi
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movsbq (%rax), %rdi
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movzbq (%rax), %rdi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movswl %ax, %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movzwl %ax, %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movswl (%rax), %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movzwl (%rax), %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movswq %ax, %rdi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movzwq %ax, %rdi
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movswq (%rax), %rdi
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movzwq (%rax), %rdi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movslq %eax, %rdi
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movslq (%rax), %rdi
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mulb %dil
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - mulb (%rax)
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mulw %si
Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s?rev=337586&r1=337585&r2=337586&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s Fri Jul 20 10:43:42 2018
@@ -285,6 +285,31 @@ incq (%rax)
lahf
+movsbw %al, %di
+movzbw %al, %di
+movsbw (%rax), %di
+movzbw (%rax), %di
+movsbl %al, %edi
+movzbl %al, %edi
+movsbl (%rax), %edi
+movzbl (%rax), %edi
+movsbq %al, %rdi
+movzbq %al, %rdi
+movsbq (%rax), %rdi
+movzbq (%rax), %rdi
+
+movswl %ax, %edi
+movzwl %ax, %edi
+movswl (%rax), %edi
+movzwl (%rax), %edi
+movswq %ax, %rdi
+movzwq %ax, %rdi
+movswq (%rax), %rdi
+movzwq (%rax), %rdi
+
+movslq %eax, %rdi
+movslq (%rax), %rdi
+
mulb %dil
mulb (%rax)
mulw %si
@@ -924,6 +949,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 1 0.33 movsbw %al, %di
+# CHECK-NEXT: 1 1 0.33 movzbw %al, %di
+# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
+# CHECK-NEXT: 1 5 0.50 * movzbw (%rax), %di
+# CHECK-NEXT: 1 1 0.33 movsbl %al, %edi
+# CHECK-NEXT: 1 1 0.33 movzbl %al, %edi
+# CHECK-NEXT: 1 5 0.50 * movsbl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzbl (%rax), %edi
+# CHECK-NEXT: 1 1 0.33 movsbq %al, %rdi
+# CHECK-NEXT: 1 1 0.33 movzbq %al, %rdi
+# CHECK-NEXT: 1 5 0.50 * movsbq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzbq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.33 movswl %ax, %edi
+# CHECK-NEXT: 1 1 0.33 movzwl %ax, %edi
+# CHECK-NEXT: 1 5 0.50 * movswl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzwl (%rax), %edi
+# CHECK-NEXT: 1 1 0.33 movswq %ax, %rdi
+# CHECK-NEXT: 1 1 0.33 movzwq %ax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movswq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzwq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.33 movslq %eax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movslq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.33 mulw %si
@@ -1281,7 +1328,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: 160.00 - 361.83 167.33 210.00 352.83 248.50 248.50
+# CHECK-NEXT: 160.00 - 365.50 171.00 210.00 356.50 254.00 254.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1535,6 +1582,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incq %rdi
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incq (%rax)
# CHECK-NEXT: - - 0.50 - - 0.50 - - lahf
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movsbw %al, %di
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzbw %al, %di
+# CHECK-NEXT: - - - - - - 0.50 0.50 movsbw (%rax), %di
+# CHECK-NEXT: - - - - - - 0.50 0.50 movzbw (%rax), %di
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movsbl %al, %edi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzbl %al, %edi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movsbl (%rax), %edi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movzbl (%rax), %edi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movsbq %al, %rdi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzbq %al, %rdi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movsbq (%rax), %rdi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movzbq (%rax), %rdi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movswl %ax, %edi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzwl %ax, %edi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movswl (%rax), %edi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movzwl (%rax), %edi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movswq %ax, %rdi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzwq %ax, %rdi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movswq (%rax), %rdi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movzwq (%rax), %rdi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movslq %eax, %rdi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movslq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 mulb (%rax)
# CHECK-NEXT: - - 1.17 1.67 - 1.17 - - mulw %si
Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s?rev=337586&r1=337585&r2=337586&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s Fri Jul 20 10:43:42 2018
@@ -285,6 +285,31 @@ incq (%rax)
lahf
+movsbw %al, %di
+movzbw %al, %di
+movsbw (%rax), %di
+movzbw (%rax), %di
+movsbl %al, %edi
+movzbl %al, %edi
+movsbl (%rax), %edi
+movzbl (%rax), %edi
+movsbq %al, %rdi
+movzbq %al, %rdi
+movsbq (%rax), %rdi
+movzbq (%rax), %rdi
+
+movswl %ax, %edi
+movzwl %ax, %edi
+movswl (%rax), %edi
+movzwl (%rax), %edi
+movswq %ax, %rdi
+movzwq %ax, %rdi
+movswq (%rax), %rdi
+movzwq (%rax), %rdi
+
+movslq %eax, %rdi
+movslq (%rax), %rdi
+
mulb %dil
mulb (%rax)
mulw %si
@@ -924,6 +949,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 1 0.25 movsbw %al, %di
+# CHECK-NEXT: 1 1 0.25 movzbw %al, %di
+# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
+# CHECK-NEXT: 1 5 0.50 * movzbw (%rax), %di
+# CHECK-NEXT: 1 1 0.25 movsbl %al, %edi
+# CHECK-NEXT: 1 1 0.25 movzbl %al, %edi
+# CHECK-NEXT: 1 5 0.50 * movsbl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzbl (%rax), %edi
+# CHECK-NEXT: 1 1 0.25 movsbq %al, %rdi
+# CHECK-NEXT: 1 1 0.25 movzbq %al, %rdi
+# CHECK-NEXT: 1 5 0.50 * movsbq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzbq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.25 movswl %ax, %edi
+# CHECK-NEXT: 1 1 0.25 movzwl %ax, %edi
+# CHECK-NEXT: 1 5 0.50 * movswl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzwl (%rax), %edi
+# CHECK-NEXT: 1 1 0.25 movswq %ax, %rdi
+# CHECK-NEXT: 1 1 0.25 movzwq %ax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movswq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzwq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.25 movslq %eax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movslq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
@@ -1283,7 +1330,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 80.00 - 425.25 285.75 203.50 203.50 158.00 181.25 420.75 66.00
+# CHECK-NEXT: 80.00 - 428.00 288.50 209.00 209.00 158.00 184.00 423.50 66.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1537,6 +1584,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbw %al, %di
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbw %al, %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbw (%rax), %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbw (%rax), %di
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbl %al, %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbl %al, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbl (%rax), %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbl (%rax), %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbq %al, %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbq %al, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbq (%rax), %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movswl %ax, %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzwl %ax, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movswl (%rax), %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzwl (%rax), %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movswq %ax, %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzwq %ax, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movswq (%rax), %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzwq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movslq %eax, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movslq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
Modified: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s?rev=337586&r1=337585&r2=337586&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s Fri Jul 20 10:43:42 2018
@@ -285,6 +285,31 @@ incq (%rax)
lahf
+movsbw %al, %di
+movzbw %al, %di
+movsbw (%rax), %di
+movzbw (%rax), %di
+movsbl %al, %edi
+movzbl %al, %edi
+movsbl (%rax), %edi
+movzbl (%rax), %edi
+movsbq %al, %rdi
+movzbq %al, %rdi
+movsbq (%rax), %rdi
+movzbq (%rax), %rdi
+
+movswl %ax, %edi
+movzwl %ax, %edi
+movswl (%rax), %edi
+movzwl (%rax), %edi
+movswq %ax, %rdi
+movzwq %ax, %rdi
+movswq (%rax), %rdi
+movzwq (%rax), %rdi
+
+movslq %eax, %rdi
+movslq (%rax), %rdi
+
mulb %dil
mulb (%rax)
mulw %si
@@ -924,6 +949,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 2 5 2.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 1 0.50 movsbw %al, %di
+# CHECK-NEXT: 1 1 0.50 movzbw %al, %di
+# CHECK-NEXT: 1 4 1.00 * movsbw (%rax), %di
+# CHECK-NEXT: 1 4 1.00 * movzbw (%rax), %di
+# CHECK-NEXT: 1 1 0.50 movsbl %al, %edi
+# CHECK-NEXT: 1 1 0.50 movzbl %al, %edi
+# CHECK-NEXT: 1 4 1.00 * movsbl (%rax), %edi
+# CHECK-NEXT: 1 4 1.00 * movzbl (%rax), %edi
+# CHECK-NEXT: 1 1 0.50 movsbq %al, %rdi
+# CHECK-NEXT: 1 1 0.50 movzbq %al, %rdi
+# CHECK-NEXT: 1 4 1.00 * movsbq (%rax), %rdi
+# CHECK-NEXT: 1 4 1.00 * movzbq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.50 movswl %ax, %edi
+# CHECK-NEXT: 1 1 0.50 movzwl %ax, %edi
+# CHECK-NEXT: 1 4 1.00 * movswl (%rax), %edi
+# CHECK-NEXT: 1 4 1.00 * movzwl (%rax), %edi
+# CHECK-NEXT: 1 1 0.50 movswq %ax, %rdi
+# CHECK-NEXT: 1 1 0.50 movzwq %ax, %rdi
+# CHECK-NEXT: 1 4 1.00 * movswq (%rax), %rdi
+# CHECK-NEXT: 1 4 1.00 * movzwq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.50 movslq %eax, %rdi
+# CHECK-NEXT: 1 4 1.00 * movslq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 1 6 1.00 * mulb (%rax)
# CHECK-NEXT: 1 3 1.00 mulw %si
@@ -1281,7 +1328,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: 400.00 - - - - 533.00 375.00 491.00
+# CHECK-NEXT: 400.00 - - - - 544.00 386.00 502.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@@ -1535,6 +1582,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 - incq %rdi
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incq (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - lahf
+# CHECK-NEXT: - - - - - 0.50 0.50 - movsbw %al, %di
+# CHECK-NEXT: - - - - - 0.50 0.50 - movzbw %al, %di
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movsbw (%rax), %di
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movzbw (%rax), %di
+# CHECK-NEXT: - - - - - 0.50 0.50 - movsbl %al, %edi
+# CHECK-NEXT: - - - - - 0.50 0.50 - movzbl %al, %edi
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movsbl (%rax), %edi
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movzbl (%rax), %edi
+# CHECK-NEXT: - - - - - 0.50 0.50 - movsbq %al, %rdi
+# CHECK-NEXT: - - - - - 0.50 0.50 - movzbq %al, %rdi
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movsbq (%rax), %rdi
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movzbq (%rax), %rdi
+# CHECK-NEXT: - - - - - 0.50 0.50 - movswl %ax, %edi
+# CHECK-NEXT: - - - - - 0.50 0.50 - movzwl %ax, %edi
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movswl (%rax), %edi
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movzwl (%rax), %edi
+# CHECK-NEXT: - - - - - 0.50 0.50 - movswq %ax, %rdi
+# CHECK-NEXT: - - - - - 0.50 0.50 - movzwq %ax, %rdi
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movswq (%rax), %rdi
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movzwq (%rax), %rdi
+# CHECK-NEXT: - - - - - 0.50 0.50 - movslq %eax, %rdi
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movslq (%rax), %rdi
# CHECK-NEXT: - - - - - - 1.00 - mulb %dil
# CHECK-NEXT: - - - - - - 1.00 1.00 mulb (%rax)
# CHECK-NEXT: - - - - - - 1.00 - mulw %si
Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s?rev=337586&r1=337585&r2=337586&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s Fri Jul 20 10:43:42 2018
@@ -285,6 +285,31 @@ incq (%rax)
lahf
+movsbw %al, %di
+movzbw %al, %di
+movsbw (%rax), %di
+movzbw (%rax), %di
+movsbl %al, %edi
+movzbl %al, %edi
+movsbl (%rax), %edi
+movzbl (%rax), %edi
+movsbq %al, %rdi
+movzbq %al, %rdi
+movsbq (%rax), %rdi
+movzbq (%rax), %rdi
+
+movswl %ax, %edi
+movzwl %ax, %edi
+movswl (%rax), %edi
+movzwl (%rax), %edi
+movswq %ax, %rdi
+movzwq %ax, %rdi
+movswq (%rax), %rdi
+movzwq (%rax), %rdi
+
+movslq %eax, %rdi
+movslq (%rax), %rdi
+
mulb %dil
mulb (%rax)
mulw %si
@@ -924,6 +949,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 1 0.33 movsbw %al, %di
+# CHECK-NEXT: 1 1 0.33 movzbw %al, %di
+# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
+# CHECK-NEXT: 1 5 0.50 * movzbw (%rax), %di
+# CHECK-NEXT: 1 1 0.33 movsbl %al, %edi
+# CHECK-NEXT: 1 1 0.33 movzbl %al, %edi
+# CHECK-NEXT: 1 5 0.50 * movsbl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzbl (%rax), %edi
+# CHECK-NEXT: 1 1 0.33 movsbq %al, %rdi
+# CHECK-NEXT: 1 1 0.33 movzbq %al, %rdi
+# CHECK-NEXT: 1 5 0.50 * movsbq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzbq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.33 movswl %ax, %edi
+# CHECK-NEXT: 1 1 0.33 movzwl %ax, %edi
+# CHECK-NEXT: 1 5 0.50 * movswl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzwl (%rax), %edi
+# CHECK-NEXT: 1 1 0.33 movswq %ax, %rdi
+# CHECK-NEXT: 1 1 0.33 movzwq %ax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movswq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzwq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.33 movslq %eax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movslq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.33 mulw %si
@@ -1281,7 +1328,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: 160.00 - 361.83 167.33 210.00 352.83 248.50 248.50
+# CHECK-NEXT: 160.00 - 365.50 171.00 210.00 356.50 254.00 254.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1535,6 +1582,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incq %rdi
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incq (%rax)
# CHECK-NEXT: - - 0.50 - - 0.50 - - lahf
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movsbw %al, %di
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzbw %al, %di
+# CHECK-NEXT: - - - - - - 0.50 0.50 movsbw (%rax), %di
+# CHECK-NEXT: - - - - - - 0.50 0.50 movzbw (%rax), %di
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movsbl %al, %edi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzbl %al, %edi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movsbl (%rax), %edi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movzbl (%rax), %edi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movsbq %al, %rdi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzbq %al, %rdi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movsbq (%rax), %rdi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movzbq (%rax), %rdi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movswl %ax, %edi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzwl %ax, %edi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movswl (%rax), %edi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movzwl (%rax), %edi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movswq %ax, %rdi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzwq %ax, %rdi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movswq (%rax), %rdi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movzwq (%rax), %rdi
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movslq %eax, %rdi
+# CHECK-NEXT: - - - - - - 0.50 0.50 movslq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 mulb (%rax)
# CHECK-NEXT: - - 1.17 1.67 - 1.17 - - mulw %si
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s?rev=337586&r1=337585&r2=337586&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s Fri Jul 20 10:43:42 2018
@@ -285,6 +285,31 @@ incq (%rax)
lahf
+movsbw %al, %di
+movzbw %al, %di
+movsbw (%rax), %di
+movzbw (%rax), %di
+movsbl %al, %edi
+movzbl %al, %edi
+movsbl (%rax), %edi
+movzbl (%rax), %edi
+movsbq %al, %rdi
+movzbq %al, %rdi
+movsbq (%rax), %rdi
+movzbq (%rax), %rdi
+
+movswl %ax, %edi
+movzwl %ax, %edi
+movswl (%rax), %edi
+movzwl (%rax), %edi
+movswq %ax, %rdi
+movzwq %ax, %rdi
+movswq (%rax), %rdi
+movzwq (%rax), %rdi
+
+movslq %eax, %rdi
+movslq (%rax), %rdi
+
mulb %dil
mulb (%rax)
mulw %si
@@ -924,6 +949,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 1 0.25 movsbw %al, %di
+# CHECK-NEXT: 1 1 0.25 movzbw %al, %di
+# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
+# CHECK-NEXT: 1 5 0.50 * movzbw (%rax), %di
+# CHECK-NEXT: 1 1 0.25 movsbl %al, %edi
+# CHECK-NEXT: 1 1 0.25 movzbl %al, %edi
+# CHECK-NEXT: 1 5 0.50 * movsbl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzbl (%rax), %edi
+# CHECK-NEXT: 1 1 0.25 movsbq %al, %rdi
+# CHECK-NEXT: 1 1 0.25 movzbq %al, %rdi
+# CHECK-NEXT: 1 5 0.50 * movsbq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzbq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.25 movswl %ax, %edi
+# CHECK-NEXT: 1 1 0.25 movzwl %ax, %edi
+# CHECK-NEXT: 1 5 0.50 * movswl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzwl (%rax), %edi
+# CHECK-NEXT: 1 1 0.25 movswq %ax, %rdi
+# CHECK-NEXT: 1 1 0.25 movzwq %ax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movswq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzwq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.25 movslq %eax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movslq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
@@ -1283,7 +1330,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 60.00 - 441.75 245.75 212.50 212.50 167.00 194.25 427.25 69.00
+# CHECK-NEXT: 60.00 - 444.50 248.50 218.00 218.00 167.00 197.00 430.00 69.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1537,6 +1584,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbw %al, %di
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbw %al, %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbw (%rax), %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbw (%rax), %di
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbl %al, %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbl %al, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbl (%rax), %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbl (%rax), %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbq %al, %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbq %al, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbq (%rax), %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movswl %ax, %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzwl %ax, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movswl (%rax), %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzwl (%rax), %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movswq %ax, %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzwq %ax, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movswq (%rax), %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzwq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movslq %eax, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movslq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s?rev=337586&r1=337585&r2=337586&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s Fri Jul 20 10:43:42 2018
@@ -285,6 +285,31 @@ incq (%rax)
lahf
+movsbw %al, %di
+movzbw %al, %di
+movsbw (%rax), %di
+movzbw (%rax), %di
+movsbl %al, %edi
+movzbl %al, %edi
+movsbl (%rax), %edi
+movzbl (%rax), %edi
+movsbq %al, %rdi
+movzbq %al, %rdi
+movsbq (%rax), %rdi
+movzbq (%rax), %rdi
+
+movswl %ax, %edi
+movzwl %ax, %edi
+movswl (%rax), %edi
+movzwl (%rax), %edi
+movswq %ax, %rdi
+movzwq %ax, %rdi
+movswq (%rax), %rdi
+movzwq (%rax), %rdi
+
+movslq %eax, %rdi
+movslq (%rax), %rdi
+
mulb %dil
mulb (%rax)
mulw %si
@@ -924,6 +949,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 1 0.25 movsbw %al, %di
+# CHECK-NEXT: 1 1 0.25 movzbw %al, %di
+# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
+# CHECK-NEXT: 1 5 0.50 * movzbw (%rax), %di
+# CHECK-NEXT: 1 1 0.25 movsbl %al, %edi
+# CHECK-NEXT: 1 1 0.25 movzbl %al, %edi
+# CHECK-NEXT: 1 5 0.50 * movsbl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzbl (%rax), %edi
+# CHECK-NEXT: 1 1 0.25 movsbq %al, %rdi
+# CHECK-NEXT: 1 1 0.25 movzbq %al, %rdi
+# CHECK-NEXT: 1 5 0.50 * movsbq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzbq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.25 movswl %ax, %edi
+# CHECK-NEXT: 1 1 0.25 movzwl %ax, %edi
+# CHECK-NEXT: 1 5 0.50 * movswl (%rax), %edi
+# CHECK-NEXT: 1 5 0.50 * movzwl (%rax), %edi
+# CHECK-NEXT: 1 1 0.25 movswq %ax, %rdi
+# CHECK-NEXT: 1 1 0.25 movzwq %ax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movswq (%rax), %rdi
+# CHECK-NEXT: 1 5 0.50 * movzwq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.25 movslq %eax, %rdi
+# CHECK-NEXT: 1 5 0.50 * movslq (%rax), %rdi
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
@@ -1283,7 +1330,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 60.00 - 442.00 246.00 212.50 212.50 167.00 194.50 427.50 69.00
+# CHECK-NEXT: 60.00 - 444.75 248.75 218.00 218.00 167.00 197.25 430.25 69.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1537,6 +1584,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbw %al, %di
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbw %al, %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbw (%rax), %di
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbw (%rax), %di
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbl %al, %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbl %al, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbl (%rax), %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbl (%rax), %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbq %al, %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbq %al, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbq (%rax), %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzbq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movswl %ax, %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzwl %ax, %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movswl (%rax), %edi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzwl (%rax), %edi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movswq %ax, %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzwq %ax, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movswq (%rax), %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movzwq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movslq %eax, %rdi
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - movslq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s?rev=337586&r1=337585&r2=337586&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s Fri Jul 20 10:43:42 2018
@@ -285,6 +285,31 @@ incq (%rax)
lahf
+movsbw %al, %di
+movzbw %al, %di
+movsbw (%rax), %di
+movzbw (%rax), %di
+movsbl %al, %edi
+movzbl %al, %edi
+movsbl (%rax), %edi
+movzbl (%rax), %edi
+movsbq %al, %rdi
+movzbq %al, %rdi
+movsbq (%rax), %rdi
+movzbq (%rax), %rdi
+
+movswl %ax, %edi
+movzwl %ax, %edi
+movswl (%rax), %edi
+movzwl (%rax), %edi
+movswq %ax, %rdi
+movzwq %ax, %rdi
+movswq (%rax), %rdi
+movzwq (%rax), %rdi
+
+movslq %eax, %rdi
+movslq (%rax), %rdi
+
mulb %dil
mulb (%rax)
mulw %si
@@ -924,6 +949,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 2 5 0.50 * * incq (%rax)
# CHECK-NEXT: 1 100 0.25 lahf
+# CHECK-NEXT: 1 1 0.25 movsbw %al, %di
+# CHECK-NEXT: 1 1 0.25 movzbw %al, %di
+# CHECK-NEXT: 2 5 0.50 * movsbw (%rax), %di
+# CHECK-NEXT: 2 5 0.50 * movzbw (%rax), %di
+# CHECK-NEXT: 1 1 0.25 movsbl %al, %edi
+# CHECK-NEXT: 1 1 0.25 movzbl %al, %edi
+# CHECK-NEXT: 1 8 0.50 * movsbl (%rax), %edi
+# CHECK-NEXT: 1 8 0.50 * movzbl (%rax), %edi
+# CHECK-NEXT: 1 1 0.25 movsbq %al, %rdi
+# CHECK-NEXT: 1 1 0.25 movzbq %al, %rdi
+# CHECK-NEXT: 2 5 0.50 * movsbq (%rax), %rdi
+# CHECK-NEXT: 2 5 0.50 * movzbq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.25 movswl %ax, %edi
+# CHECK-NEXT: 1 1 0.25 movzwl %ax, %edi
+# CHECK-NEXT: 1 8 0.50 * movswl (%rax), %edi
+# CHECK-NEXT: 1 8 0.50 * movzwl (%rax), %edi
+# CHECK-NEXT: 1 1 0.25 movswq %ax, %rdi
+# CHECK-NEXT: 1 1 0.25 movzwq %ax, %rdi
+# CHECK-NEXT: 2 5 0.50 * movswq (%rax), %rdi
+# CHECK-NEXT: 2 5 0.50 * movzwq (%rax), %rdi
+# CHECK-NEXT: 1 1 0.25 movslq %eax, %rdi
+# CHECK-NEXT: 2 5 0.50 * movslq (%rax), %rdi
# CHECK-NEXT: 1 4 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 1 3 1.00 mulw %si
@@ -1285,7 +1332,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 142.00 142.00 126.50 160.50 142.50 126.50 392.00 - - - - 34.00
+# CHECK-NEXT: 147.50 147.50 131.00 165.00 147.00 131.00 392.00 - - - - 34.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -1539,6 +1586,28 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - incq %rdi
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incq (%rax)
# CHECK-NEXT: - - - - - - - - - - - - lahf
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movsbw %al, %di
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movzbw %al, %di
+# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - movsbw (%rax), %di
+# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - movzbw (%rax), %di
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movsbl %al, %edi
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movzbl %al, %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movsbl (%rax), %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movzbl (%rax), %edi
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movsbq %al, %rdi
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movzbq %al, %rdi
+# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - movsbq (%rax), %rdi
+# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - movzbq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movswl %ax, %edi
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movzwl %ax, %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movswl (%rax), %edi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movzwl (%rax), %edi
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movswq %ax, %rdi
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movzwq %ax, %rdi
+# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - movswq (%rax), %rdi
+# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - movzwq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movslq %eax, %rdi
+# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - movslq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulb %dil
# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulb (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulw %si
More information about the llvm-commits
mailing list