[llvm-mca][X86] Add double shift resource tests to all relevant models
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 28 Apr 2018 15:18:49 +0000 (15:18 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 28 Apr 2018 15:18:49 +0000 (15:18 +0000)
llvm-svn: 331109

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/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 7455990..df3f78b 100644 (file)
@@ -181,6 +181,33 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+shldw %cl, %si, %di
+shrdw %cl, %si, %di
+shldw %cl, %si, (%rax)
+shrdw %cl, %si, (%rax)
+shldw $7, %si, %di
+shrdw $7, %si, %di
+shldw $7, %si, (%rax)
+shrdw $7, %si, (%rax)
+
+shldl %cl, %esi, %edi
+shrdl %cl, %esi, %edi
+shldl %cl, %esi, (%rax)
+shrdl %cl, %esi, (%rax)
+shldl $7, %esi, %edi
+shrdl $7, %esi, %edi
+shldl $7, %esi, (%rax)
+shrdl $7, %esi, (%rax)
+
+shldq %cl, %rsi, %rdi
+shrdq %cl, %rsi, %rdi
+shldq %cl, %rsi, (%rax)
+shrdq %cl, %rsi, (%rax)
+shldq $7, %rsi, %rdi
+shrdq $7, %rsi, %rdi
+shldq $7, %rsi, (%rax)
+shrdq $7, %rsi, (%rax)
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -358,6 +385,30 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  6      8     1.00    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.00    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.00    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldw   %cl, %si, %di
+# CHECK-NEXT:  4      6     1.00                       shrdw   %cl, %si, %di
+# CHECK-NEXT:  6      11    1.00    *      *           shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  6      11    1.00    *      *           shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldw   $7, %si, %di
+# CHECK-NEXT:  1      3     1.00                       shrdw   $7, %si, %di
+# CHECK-NEXT:  4      9     1.00    *      *           shldw   $7, %si, (%rax)
+# CHECK-NEXT:  4      9     1.00    *      *           shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldl   %cl, %esi, %edi
+# CHECK-NEXT:  4      6     1.00                       shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  6      11    1.00    *      *           shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  6      11    1.00    *      *           shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldl   $7, %esi, %edi
+# CHECK-NEXT:  1      3     1.00                       shrdl   $7, %esi, %edi
+# CHECK-NEXT:  4      9     1.00    *      *           shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  4      9     1.00    *      *           shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  4      6     1.00                       shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  6      11    1.00    *      *           shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  6      11    1.00    *      *           shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  1      3     1.00                       shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  4      9     1.00    *      *           shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  4      9     1.00    *      *           shrdq   $7, %rsi, (%rax)
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - BWDivider
@@ -373,7 +424,7 @@ shrq %cl, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     172.75 69.25  70.00  70.00  56.00  42.25  172.75 28.00
+# CHECK-NEXT:  -      -     186.25 100.75 80.00  80.00  56.00  49.75  186.25 32.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]       Instructions:
@@ -545,4 +596,28 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shldw   %cl, %si, %di
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shrdw   %cl, %si, %di
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldw   $7, %si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdw   $7, %si, %di
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shldl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldl   $7, %esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdl   $7, %esi, %edi
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdq   $7, %rsi, (%rax)
 
index ee596e3..0ebec87 100644 (file)
@@ -181,6 +181,33 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+shldw %cl, %si, %di
+shrdw %cl, %si, %di
+shldw %cl, %si, (%rax)
+shrdw %cl, %si, (%rax)
+shldw $7, %si, %di
+shrdw $7, %si, %di
+shldw $7, %si, (%rax)
+shrdw $7, %si, (%rax)
+
+shldl %cl, %esi, %edi
+shrdl %cl, %esi, %edi
+shldl %cl, %esi, (%rax)
+shrdl %cl, %esi, (%rax)
+shldl $7, %esi, %edi
+shrdl $7, %esi, %edi
+shldl $7, %esi, (%rax)
+shrdl $7, %esi, (%rax)
+
+shldq %cl, %rsi, %rdi
+shrdq %cl, %rsi, %rdi
+shldq %cl, %rsi, (%rax)
+shrdq %cl, %rsi, (%rax)
+shldq $7, %rsi, %rdi
+shrdq $7, %rsi, %rdi
+shldq $7, %rsi, (%rax)
+shrdq $7, %rsi, (%rax)
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -358,6 +385,30 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  2      4     1.00    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  7      4     4.00                       shldw   %cl, %si, %di
+# CHECK-NEXT:  7      4     4.00                       shrdw   %cl, %si, %di
+# CHECK-NEXT:  8      9     11.00   *      *           shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  8      9     11.00   *      *           shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  6      3     3.00                       shldw   $7, %si, %di
+# CHECK-NEXT:  6      3     3.00                       shrdw   $7, %si, %di
+# CHECK-NEXT:  8      9     11.00   *      *           shldw   $7, %si, (%rax)
+# CHECK-NEXT:  8      9     11.00   *      *           shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  7      4     4.00                       shldl   %cl, %esi, %edi
+# CHECK-NEXT:  7      4     4.00                       shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  8      9     11.00   *      *           shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  8      9     11.00   *      *           shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  6      3     3.00                       shldl   $7, %esi, %edi
+# CHECK-NEXT:  6      3     3.00                       shrdl   $7, %esi, %edi
+# CHECK-NEXT:  8      9     11.00   *      *           shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  8      9     11.00   *      *           shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  7      4     4.00                       shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  7      4     4.00                       shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  8      9     11.00   *      *           shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  8      9     11.00   *      *           shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  6      3     3.00                       shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  6      3     3.00                       shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  8      9     11.00   *      *           shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  8      9     11.00   *      *           shrdq   $7, %rsi, (%rax)
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - JALU0
@@ -377,7 +428,7 @@ shrq %cl, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
-# CHECK-NEXT: 84.00  84.00   -      -      -      -      -     84.00   -     84.00   -      -      -      -
+# CHECK-NEXT: 258.00 258.00  -      -      -      -      -     96.00   -     84.00   -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]          Instructions:
@@ -549,4 +600,28 @@ shrq %cl, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            sarq    %cl, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            shlq    %cl, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -            shrq    %cl, (%rax)
+# CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -            shldw   %cl, %si, %di
+# CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -            shrdw   %cl, %si, %di
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shldw   %cl, %si, (%rax)
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shrdw   %cl, %si, (%rax)
+# CHECK-NEXT: 3.00   3.00    -      -      -      -      -      -      -      -      -      -      -      -            shldw   $7, %si, %di
+# CHECK-NEXT: 3.00   3.00    -      -      -      -      -      -      -      -      -      -      -      -            shrdw   $7, %si, %di
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shldw   $7, %si, (%rax)
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shrdw   $7, %si, (%rax)
+# CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -            shldl   %cl, %esi, %edi
+# CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -            shrdl   %cl, %esi, %edi
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shldl   %cl, %esi, (%rax)
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT: 3.00   3.00    -      -      -      -      -      -      -      -      -      -      -      -            shldl   $7, %esi, %edi
+# CHECK-NEXT: 3.00   3.00    -      -      -      -      -      -      -      -      -      -      -      -            shrdl   $7, %esi, %edi
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shldl   $7, %esi, (%rax)
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shrdl   $7, %esi, (%rax)
+# CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -            shldq   %cl, %rsi, %rdi
+# CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -            shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT: 3.00   3.00    -      -      -      -      -      -      -      -      -      -      -      -            shldq   $7, %rsi, %rdi
+# CHECK-NEXT: 3.00   3.00    -      -      -      -      -      -      -      -      -      -      -      -            shrdq   $7, %rsi, %rdi
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shldq   $7, %rsi, (%rax)
+# CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -            shrdq   $7, %rsi, (%rax)
 
index 9b42fcc..8058f1f 100644 (file)
@@ -181,6 +181,33 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+shldw %cl, %si, %di
+shrdw %cl, %si, %di
+shldw %cl, %si, (%rax)
+shrdw %cl, %si, (%rax)
+shldw $7, %si, %di
+shrdw $7, %si, %di
+shldw $7, %si, (%rax)
+shrdw $7, %si, (%rax)
+
+shldl %cl, %esi, %edi
+shrdl %cl, %esi, %edi
+shldl %cl, %esi, (%rax)
+shrdl %cl, %esi, (%rax)
+shldl $7, %esi, %edi
+shrdl $7, %esi, %edi
+shldl $7, %esi, (%rax)
+shrdl $7, %esi, (%rax)
+
+shldq %cl, %rsi, %rdi
+shrdq %cl, %rsi, %rdi
+shldq %cl, %rsi, (%rax)
+shrdq %cl, %rsi, (%rax)
+shldq $7, %rsi, %rdi
+shrdq $7, %rsi, %rdi
+shldq $7, %rsi, (%rax)
+shrdq $7, %rsi, (%rax)
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -358,6 +385,30 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  6      9     1.00    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldw   %cl, %si, %di
+# CHECK-NEXT:  4      6     1.00                       shrdw   %cl, %si, %di
+# CHECK-NEXT:  6      12    1.00    *      *           shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  6      12    1.00    *      *           shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldw   $7, %si, %di
+# CHECK-NEXT:  1      3     1.00                       shrdw   $7, %si, %di
+# CHECK-NEXT:  4      10    1.00    *      *           shldw   $7, %si, (%rax)
+# CHECK-NEXT:  4      10    1.00    *      *           shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldl   %cl, %esi, %edi
+# CHECK-NEXT:  4      6     1.00                       shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  6      12    1.00    *      *           shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  6      12    1.00    *      *           shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldl   $7, %esi, %edi
+# CHECK-NEXT:  1      3     1.00                       shrdl   $7, %esi, %edi
+# CHECK-NEXT:  4      10    1.00    *      *           shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  4      10    1.00    *      *           shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  4      6     1.00                       shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  6      12    1.00    *      *           shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  6      12    1.00    *      *           shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  1      3     1.00                       shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  4      10    1.00    *      *           shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  4      10    1.00    *      *           shrdq   $7, %rsi, (%rax)
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - HWDivider
@@ -373,7 +424,7 @@ shrq %cl, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     172.75 69.25  70.00  70.00  56.00  42.25  172.75 28.00
+# CHECK-NEXT:  -      -     186.25 100.75 80.00  80.00  56.00  49.75  186.25 32.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]       Instructions:
@@ -545,4 +596,28 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33      shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shldw   %cl, %si, %di
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shrdw   %cl, %si, %di
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldw   $7, %si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdw   $7, %si, %di
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shldl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldl   $7, %esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdl   $7, %esi, %edi
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -        shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33      shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdq   $7, %rsi, (%rax)
 
index 40ead28..a69e7dc 100644 (file)
@@ -181,6 +181,33 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+shldw %cl, %si, %di
+shrdw %cl, %si, %di
+shldw %cl, %si, (%rax)
+shrdw %cl, %si, (%rax)
+shldw $7, %si, %di
+shrdw $7, %si, %di
+shldw $7, %si, (%rax)
+shrdw $7, %si, (%rax)
+
+shldl %cl, %esi, %edi
+shrdl %cl, %esi, %edi
+shldl %cl, %esi, (%rax)
+shrdl %cl, %esi, (%rax)
+shldl $7, %esi, %edi
+shrdl $7, %esi, %edi
+shldl $7, %esi, (%rax)
+shrdl $7, %esi, (%rax)
+
+shldq %cl, %rsi, %rdi
+shrdq %cl, %rsi, %rdi
+shldq %cl, %rsi, (%rax)
+shrdq %cl, %rsi, (%rax)
+shldq $7, %rsi, %rdi
+shrdq $7, %rsi, %rdi
+shldq $7, %rsi, (%rax)
+shrdq $7, %rsi, (%rax)
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -358,6 +385,30 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  2      4     2.00    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  2      4     2.00    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  2      4     2.00    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  1      1     1.00                       shldw   %cl, %si, %di
+# CHECK-NEXT:  1      1     1.00                       shrdw   %cl, %si, %di
+# CHECK-NEXT:  2      4     2.00    *      *           shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  2      4     2.00    *      *           shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  1      1     1.00                       shldw   $7, %si, %di
+# CHECK-NEXT:  1      1     1.00                       shrdw   $7, %si, %di
+# CHECK-NEXT:  2      4     2.00    *      *           shldw   $7, %si, (%rax)
+# CHECK-NEXT:  2      4     2.00    *      *           shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  1      1     1.00                       shldl   %cl, %esi, %edi
+# CHECK-NEXT:  1      1     1.00                       shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  2      4     2.00    *      *           shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  2      4     2.00    *      *           shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  1      1     1.00                       shldl   $7, %esi, %edi
+# CHECK-NEXT:  1      1     1.00                       shrdl   $7, %esi, %edi
+# CHECK-NEXT:  2      4     2.00    *      *           shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  2      4     2.00    *      *           shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  1      1     1.00                       shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  1      1     1.00                       shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  2      4     2.00    *      *           shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  2      4     2.00    *      *           shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  1      1     1.00                       shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  1      1     1.00                       shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  2      4     2.00    *      *           shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  2      4     2.00    *      *           shrdq   $7, %rsi, (%rax)
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - SLMDivider
@@ -371,7 +422,7 @@ shrq %cl, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]
-# CHECK-NEXT:  -      -      -      -      -     168.00  -     168.00
+# CHECK-NEXT:  -      -      -      -      -     192.00  -     192.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]     Instructions:
@@ -543,4 +594,28 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shldw   %cl, %si, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shrdw   %cl, %si, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shldw   $7, %si, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shrdw   $7, %si, %di
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shldw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shldl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shldl   $7, %esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shrdl   $7, %esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00    shrdq   $7, %rsi, (%rax)
 
