[llvm-mca][X86] Add double shift resource tests to all relevant models

llvm-svn: 331109
This commit is contained in:
Simon Pilgrim 2018-04-28 15:18:49 +00:00
parent 4d0187c893
commit 318e9d39ab
8 changed files with 608 additions and 8 deletions

View 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)

View 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)

View 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)

View 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)

View 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)

View 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)

View 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)

View 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)