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
# 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
# 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:
# 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)
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
# 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
# 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:
# 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)
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
# 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
# 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:
# 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)
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
# 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
# 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:
# 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)
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
# 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
# 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:
# 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)
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
# 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
# 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:
# 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)
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
# 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
# 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:
# 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)
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
# 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
# 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:
# 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)