index 17b206e..3b2a068 100644 (file)
@@ -181,6 +181,33 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+shldw %cl, %si, %di
+shrdw %cl, %si, %di
+shldw %cl, %si, (%rax)
+shrdw %cl, %si, (%rax)
+shldw $7, %si, %di
+shrdw $7, %si, %di
+shldw $7, %si, (%rax)
+shrdw $7, %si, (%rax)
+
+shldl %cl, %esi, %edi
+shrdl %cl, %esi, %edi
+shldl %cl, %esi, (%rax)
+shrdl %cl, %esi, (%rax)
+shldl $7, %esi, %edi
+shrdl $7, %esi, %edi
+shldl $7, %esi, (%rax)
+shrdl $7, %esi, (%rax)
+
+shldq %cl, %rsi, %rdi
+shrdq %cl, %rsi, %rdi
+shldq %cl, %rsi, (%rax)
+shrdq %cl, %rsi, (%rax)
+shldq $7, %rsi, %rdi
+shrdq $7, %rsi, %rdi
+shldq $7, %rsi, (%rax)
+shrdq $7, %rsi, (%rax)
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -358,6 +385,30 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  6      9     1.50    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  6      9     1.50    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  6      9     1.50    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  4      4     1.50                       shldw   %cl, %si, %di
+# CHECK-NEXT:  4      4     1.50                       shrdw   %cl, %si, %di
+# CHECK-NEXT:  7      10    1.50    *      *           shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  7      10    1.50    *      *           shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  2      2     0.67                       shldw   $7, %si, %di
+# CHECK-NEXT:  2      2     0.67                       shrdw   $7, %si, %di
+# CHECK-NEXT:  5      8     1.00    *      *           shldw   $7, %si, (%rax)
+# CHECK-NEXT:  5      8     1.00    *      *           shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  4      4     1.50                       shldl   %cl, %esi, %edi
+# CHECK-NEXT:  4      4     1.50                       shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  7      10    1.50    *      *           shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  7      10    1.50    *      *           shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  2      2     0.67                       shldl   $7, %esi, %edi
+# CHECK-NEXT:  2      2     0.67                       shrdl   $7, %esi, %edi
+# CHECK-NEXT:  5      8     1.00    *      *           shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  5      8     1.00    *      *           shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  4      4     1.50                       shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  4      4     1.50                       shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  7      10    1.50    *      *           shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  7      10    1.50    *      *           shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  2      2     0.67                       shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  2      2     0.67                       shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  5      8     1.00    *      *           shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  5      8     1.00    *      *           shrdq   $7, %rsi, (%rax)
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - SBDivider
@@ -371,7 +422,7 @@ shrq %cl, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     140.00  -     84.00  140.00 84.00  84.00
+# CHECK-NEXT:  -      -     172.00 8.00   96.00  172.00 96.00  96.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]   Instructions:
@@ -543,4 +594,28 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     1.00   1.50   1.00   1.00    sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     1.00   1.50   1.00   1.00    shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     1.00   1.50   1.00   1.00    shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -      shldw   %cl, %si, %di
+# CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -      shrdw   %cl, %si, %di
+# CHECK-NEXT:  -      -     1.83   0.33   1.00   1.83   1.00   1.00    shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -     1.83   0.33   1.00   1.83   1.00   1.00    shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      shldw   $7, %si, %di
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      shrdw   $7, %si, %di
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   0.83   1.00   1.00    shldw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   0.83   1.00   1.00    shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -      shldl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -      shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -     1.83   0.33   1.00   1.83   1.00   1.00    shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -     1.83   0.33   1.00   1.83   1.00   1.00    shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      shldl   $7, %esi, %edi
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      shrdl   $7, %esi, %edi
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   0.83   1.00   1.00    shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   0.83   1.00   1.00    shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -      shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -      shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -     1.83   0.33   1.00   1.83   1.00   1.00    shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -     1.83   0.33   1.00   1.83   1.00   1.00    shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -      shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   0.83   1.00   1.00    shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.83   0.33   1.00   0.83   1.00   1.00    shrdq   $7, %rsi, (%rax)
 
