[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)
llvm-svn: 337586

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

index f012700..32823ef 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 26b951e..ea6d7c6 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 fb0d758..8a99598 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 2a58d90..e27b322 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 c1663a1..7a48e79 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 689a5c8..0c50dd0 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 316614d..a9627e8 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 548b255..e21c408 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 b61b665..7671bb0 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 5b6a173..261328b 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