]> granicus.if.org Git - llvm/commitdiff
[llvm-mca][x86] Add movsx/movzx instructions to general x86_64 resource tests
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 20 Jul 2018 17:43:42 +0000 (17:43 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 20 Jul 2018 17:43:42 +0000 (17:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337586 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-mca/X86/Atom/resources-x86_64.s
test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
test/tools/llvm-mca/X86/Generic/resources-x86_64.s
test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
test/tools/llvm-mca/X86/SLM/resources-x86_64.s
test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
test/tools/llvm-mca/X86/Znver1/resources-x86_64.s

index f01270085c9cabf5a72692cc843a4298b151bef6..32823eff84716ff02337a78a9e78b03e649dca22 100644 (file)
@@ -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
index 26b951eb38973f621ba2cc96aede4d03cd6fd355..ea6d7c6052b080f4aeebf5a7974bfaedb93b35c6 100644 (file)
@@ -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
index fb0d758a3bbb5c81c28c3d8c9169715f2bb29173..8a99598a5762017a7fdd5bb41966164a9023813d 100644 (file)
@@ -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
index 2a58d90c3271056d3acc7f90d2937a3816e3433d..e27b322fa9b1d10a8c99757cce96295c90a1deff 100644 (file)
@@ -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
index c1663a1767a1af66490185b037cfe25a88a0718a..7a48e799abc29523b07844bea862e3076c636ebd 100644 (file)
@@ -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
index 689a5c8c5fdfd5615999b9d68059fbee376555d3..0c50dd08bc23da956dc6ca60c9a94464d17a6483 100644 (file)
@@ -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
index 316614d70b3571789a0af4f91526e22356baf28f..a9627e85b60fd8fdd28ed8af6389b63429fb604a 100644 (file)
@@ -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
index 548b2557c7996b295e26845448805581761f920c..e21c4085aad2e81aacaca3d781c9286b8bc4ecf8 100644 (file)
@@ -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
index b61b665db245a75c8060764f221a7177409f6a53..7671bb0e21ea8b53950708824d073b2a10655e55 100644 (file)
@@ -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
index 5b6a173528cb3de7ee0be2c232900ed7048d712e..261328b15dc57439bc920be16bc79f2b90cc9e99 100644 (file)
@@ -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