index bda06be..88c0c6c 100644 (file)
@@ -181,6 +181,33 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+shldw %cl, %si, %di
+shrdw %cl, %si, %di
+shldw %cl, %si, (%rax)
+shrdw %cl, %si, (%rax)
+shldw $7, %si, %di
+shrdw $7, %si, %di
+shldw $7, %si, (%rax)
+shrdw $7, %si, (%rax)
+
+shldl %cl, %esi, %edi
+shrdl %cl, %esi, %edi
+shldl %cl, %esi, (%rax)
+shrdl %cl, %esi, (%rax)
+shldl $7, %esi, %edi
+shrdl $7, %esi, %edi
+shldl $7, %esi, (%rax)
+shrdl $7, %esi, (%rax)
+
+shldq %cl, %rsi, %rdi
+shrdq %cl, %rsi, %rdi
+shldq %cl, %rsi, (%rax)
+shrdq %cl, %rsi, (%rax)
+shldq $7, %rsi, %rdi
+shrdq $7, %rsi, %rdi
+shldq $7, %rsi, (%rax)
+shrdq $7, %rsi, (%rax)
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -358,6 +385,30 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldw   %cl, %si, %di
+# CHECK-NEXT:  4      6     1.00                       shrdw   %cl, %si, %di
+# CHECK-NEXT:  6      11    1.00    *      *           shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  6      11    1.00    *      *           shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldw   $7, %si, %di
+# CHECK-NEXT:  1      3     1.00                       shrdw   $7, %si, %di
+# CHECK-NEXT:  4      9     1.00    *      *           shldw   $7, %si, (%rax)
+# CHECK-NEXT:  4      9     1.00    *      *           shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldl   %cl, %esi, %edi
+# CHECK-NEXT:  4      6     1.00                       shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  6      11    1.00    *      *           shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  6      11    1.00    *      *           shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldl   $7, %esi, %edi
+# CHECK-NEXT:  1      3     1.00                       shrdl   $7, %esi, %edi
+# CHECK-NEXT:  4      9     1.00    *      *           shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  4      9     1.00    *      *           shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  4      6     1.00                       shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  6      11    1.00    *      *           shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  6      11    1.00    *      *           shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  1      3     1.00                       shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  4      9     1.00    *      *           shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  4      9     1.00    *      *           shrdq   $7, %rsi, (%rax)
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - SKLDivider
@@ -373,7 +424,7 @@ shrq %cl, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     186.75 55.25  70.00  70.00  56.00  28.25  186.75 28.00
+# CHECK-NEXT:  -      -     203.25 83.75  80.00  80.00  56.00  32.75  203.25 32.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]       Instructions:
@@ -545,4 +596,28 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shldw   %cl, %si, %di
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shrdw   %cl, %si, %di
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldw   $7, %si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdw   $7, %si, %di
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shldl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldl   $7, %esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdl   $7, %esi, %edi
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdq   $7, %rsi, (%rax)
 
index 2f18170..f3c0da3 100644 (file)
@@ -181,6 +181,33 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+shldw %cl, %si, %di
+shrdw %cl, %si, %di
+shldw %cl, %si, (%rax)
+shrdw %cl, %si, (%rax)
+shldw $7, %si, %di
+shrdw $7, %si, %di
+shldw $7, %si, (%rax)
+shrdw $7, %si, (%rax)
+
+shldl %cl, %esi, %edi
+shrdl %cl, %esi, %edi
+shldl %cl, %esi, (%rax)
+shrdl %cl, %esi, (%rax)
+shldl $7, %esi, %edi
+shrdl $7, %esi, %edi
+shldl $7, %esi, (%rax)
+shrdl $7, %esi, (%rax)
+
+shldq %cl, %rsi, %rdi
+shrdq %cl, %rsi, %rdi
+shldq %cl, %rsi, (%rax)
+shrdq %cl, %rsi, (%rax)
+shldq $7, %rsi, %rdi
+shrdq $7, %rsi, %rdi
+shldq $7, %rsi, (%rax)
+shrdq $7, %rsi, (%rax)
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -358,6 +385,30 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  6      8     1.50    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldw   %cl, %si, %di
+# CHECK-NEXT:  4      6     1.00                       shrdw   %cl, %si, %di
+# CHECK-NEXT:  6      11    1.00    *      *           shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  6      11    1.00    *      *           shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldw   $7, %si, %di
+# CHECK-NEXT:  1      3     1.00                       shrdw   $7, %si, %di
+# CHECK-NEXT:  4      9     1.00    *      *           shldw   $7, %si, (%rax)
+# CHECK-NEXT:  4      9     1.00    *      *           shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldl   %cl, %esi, %edi
+# CHECK-NEXT:  4      6     1.00                       shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  6      11    1.00    *      *           shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  6      11    1.00    *      *           shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldl   $7, %esi, %edi
+# CHECK-NEXT:  1      3     1.00                       shrdl   $7, %esi, %edi
+# CHECK-NEXT:  4      9     1.00    *      *           shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  4      9     1.00    *      *           shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  4      6     1.00                       shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  4      6     1.00                       shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  6      11    1.00    *      *           shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  6      11    1.00    *      *           shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  1      3     1.00                       shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  1      3     1.00                       shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  4      9     1.00    *      *           shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  4      9     1.00    *      *           shrdq   $7, %rsi, (%rax)
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - SKXDivider
@@ -373,7 +424,7 @@ shrq %cl, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     186.75 55.25  70.00  70.00  56.00  28.25  186.75 28.00
+# CHECK-NEXT:  -      -     203.25 83.75  80.00  80.00  56.00  32.75  203.25 32.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]       Instructions:
@@ -545,4 +596,28 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      sarq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      shlq    %cl, (%rax)
 # CHECK-NEXT:  -      -     1.50    -     0.83   0.83   1.00    -     1.50   0.33      shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shldw   %cl, %si, %di
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shrdw   %cl, %si, %di
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldw   $7, %si, %di
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdw   $7, %si, %di
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shldl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldl   $7, %esi, %edi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdl   $7, %esi, %edi
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -        shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33      shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -        shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   1.25   0.83   0.83    -     0.25   0.25   0.33      shrdq   $7, %rsi, (%rax)
 
index 75691a1..ad44b8d 100644 (file)
@@ -181,6 +181,33 @@ sarq %cl, (%rax)
 shlq %cl, (%rax)
 shrq %cl, (%rax)
 
+shldw %cl, %si, %di
+shrdw %cl, %si, %di
+shldw %cl, %si, (%rax)
+shrdw %cl, %si, (%rax)
+shldw $7, %si, %di
+shrdw $7, %si, %di
+shldw $7, %si, (%rax)
+shrdw $7, %si, (%rax)
+
+shldl %cl, %esi, %edi
+shrdl %cl, %esi, %edi
+shldl %cl, %esi, (%rax)
+shrdl %cl, %esi, (%rax)
+shldl $7, %esi, %edi
+shrdl $7, %esi, %edi
+shldl $7, %esi, (%rax)
+shrdl $7, %esi, (%rax)
+
+shldq %cl, %rsi, %rdi
+shrdq %cl, %rsi, %rdi
+shldq %cl, %rsi, (%rax)
+shrdq %cl, %rsi, (%rax)
+shldq $7, %rsi, %rdi
+shrdq $7, %rsi, %rdi
+shldq $7, %rsi, (%rax)
+shrdq $7, %rsi, (%rax)
+
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
 # CHECK-NEXT: [2]: Latency
@@ -358,6 +385,30 @@ shrq %cl, (%rax)
 # CHECK-NEXT:  3      5     1.00    *      *           sarq    %cl, (%rax)
 # CHECK-NEXT:  3      5     1.00    *      *           shlq    %cl, (%rax)
 # CHECK-NEXT:  3      5     1.00    *      *           shrq    %cl, (%rax)
+# CHECK-NEXT:  1      100    -                         shldw   %cl, %si, %di
+# CHECK-NEXT:  1      100    -                         shrdw   %cl, %si, %di
+# CHECK-NEXT:  1      100    -      *      *           shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  1      100    -      *      *           shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  1      1     0.25                       shldw   $7, %si, %di
+# CHECK-NEXT:  1      1     0.25                       shrdw   $7, %si, %di
+# CHECK-NEXT:  2      5     0.50    *      *           shldw   $7, %si, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *           shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  1      100    -                         shldl   %cl, %esi, %edi
+# CHECK-NEXT:  1      100    -                         shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  1      100    -      *      *           shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  1      100    -      *      *           shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  1      1     0.25                       shldl   $7, %esi, %edi
+# CHECK-NEXT:  1      1     0.25                       shrdl   $7, %esi, %edi
+# CHECK-NEXT:  2      5     0.50    *      *           shldl   $7, %esi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *           shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  1      100    -                         shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  1      100    -                         shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  1      100    -      *      *           shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  1      100    -      *      *           shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  1      1     0.25                       shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  1      1     0.25                       shrdq   $7, %rsi, %rdi
+# CHECK-NEXT:  2      5     0.50    *      *           shldq   $7, %rsi, (%rax)
+# CHECK-NEXT:  2      5     0.50    *      *           shrdq   $7, %rsi, (%rax)
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0] - ZnAGU0
@@ -375,7 +426,7 @@ shrq %cl, (%rax)
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
-# CHECK-NEXT: 48.00  48.00  36.00  36.00  36.00  36.00   -      -      -      -      -      -
+# CHECK-NEXT: 51.00  51.00  39.00  39.00  39.00  39.00   -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]        Instructions:
@@ -547,4 +598,28 @@ shrq %cl, (%rax)
 # CHECK-NEXT: 1.00   1.00   0.25   0.25   0.25   0.25    -      -      -      -      -      -          sarq    %cl, (%rax)
 # CHECK-NEXT: 1.00   1.00   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shlq    %cl, (%rax)
 # CHECK-NEXT: 1.00   1.00   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shrq    %cl, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shldw   %cl, %si, %di
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shrdw   %cl, %si, %di
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shldw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shrdw   %cl, %si, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          shldw   $7, %si, %di
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          shrdw   $7, %si, %di
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shldw   $7, %si, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shrdw   $7, %si, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shldl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shrdl   %cl, %esi, %edi
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shldl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shrdl   %cl, %esi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          shldl   $7, %esi, %edi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          shrdl   $7, %esi, %edi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shldl   $7, %esi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shrdl   $7, %esi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shldq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shrdq   %cl, %rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shldq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -          shrdq   %cl, %rsi, (%rax)
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          shldq   $7, %rsi, %rdi
+# CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -          shrdq   $7, %rsi, %rdi
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shldq   $7, %rsi, (%rax)
+# CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -          shrdq   $7, %rsi, (%rax)