[llvm-mca][X86] Add missing enter/leave, invlpg/invlpga, rdmsr/wrmsr, rdpmc and rdtsc/rdtscp tests

llvm-svn: 351835
This commit is contained in:
Simon Pilgrim 2019-01-22 16:29:26 +00:00
parent 6019e6f866
commit fc4b1e841e
11 changed files with 363 additions and 13 deletions

View File

@ -254,6 +254,8 @@ divl (%rax)
divq %rcx
divq (%rax)
enter $7, $4095
idivb %dil
idivb (%rax)
idivw %si
@ -315,8 +317,13 @@ insl
int $7
invlpg (%rax)
invlpga %rax, %ecx
lahf
leave
lodsb
lodsw
lodsl
@ -486,6 +493,11 @@ rcrq %cl, %rdi
rclq %cl, (%rax)
rcrq %cl, (%rax)
rdmsr
rdpmc
rdtsc
rdtscp
rolb %dil
rorb %dil
rolb (%rax)
@ -789,6 +801,8 @@ testq %rsi, (%rax)
ud2
wrmsr
xaddb %bl, %cl
xaddb %bl, (%rcx)
@ -1081,6 +1095,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 50 25.00 * U divl (%rax)
# CHECK-NEXT: 1 130 65.00 U divq %rcx
# CHECK-NEXT: 1 130 65.00 * U divq (%rax)
# CHECK-NEXT: 1 32 16.00 U enter $7, $4095
# CHECK-NEXT: 1 62 31.00 U idivb %dil
# CHECK-NEXT: 1 62 31.00 * U idivb (%rax)
# CHECK-NEXT: 1 62 31.00 U idivw %si
@ -1133,7 +1148,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 59 29.50 U insw %dx, %es:(%rdi)
# CHECK-NEXT: 1 59 29.50 U insl %dx, %es:(%rdi)
# CHECK-NEXT: 1 127 63.50 * * U int $7
# CHECK-NEXT: 1 71 35.50 U invlpg (%rax)
# CHECK-NEXT: 1 71 35.50 U invlpga %rax, %ecx
# CHECK-NEXT: 1 2 1.00 lahf
# CHECK-NEXT: 1 2 1.00 * leave
# CHECK-NEXT: 1 2 1.00 U lodsb (%rsi), %al
# CHECK-NEXT: 1 2 1.00 U lodsw (%rsi), %ax
# CHECK-NEXT: 1 2 1.00 U lodsl (%rsi), %eax
@ -1283,6 +1301,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 1.00 rcrq %cl, %rdi
# CHECK-NEXT: 1 1 1.00 * rclq %cl, (%rax)
# CHECK-NEXT: 1 1 1.00 * rcrq %cl, (%rax)
# CHECK-NEXT: 1 78 39.00 U rdmsr
# CHECK-NEXT: 1 46 23.00 U rdpmc
# CHECK-NEXT: 1 30 15.00 U rdtsc
# CHECK-NEXT: 1 30 15.00 U rdtscp
# CHECK-NEXT: 1 1 1.00 rolb %dil
# CHECK-NEXT: 1 1 1.00 rorb %dil
# CHECK-NEXT: 1 1 1.00 * * rolb (%rax)
@ -1557,6 +1579,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 testq %rsi, %rdi
# CHECK-NEXT: 1 1 1.00 * testq %rsi, (%rax)
# CHECK-NEXT: 1 100 0.50 * U ud2
# CHECK-NEXT: 1 202 101.00 U wrmsr
# CHECK-NEXT: 1 2 1.00 xaddb %bl, %cl
# CHECK-NEXT: 1 3 1.50 * * xaddb %bl, (%rcx)
# CHECK-NEXT: 1 2 1.00 xaddw %bx, %cx
@ -1614,7 +1637,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1]
# CHECK-NEXT: 2393.50 2049.50
# CHECK-NEXT: 2674.50 2330.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] Instructions:
@ -1838,6 +1861,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 25.00 25.00 divl (%rax)
# CHECK-NEXT: 65.00 65.00 divq %rcx
# CHECK-NEXT: 65.00 65.00 divq (%rax)
# CHECK-NEXT: 16.00 16.00 enter $7, $4095
# CHECK-NEXT: 31.00 31.00 idivb %dil
# CHECK-NEXT: 31.00 31.00 idivb (%rax)
# CHECK-NEXT: 31.00 31.00 idivw %si
@ -1890,7 +1914,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 29.50 29.50 insw %dx, %es:(%rdi)
# CHECK-NEXT: 29.50 29.50 insl %dx, %es:(%rdi)
# CHECK-NEXT: 63.50 63.50 int $7
# CHECK-NEXT: 35.50 35.50 invlpg (%rax)
# CHECK-NEXT: 35.50 35.50 invlpga %rax, %ecx
# CHECK-NEXT: 1.00 1.00 lahf
# CHECK-NEXT: 1.00 1.00 leave
# CHECK-NEXT: 1.00 1.00 lodsb (%rsi), %al
# CHECK-NEXT: 1.00 1.00 lodsw (%rsi), %ax
# CHECK-NEXT: 1.00 1.00 lodsl (%rsi), %eax
@ -2040,6 +2067,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1.00 - rcrq %cl, %rdi
# CHECK-NEXT: 1.00 - rclq %cl, (%rax)
# CHECK-NEXT: 1.00 - rcrq %cl, (%rax)
# CHECK-NEXT: 39.00 39.00 rdmsr
# CHECK-NEXT: 23.00 23.00 rdpmc
# CHECK-NEXT: 15.00 15.00 rdtsc
# CHECK-NEXT: 15.00 15.00 rdtscp
# CHECK-NEXT: 1.00 - rolb %dil
# CHECK-NEXT: 1.00 - rorb %dil
# CHECK-NEXT: 1.00 - rolb (%rax)
@ -2314,6 +2345,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 testq %rsi, %rdi
# CHECK-NEXT: 1.00 - testq %rsi, (%rax)
# CHECK-NEXT: 0.50 0.50 ud2
# CHECK-NEXT: 101.00 101.00 wrmsr
# CHECK-NEXT: 1.00 1.00 xaddb %bl, %cl
# CHECK-NEXT: 1.50 1.50 xaddb %bl, (%rcx)
# CHECK-NEXT: 1.00 1.00 xaddw %bx, %cx

View File

@ -254,6 +254,8 @@ divl (%rax)
divq %rcx
divq (%rax)
enter $7, $4095
idivb %dil
idivb (%rax)
idivw %si
@ -315,8 +317,13 @@ insl
int $7
invlpg (%rax)
invlpga %rax, %ecx
lahf
leave
lodsb
lodsw
lodsl
@ -486,6 +493,11 @@ rcrq %cl, %rdi
rclq %cl, (%rax)
rcrq %cl, (%rax)
rdmsr
rdpmc
rdtsc
rdtscp
rolb %dil
rorb %dil
rolb (%rax)
@ -789,6 +801,8 @@ testq %rsi, (%rax)
ud2
wrmsr
xaddb %bl, %cl
xaddb %bl, (%rcx)
@ -1081,6 +1095,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 18 14.00 * U divl (%rax)
# CHECK-NEXT: 2 14 14.00 U divq %rcx
# CHECK-NEXT: 2 18 14.00 * U divq (%rax)
# CHECK-NEXT: 1 100 0.50 U enter $7, $4095
# CHECK-NEXT: 1 12 12.00 U idivb %dil
# CHECK-NEXT: 1 16 12.00 * U idivb (%rax)
# CHECK-NEXT: 2 15 17.00 U idivw %si
@ -1133,7 +1148,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 0.50 U insw %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.50 U insl %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.50 * * U int $7
# CHECK-NEXT: 1 100 0.50 U invlpg (%rax)
# CHECK-NEXT: 1 100 0.50 U invlpga %rax, %ecx
# CHECK-NEXT: 4 2 0.50 lahf
# CHECK-NEXT: 1 1 0.50 * leave
# CHECK-NEXT: 1 100 0.50 U lodsb (%rsi), %al
# CHECK-NEXT: 1 100 0.50 U lodsw (%rsi), %ax
# CHECK-NEXT: 1 100 0.50 U lodsl (%rsi), %eax
@ -1283,6 +1301,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 16 7 0.50 rcrq %cl, %rdi
# CHECK-NEXT: 2 5 1.00 * rclq %cl, (%rax)
# CHECK-NEXT: 2 5 1.00 * rcrq %cl, (%rax)
# CHECK-NEXT: 1 100 0.50 U rdmsr
# CHECK-NEXT: 1 100 0.50 U rdpmc
# CHECK-NEXT: 1 100 0.50 U rdtsc
# CHECK-NEXT: 1 100 0.50 U rdtscp
# CHECK-NEXT: 1 1 0.50 rolb %dil
# CHECK-NEXT: 1 1 0.50 rorb %dil
# CHECK-NEXT: 2 5 1.00 * * rolb (%rax)
@ -1557,6 +1579,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 testq %rsi, %rdi
# CHECK-NEXT: 1 5 0.50 * testq %rsi, (%rax)
# CHECK-NEXT: 1 100 0.50 * U ud2
# CHECK-NEXT: 1 100 0.50 U wrmsr
# CHECK-NEXT: 4 2 1.00 xaddb %bl, %cl
# CHECK-NEXT: 4 6 1.00 * * xaddb %bl, (%rcx)
# CHECK-NEXT: 4 2 1.00 xaddw %bx, %cx
@ -1635,7 +1658,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
# CHECK-NEXT: 262.00 262.00 - - 246.00 547.50 622.50 - - - - - - - - - - - - 156.50 156.50 64.00 211.00
# CHECK-NEXT: 262.00 262.00 - - 246.00 552.00 627.00 - - - - - - - - - - - - 156.50 156.50 64.00 211.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
@ -1859,6 +1882,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - 14.00 - 1.00 - - - - - - - - - - - - 0.50 0.50 - - divl (%rax)
# CHECK-NEXT: - - - - 14.00 - 1.00 - - - - - - - - - - - - - - - - divq %rcx
# CHECK-NEXT: 0.50 0.50 - - 14.00 - 1.00 - - - - - - - - - - - - 0.50 0.50 - - divq (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - enter $7, $4095
# CHECK-NEXT: - - - - 12.00 - 1.00 - - - - - - - - - - - - - - - - idivb %dil
# CHECK-NEXT: 0.50 0.50 - - 12.00 - 1.00 - - - - - - - - - - - - 0.50 0.50 - - idivb (%rax)
# CHECK-NEXT: - - - - 17.00 - 1.00 - - - - - - - - - - - - - - - - idivw %si
@ -1911,7 +1935,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - insw %dx, %es:(%rdi)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - insl %dx, %es:(%rdi)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - int $7
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - invlpg (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - invlpga %rax, %ecx
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - lahf
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leave
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - lodsb (%rsi), %al
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - lodsw (%rsi), %ax
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - lodsl (%rsi), %eax
@ -2061,6 +2088,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - rcrq %cl, %rdi
# CHECK-NEXT: 1.00 1.00 - - - 0.50 0.50 - - - - - - - - - - - - 0.50 0.50 - 1.00 rclq %cl, (%rax)
# CHECK-NEXT: 1.00 1.00 - - - 0.50 0.50 - - - - - - - - - - - - 0.50 0.50 - 1.00 rcrq %cl, (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - rdmsr
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - rdpmc
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - rdtsc
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - rdtscp
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - rolb %dil
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - rorb %dil
# CHECK-NEXT: 1.00 1.00 - - - 0.50 0.50 - - - - - - - - - - - - 0.50 0.50 - 1.00 rolb (%rax)
@ -2335,6 +2366,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - testq %rsi, %rdi
# CHECK-NEXT: 0.50 0.50 - - - 0.50 0.50 - - - - - - - - - - - - 0.50 0.50 - - testq %rsi, (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ud2
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - wrmsr
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - - - - - - - - - - xaddb %bl, %cl
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - - - - - - - - - - xaddb %bl, (%rcx)
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - - - - - - - - - - xaddw %bx, %cx

View File

@ -254,6 +254,8 @@ divl (%rax)
divq %rcx
divq (%rax)
enter $7, $4095
idivb %dil
idivb (%rax)
idivw %si
@ -315,8 +317,13 @@ insl
int $7
invlpg (%rax)
invlpga %rax, %ecx
lahf
leave
lodsb
lodsw
lodsl
@ -486,6 +493,11 @@ rcrq %cl, %rdi
rclq %cl, (%rax)
rcrq %cl, (%rax)
rdmsr
rdpmc
rdtsc
rdtscp
rolb %dil
rorb %dil
rolb (%rax)
@ -789,6 +801,8 @@ testq %rsi, (%rax)
ud2
wrmsr
xaddb %bl, %cl
xaddb %bl, (%rcx)
@ -1081,6 +1095,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 8 34 2.00 * U divl (%rax)
# CHECK-NEXT: 32 80 8.00 U divq %rcx
# CHECK-NEXT: 8 34 2.00 * U divq (%rax)
# CHECK-NEXT: 1 100 0.25 U enter $7, $4095
# CHECK-NEXT: 1 25 10.00 U idivb %dil
# CHECK-NEXT: 8 35 2.00 * U idivb (%rax)
# CHECK-NEXT: 1 25 10.00 U idivw %si
@ -1133,7 +1148,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 8 20 1.25 U insw %dx, %es:(%rdi)
# CHECK-NEXT: 8 20 1.25 U insl %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.25 * * U int $7
# CHECK-NEXT: 1 100 0.25 U invlpg (%rax)
# CHECK-NEXT: 1 100 0.25 U invlpga %rax, %ecx
# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 3 7 0.50 * leave
# CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al
# CHECK-NEXT: 1 100 0.25 U lodsw (%rsi), %ax
# CHECK-NEXT: 1 100 0.25 U lodsl (%rsi), %eax
@ -1283,6 +1301,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi
# CHECK-NEXT: 10 15 2.00 * rclq %cl, (%rax)
# CHECK-NEXT: 11 18 2.25 * rcrq %cl, (%rax)
# CHECK-NEXT: 1 100 0.25 U rdmsr
# CHECK-NEXT: 1 100 0.25 U rdpmc
# CHECK-NEXT: 8 18 2.00 U rdtsc
# CHECK-NEXT: 22 42 5.50 U rdtscp
# CHECK-NEXT: 2 2 1.00 rolb %dil
# CHECK-NEXT: 2 2 1.00 rorb %dil
# CHECK-NEXT: 5 7 1.00 * * rolb (%rax)
@ -1557,6 +1579,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 testq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * testq %rsi, (%rax)
# CHECK-NEXT: 1 100 0.25 * U ud2
# CHECK-NEXT: 1 100 0.25 U wrmsr
# CHECK-NEXT: 3 2 0.75 xaddb %bl, %cl
# CHECK-NEXT: 5 7 1.00 * * xaddb %bl, (%rcx)
# CHECK-NEXT: 3 2 0.75 xaddw %bx, %cx
@ -1622,7 +1645,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: 50.00 - 494.25 334.75 262.17 262.17 206.00 244.25 526.75 82.67
# CHECK-NEXT: 50.00 - 503.00 343.00 262.67 262.67 206.00 255.50 536.50 82.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -1846,6 +1869,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divl (%rax)
# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divq %rcx
# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divq (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - enter $7, $4095
# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil
# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivb (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivw %si
@ -1898,7 +1922,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insw %dx, %es:(%rdi)
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insl %dx, %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - int $7
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpg (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga %rax, %ecx
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - leave
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsb (%rsi), %al
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsw (%rsi), %ax
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsl (%rsi), %eax
@ -2048,6 +2075,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrq %cl, %rdi
# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclq %cl, (%rax)
# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrq %cl, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - rdmsr
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - rdpmc
# CHECK-NEXT: - - 1.75 1.25 - - - 2.25 2.75 - rdtsc
# CHECK-NEXT: - - 5.00 5.00 - - - 7.00 5.00 - rdtscp
# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil
# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil
# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax)
@ -2322,6 +2353,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - testq %rsi, %rdi
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - testq %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ud2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - wrmsr
# CHECK-NEXT: - - 0.75 0.75 - - - 0.75 0.75 - xaddb %bl, %cl
# CHECK-NEXT: - - 0.50 0.50 0.83 0.83 1.00 0.50 0.50 0.33 xaddb %bl, (%rcx)
# CHECK-NEXT: - - 0.75 0.75 - - - 0.75 0.75 - xaddw %bx, %cx

View File

@ -254,6 +254,8 @@ divl (%rax)
divq %rcx
divq (%rax)
enter $7, $4095
idivb %dil
idivb (%rax)
idivw %si
@ -315,8 +317,13 @@ insl
int $7
invlpg (%rax)
invlpga %rax, %ecx
lahf
leave
lodsb
lodsw
lodsl
@ -486,6 +493,11 @@ rcrq %cl, %rdi
rclq %cl, (%rax)
rcrq %cl, (%rax)
rdmsr
rdpmc
rdtsc
rdtscp
rolb %dil
rorb %dil
rolb (%rax)
@ -789,6 +801,8 @@ testq %rsi, (%rax)
ud2
wrmsr
xaddb %bl, %cl
xaddb %bl, (%rcx)
@ -1081,6 +1095,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 28 25.00 * U divl (%rax)
# CHECK-NEXT: 2 41 41.00 U divq %rcx
# CHECK-NEXT: 2 44 41.00 * U divq (%rax)
# CHECK-NEXT: 1 100 0.50 U enter $7, $4095
# CHECK-NEXT: 1 12 12.00 U idivb %dil
# CHECK-NEXT: 1 15 12.00 * U idivb (%rax)
# CHECK-NEXT: 2 17 17.00 U idivw %si
@ -1133,7 +1148,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 0.50 U insw %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.50 U insl %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.50 * * U int $7
# CHECK-NEXT: 1 100 0.50 U invlpg (%rax)
# CHECK-NEXT: 1 100 0.50 U invlpga %rax, %ecx
# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 1 1 0.50 * leave
# CHECK-NEXT: 1 100 0.50 U lodsb (%rsi), %al
# CHECK-NEXT: 1 100 0.50 U lodsw (%rsi), %ax
# CHECK-NEXT: 1 100 0.50 U lodsl (%rsi), %eax
@ -1283,6 +1301,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 rcrq %cl, %rdi
# CHECK-NEXT: 1 4 1.00 * rclq %cl, (%rax)
# CHECK-NEXT: 1 4 1.00 * rcrq %cl, (%rax)
# CHECK-NEXT: 1 100 0.50 U rdmsr
# CHECK-NEXT: 1 100 0.50 U rdpmc
# CHECK-NEXT: 1 100 0.50 U rdtsc
# CHECK-NEXT: 1 100 0.50 U rdtscp
# CHECK-NEXT: 1 1 0.50 rolb %dil
# CHECK-NEXT: 1 1 0.50 rorb %dil
# CHECK-NEXT: 1 4 1.00 * * rolb (%rax)
@ -1557,6 +1579,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 testq %rsi, %rdi
# CHECK-NEXT: 1 4 1.00 * testq %rsi, (%rax)
# CHECK-NEXT: 1 100 0.50 * U ud2
# CHECK-NEXT: 1 100 0.50 U wrmsr
# CHECK-NEXT: 1 1 0.50 xaddb %bl, %cl
# CHECK-NEXT: 1 4 1.00 * * xaddb %bl, (%rcx)
# CHECK-NEXT: 1 1 0.50 xaddw %bx, %cx
@ -1626,7 +1649,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
# CHECK-NEXT: 581.50 631.50 380.00 - - - - 322.00 64.00 223.00 - - - -
# CHECK-NEXT: 586.00 636.00 380.00 - - - - 322.00 64.00 223.00 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
@ -1850,6 +1873,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - 1.00 25.00 - - - - 1.00 - - - - - - divl (%rax)
# CHECK-NEXT: - 1.00 41.00 - - - - - - - - - - - divq %rcx
# CHECK-NEXT: - 1.00 41.00 - - - - 1.00 - - - - - - divq (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - enter $7, $4095
# CHECK-NEXT: - 1.00 12.00 - - - - - - - - - - - idivb %dil
# CHECK-NEXT: - 1.00 12.00 - - - - 1.00 - - - - - - idivb (%rax)
# CHECK-NEXT: - 1.00 17.00 - - - - - - - - - - - idivw %si
@ -1902,7 +1926,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - insw %dx, %es:(%rdi)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - insl %dx, %es:(%rdi)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - int $7
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - invlpg (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - invlpga %rax, %ecx
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lahf
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - leave
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lodsb (%rsi), %al
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lodsw (%rsi), %ax
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lodsl (%rsi), %eax
@ -2052,6 +2079,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrq %cl, %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclq %cl, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrq %cl, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rdmsr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rdpmc
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rdtsc
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rdtscp
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolb (%rax)
@ -2326,6 +2357,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - testq %rsi, %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - testq %rsi, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - ud2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - wrmsr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xaddb %bl, %cl
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xaddb %bl, (%rcx)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xaddw %bx, %cx

View File

@ -254,6 +254,8 @@ divl (%rax)
divq %rcx
divq (%rax)
enter $7, $4095
idivb %dil
idivb (%rax)
idivw %si
@ -315,8 +317,13 @@ insl
int $7
invlpg (%rax)
invlpga %rax, %ecx
lahf
leave
lodsb
lodsw
lodsl
@ -486,6 +493,11 @@ rcrq %cl, %rdi
rclq %cl, (%rax)
rcrq %cl, (%rax)
rdmsr
rdpmc
rdtsc
rdtscp
rolb %dil
rorb %dil
rolb (%rax)
@ -789,6 +801,8 @@ testq %rsi, (%rax)
ud2
wrmsr
xaddb %bl, %cl
xaddb %bl, (%rcx)
@ -1081,6 +1095,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 30 10.00 * U divl (%rax)
# CHECK-NEXT: 1 25 10.00 U divq %rcx
# CHECK-NEXT: 2 30 10.00 * U divq (%rax)
# CHECK-NEXT: 1 100 0.33 U enter $7, $4095
# CHECK-NEXT: 1 25 10.00 U idivb %dil
# CHECK-NEXT: 2 30 10.00 * U idivb (%rax)
# CHECK-NEXT: 1 25 10.00 U idivw %si
@ -1133,7 +1148,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 0.33 U insw %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.33 U insl %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.33 * * U int $7
# CHECK-NEXT: 1 100 0.33 U invlpg (%rax)
# CHECK-NEXT: 1 100 0.33 U invlpga %rax, %ecx
# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 3 7 0.67 * leave
# CHECK-NEXT: 3 7 0.67 U lodsb (%rsi), %al
# CHECK-NEXT: 3 7 0.67 U lodsw (%rsi), %ax
# CHECK-NEXT: 2 6 0.50 U lodsl (%rsi), %eax
@ -1283,6 +1301,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 8 5 4.00 rcrq %cl, %rdi
# CHECK-NEXT: 11 11 3.50 * rclq %cl, (%rax)
# CHECK-NEXT: 11 11 3.50 * rcrq %cl, (%rax)
# CHECK-NEXT: 1 100 0.33 U rdmsr
# CHECK-NEXT: 1 100 0.33 U rdpmc
# CHECK-NEXT: 1 100 0.33 U rdtsc
# CHECK-NEXT: 1 100 0.33 U rdtscp
# CHECK-NEXT: 2 2 1.00 rolb %dil
# CHECK-NEXT: 2 2 1.00 rorb %dil
# CHECK-NEXT: 5 8 1.00 * * rolb (%rax)
@ -1557,6 +1579,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 testq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * testq %rsi, (%rax)
# CHECK-NEXT: 1 100 0.33 * U ud2
# CHECK-NEXT: 1 100 0.33 U wrmsr
# CHECK-NEXT: 3 2 1.00 xaddb %bl, %cl
# CHECK-NEXT: 5 8 1.00 * * xaddb %bl, (%rcx)
# CHECK-NEXT: 3 2 1.00 xaddw %bx, %cx
@ -1620,7 +1643,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
# CHECK-NEXT: 160.00 - 571.83 221.33 222.00 571.83 316.00 316.00
# CHECK-NEXT: 160.00 - 575.17 224.67 222.00 575.17 316.50 316.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@ -1844,6 +1867,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divl (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - divq %rcx
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divq (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - enter $7, $4095
# CHECK-NEXT: 10.00 - 1.00 - - - - - idivb %dil
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivb (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - idivw %si
@ -1896,7 +1920,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - insw %dx, %es:(%rdi)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - insl %dx, %es:(%rdi)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - int $7
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpg (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpga %rax, %ecx
# CHECK-NEXT: - - 0.50 - - 0.50 - - lahf
# CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 leave
# CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 lodsb (%rsi), %al
# CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 lodsw (%rsi), %ax
# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 lodsl (%rsi), %eax
@ -2046,6 +2073,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 4.00 - - 4.00 - - rcrq %cl, %rdi
# CHECK-NEXT: - - 3.50 - - 3.50 2.00 2.00 rclq %cl, (%rax)
# CHECK-NEXT: - - 3.50 - - 3.50 2.00 2.00 rcrq %cl, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - rdmsr
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - rdpmc
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - rdtsc
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - rdtscp
# CHECK-NEXT: - - 1.00 - - 1.00 - - rolb %dil
# CHECK-NEXT: - - 1.00 - - 1.00 - - rorb %dil
# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolb (%rax)
@ -2320,6 +2351,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - testq %rsi, %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 testq %rsi, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - ud2
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wrmsr
# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - xaddb %bl, %cl
# CHECK-NEXT: - - 0.67 0.67 1.00 0.67 1.00 1.00 xaddb %bl, (%rcx)
# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - xaddw %bx, %cx

View File

@ -254,6 +254,8 @@ divl (%rax)
divq %rcx
divq (%rax)
enter $7, $4095
idivb %dil
idivb (%rax)
idivw %si
@ -315,8 +317,13 @@ insl
int $7
invlpg (%rax)
invlpga %rax, %ecx
lahf
leave
lodsb
lodsw
lodsl
@ -486,6 +493,11 @@ rcrq %cl, %rdi
rclq %cl, (%rax)
rcrq %cl, (%rax)
rdmsr
rdpmc
rdtsc
rdtscp
rolb %dil
rorb %dil
rolb (%rax)
@ -789,6 +801,8 @@ testq %rsi, (%rax)
ud2
wrmsr
xaddb %bl, %cl
xaddb %bl, (%rcx)
@ -1081,6 +1095,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 29 10.00 * U divl (%rax)
# CHECK-NEXT: 32 98 8.00 U divq %rcx
# CHECK-NEXT: 2 29 10.00 * U divq (%rax)
# CHECK-NEXT: 1 100 0.25 U enter $7, $4095
# CHECK-NEXT: 9 23 1.00 U idivb %dil
# CHECK-NEXT: 2 29 10.00 * U idivb (%rax)
# CHECK-NEXT: 66 112 16.50 U idivw %si
@ -1133,7 +1148,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 8 21 1.25 U insw %dx, %es:(%rdi)
# CHECK-NEXT: 8 21 1.25 U insl %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.25 * * U int $7
# CHECK-NEXT: 1 100 0.25 U invlpg (%rax)
# CHECK-NEXT: 1 100 0.25 U invlpga %rax, %ecx
# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 3 7 0.50 * leave
# CHECK-NEXT: 3 1 0.50 U lodsb (%rsi), %al
# CHECK-NEXT: 3 1 0.50 U lodsw (%rsi), %ax
# CHECK-NEXT: 2 1 0.50 U lodsl (%rsi), %eax
@ -1283,6 +1301,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi
# CHECK-NEXT: 10 16 2.00 * rclq %cl, (%rax)
# CHECK-NEXT: 11 19 2.25 * rcrq %cl, (%rax)
# CHECK-NEXT: 1 100 0.25 U rdmsr
# CHECK-NEXT: 34 1 8.50 U rdpmc
# CHECK-NEXT: 8 18 2.00 U rdtsc
# CHECK-NEXT: 22 42 5.50 U rdtscp
# CHECK-NEXT: 2 2 1.00 rolb %dil
# CHECK-NEXT: 2 2 1.00 rorb %dil
# CHECK-NEXT: 5 8 1.00 * * rolb (%rax)
@ -1557,6 +1579,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 testq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * testq %rsi, (%rax)
# CHECK-NEXT: 1 100 0.25 * U ud2
# CHECK-NEXT: 1 100 0.25 U wrmsr
# CHECK-NEXT: 3 2 0.75 xaddb %bl, %cl
# CHECK-NEXT: 5 8 1.00 * * xaddb %bl, (%rcx)
# CHECK-NEXT: 3 2 0.75 xaddw %bx, %cx
@ -1622,7 +1645,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: 80.00 - 548.75 359.25 262.67 262.67 201.00 270.75 610.25 79.67
# CHECK-NEXT: 80.00 - 557.25 367.25 263.17 263.17 201.00 281.75 619.75 79.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -1846,6 +1869,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax)
# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divq %rcx
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - enter $7, $4095
# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - idivb %dil
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivb (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si
@ -1898,7 +1922,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insw %dx, %es:(%rdi)
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insl %dx, %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - int $7
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpg (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga %rax, %ecx
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - leave
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - lodsb (%rsi), %al
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - lodsw (%rsi), %ax
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - lodsl (%rsi), %eax
@ -2048,6 +2075,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrq %cl, %rdi
# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclq %cl, (%rax)
# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrq %cl, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - rdmsr
# CHECK-NEXT: - - - - - - - - - - rdpmc
# CHECK-NEXT: - - 1.75 1.25 - - - 2.25 2.75 - rdtsc
# CHECK-NEXT: - - 5.00 5.00 - - - 7.00 5.00 - rdtscp
# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil
# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil
# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax)
@ -2322,6 +2353,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - testq %rsi, %rdi
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - testq %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ud2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - wrmsr
# CHECK-NEXT: - - 0.75 0.75 - - - 0.75 0.75 - xaddb %bl, %cl
# CHECK-NEXT: - - 0.50 0.50 0.83 0.83 1.00 0.50 0.50 0.33 xaddb %bl, (%rcx)
# CHECK-NEXT: - - 0.75 0.75 - - - 0.75 0.75 - xaddw %bx, %cx

View File

@ -254,6 +254,8 @@ divl (%rax)
divq %rcx
divq (%rax)
enter $7, $4095
idivb %dil
idivb (%rax)
idivw %si
@ -315,8 +317,13 @@ insl
int $7
invlpg (%rax)
invlpga %rax, %ecx
lahf
leave
lodsb
lodsw
lodsl
@ -486,6 +493,11 @@ rcrq %cl, %rdi
rclq %cl, (%rax)
rcrq %cl, (%rax)
rdmsr
rdpmc
rdtsc
rdtscp
rolb %dil
rorb %dil
rolb (%rax)
@ -789,6 +801,8 @@ testq %rsi, (%rax)
ud2
wrmsr
xaddb %bl, %cl
xaddb %bl, (%rcx)
@ -1081,6 +1095,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 29 25.00 * U divl (%rax)
# CHECK-NEXT: 1 25 25.00 U divq %rcx
# CHECK-NEXT: 1 29 25.00 * U divq (%rax)
# CHECK-NEXT: 1 100 1.00 U enter $7, $4095
# CHECK-NEXT: 1 25 25.00 U idivb %dil
# CHECK-NEXT: 1 29 25.00 * U idivb (%rax)
# CHECK-NEXT: 1 25 25.00 U idivw %si
@ -1133,7 +1148,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 1.00 U insw %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 1.00 U insl %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 1.00 * * U int $7
# CHECK-NEXT: 1 100 1.00 U invlpg (%rax)
# CHECK-NEXT: 1 100 1.00 U invlpga %rax, %ecx
# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 1 1 0.50 * leave
# CHECK-NEXT: 1 100 1.00 U lodsb (%rsi), %al
# CHECK-NEXT: 1 100 1.00 U lodsw (%rsi), %ax
# CHECK-NEXT: 1 100 1.00 U lodsl (%rsi), %eax
@ -1283,6 +1301,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 1.00 rcrq %cl, %rdi
# CHECK-NEXT: 2 4 2.00 * rclq %cl, (%rax)
# CHECK-NEXT: 2 4 2.00 * rcrq %cl, (%rax)
# CHECK-NEXT: 1 100 1.00 U rdmsr
# CHECK-NEXT: 1 100 1.00 U rdpmc
# CHECK-NEXT: 1 100 1.00 U rdtsc
# CHECK-NEXT: 1 100 1.00 U rdtscp
# CHECK-NEXT: 1 1 1.00 rolb %dil
# CHECK-NEXT: 1 1 1.00 rorb %dil
# CHECK-NEXT: 2 4 2.00 * * rolb (%rax)
@ -1557,6 +1579,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 testq %rsi, %rdi
# CHECK-NEXT: 1 4 1.00 * testq %rsi, (%rax)
# CHECK-NEXT: 1 100 1.00 * U ud2
# CHECK-NEXT: 1 100 1.00 U wrmsr
# CHECK-NEXT: 1 1 0.50 xaddb %bl, %cl
# CHECK-NEXT: 2 4 2.00 * * xaddb %bl, (%rcx)
# CHECK-NEXT: 1 1 0.50 xaddw %bx, %cx
@ -1620,7 +1643,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
# CHECK-NEXT: 400.00 - - 41.00 - 549.00 391.00 557.00
# CHECK-NEXT: 400.00 - - 49.00 - 549.50 391.50 557.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@ -1844,6 +1867,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divl (%rax)
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divq %rcx
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divq (%rax)
# CHECK-NEXT: - - - 1.00 - - - - enter $7, $4095
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivb %dil
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivb (%rax)
# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivw %si
@ -1896,7 +1920,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - 1.00 - - - - insw %dx, %es:(%rdi)
# CHECK-NEXT: - - - 1.00 - - - - insl %dx, %es:(%rdi)
# CHECK-NEXT: - - - 1.00 - - - - int $7
# CHECK-NEXT: - - - 1.00 - - - - invlpg (%rax)
# CHECK-NEXT: - - - 1.00 - - - - invlpga %rax, %ecx
# CHECK-NEXT: - - - - - 0.50 0.50 - lahf
# CHECK-NEXT: - - - - - 0.50 0.50 - leave
# CHECK-NEXT: - - - 1.00 - - - - lodsb (%rsi), %al
# CHECK-NEXT: - - - 1.00 - - - - lodsw (%rsi), %ax
# CHECK-NEXT: - - - 1.00 - - - - lodsl (%rsi), %eax
@ -2046,6 +2073,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 1.00 - - rcrq %cl, %rdi
# CHECK-NEXT: - - - - - 1.00 - 2.00 rclq %cl, (%rax)
# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrq %cl, (%rax)
# CHECK-NEXT: - - - 1.00 - - - - rdmsr
# CHECK-NEXT: - - - 1.00 - - - - rdpmc
# CHECK-NEXT: - - - 1.00 - - - - rdtsc
# CHECK-NEXT: - - - 1.00 - - - - rdtscp
# CHECK-NEXT: - - - - - 1.00 - - rolb %dil
# CHECK-NEXT: - - - - - 1.00 - - rorb %dil
# CHECK-NEXT: - - - - - 1.00 - 2.00 rolb (%rax)
@ -2320,6 +2351,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 - testq %rsi, %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 testq %rsi, (%rax)
# CHECK-NEXT: - - - 1.00 - - - - ud2
# CHECK-NEXT: - - - 1.00 - - - - wrmsr
# CHECK-NEXT: - - - - - 0.50 0.50 - xaddb %bl, %cl
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 xaddb %bl, (%rcx)
# CHECK-NEXT: - - - - - 0.50 0.50 - xaddw %bx, %cx

View File

@ -254,6 +254,8 @@ divl (%rax)
divq %rcx
divq (%rax)
enter $7, $4095
idivb %dil
idivb (%rax)
idivw %si
@ -315,8 +317,13 @@ insl
int $7
invlpg (%rax)
invlpga %rax, %ecx
lahf
leave
lodsb
lodsw
lodsl
@ -486,6 +493,11 @@ rcrq %cl, %rdi
rclq %cl, (%rax)
rcrq %cl, (%rax)
rdmsr
rdpmc
rdtsc
rdtscp
rolb %dil
rorb %dil
rolb (%rax)
@ -789,6 +801,8 @@ testq %rsi, (%rax)
ud2
wrmsr
xaddb %bl, %cl
xaddb %bl, (%rcx)
@ -852,8 +866,6 @@ xorq %rsi, %rdi
xorq %rsi, (%rax)
xorq (%rax), %rdi
# CCHECK-NEXT: 160.00 - 439.83 221.33 250.00 431.83 294.00 294.00
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -1083,6 +1095,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 30 10.00 * U divl (%rax)
# CHECK-NEXT: 1 25 10.00 U divq %rcx
# CHECK-NEXT: 2 30 10.00 * U divq (%rax)
# CHECK-NEXT: 1 100 0.33 U enter $7, $4095
# CHECK-NEXT: 1 25 10.00 U idivb %dil
# CHECK-NEXT: 2 30 10.00 * U idivb (%rax)
# CHECK-NEXT: 1 25 10.00 U idivw %si
@ -1135,7 +1148,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 0.33 U insw %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.33 U insl %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.33 * * U int $7
# CHECK-NEXT: 1 100 0.33 U invlpg (%rax)
# CHECK-NEXT: 1 100 0.33 U invlpga %rax, %ecx
# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 3 7 0.67 * leave
# CHECK-NEXT: 3 7 0.67 U lodsb (%rsi), %al
# CHECK-NEXT: 3 7 0.67 U lodsw (%rsi), %ax
# CHECK-NEXT: 2 6 0.50 U lodsl (%rsi), %eax
@ -1285,6 +1301,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 8 5 4.00 rcrq %cl, %rdi
# CHECK-NEXT: 11 11 3.50 * rclq %cl, (%rax)
# CHECK-NEXT: 11 11 3.50 * rcrq %cl, (%rax)
# CHECK-NEXT: 1 100 0.33 U rdmsr
# CHECK-NEXT: 1 100 0.33 U rdpmc
# CHECK-NEXT: 1 100 0.33 U rdtsc
# CHECK-NEXT: 1 100 0.33 U rdtscp
# CHECK-NEXT: 2 2 1.00 rolb %dil
# CHECK-NEXT: 2 2 1.00 rorb %dil
# CHECK-NEXT: 5 8 1.00 * * rolb (%rax)
@ -1559,6 +1579,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 testq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * testq %rsi, (%rax)
# CHECK-NEXT: 1 100 0.33 * U ud2
# CHECK-NEXT: 1 100 0.33 U wrmsr
# CHECK-NEXT: 3 2 1.00 xaddb %bl, %cl
# CHECK-NEXT: 5 8 1.00 * * xaddb %bl, (%rcx)
# CHECK-NEXT: 3 2 1.00 xaddw %bx, %cx
@ -1622,7 +1643,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
# CHECK-NEXT: 160.00 - 571.83 221.33 222.00 571.83 316.00 316.00
# CHECK-NEXT: 160.00 - 575.17 224.67 222.00 575.17 316.50 316.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@ -1846,6 +1867,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divl (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - divq %rcx
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divq (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - enter $7, $4095
# CHECK-NEXT: 10.00 - 1.00 - - - - - idivb %dil
# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivb (%rax)
# CHECK-NEXT: 10.00 - 1.00 - - - - - idivw %si
@ -1898,7 +1920,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - insw %dx, %es:(%rdi)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - insl %dx, %es:(%rdi)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - int $7
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpg (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - invlpga %rax, %ecx
# CHECK-NEXT: - - 0.50 - - 0.50 - - lahf
# CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 leave
# CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 lodsb (%rsi), %al
# CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 lodsw (%rsi), %ax
# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 lodsl (%rsi), %eax
@ -2048,6 +2073,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 4.00 - - 4.00 - - rcrq %cl, %rdi
# CHECK-NEXT: - - 3.50 - - 3.50 2.00 2.00 rclq %cl, (%rax)
# CHECK-NEXT: - - 3.50 - - 3.50 2.00 2.00 rcrq %cl, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - rdmsr
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - rdpmc
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - rdtsc
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - rdtscp
# CHECK-NEXT: - - 1.00 - - 1.00 - - rolb %dil
# CHECK-NEXT: - - 1.00 - - 1.00 - - rorb %dil
# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolb (%rax)
@ -2322,6 +2351,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - testq %rsi, %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 testq %rsi, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - ud2
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wrmsr
# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - xaddb %bl, %cl
# CHECK-NEXT: - - 0.67 0.67 1.00 0.67 1.00 1.00 xaddb %bl, (%rcx)
# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - xaddw %bx, %cx

View File

@ -254,6 +254,8 @@ divl (%rax)
divq %rcx
divq (%rax)
enter $7, $4095
idivb %dil
idivb (%rax)
idivw %si
@ -315,8 +317,13 @@ insl
int $7
invlpg (%rax)
invlpga %rax, %ecx
lahf
leave
lodsb
lodsw
lodsl
@ -486,6 +493,11 @@ rcrq %cl, %rdi
rclq %cl, (%rax)
rcrq %cl, (%rax)
rdmsr
rdpmc
rdtsc
rdtscp
rolb %dil
rorb %dil
rolb (%rax)
@ -789,6 +801,8 @@ testq %rsi, (%rax)
ud2
wrmsr
xaddb %bl, %cl
xaddb %bl, (%rcx)
@ -1081,6 +1095,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 29 10.00 * U divl (%rax)
# CHECK-NEXT: 32 76 8.00 U divq %rcx
# CHECK-NEXT: 2 29 10.00 * U divq (%rax)
# CHECK-NEXT: 1 100 0.25 U enter $7, $4095
# CHECK-NEXT: 1 25 10.00 U idivb %dil
# CHECK-NEXT: 8 28 4.00 * U idivb (%rax)
# CHECK-NEXT: 66 102 16.50 U idivw %si
@ -1133,7 +1148,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 8 20 1.25 U insw %dx, %es:(%rdi)
# CHECK-NEXT: 8 20 1.25 U insl %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.25 * * U int $7
# CHECK-NEXT: 1 100 0.25 U invlpg (%rax)
# CHECK-NEXT: 1 100 0.25 U invlpga %rax, %ecx
# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 3 7 0.50 * leave
# CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al
# CHECK-NEXT: 1 100 0.25 U lodsw (%rsi), %ax
# CHECK-NEXT: 1 100 0.25 U lodsl (%rsi), %eax
@ -1283,6 +1301,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi
# CHECK-NEXT: 10 15 2.50 * rclq %cl, (%rax)
# CHECK-NEXT: 11 18 2.25 * rcrq %cl, (%rax)
# CHECK-NEXT: 1 100 0.25 U rdmsr
# CHECK-NEXT: 1 100 0.25 U rdpmc
# CHECK-NEXT: 8 18 2.00 U rdtsc
# CHECK-NEXT: 22 42 5.50 U rdtscp
# CHECK-NEXT: 2 2 1.00 rolb %dil
# CHECK-NEXT: 2 2 1.00 rorb %dil
# CHECK-NEXT: 5 7 1.00 * * rolb (%rax)
@ -1557,6 +1579,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 testq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * testq %rsi, (%rax)
# CHECK-NEXT: 1 100 0.25 * U ud2
# CHECK-NEXT: 1 100 0.25 U wrmsr
# CHECK-NEXT: 3 2 0.75 xaddb %bl, %cl
# CHECK-NEXT: 5 7 1.00 * * xaddb %bl, (%rcx)
# CHECK-NEXT: 3 2 0.75 xaddw %bx, %cx
@ -1622,7 +1645,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: 60.00 - 564.50 314.50 262.17 262.17 206.00 279.00 620.00 82.67
# CHECK-NEXT: 60.00 - 573.25 322.75 262.67 262.67 206.00 290.25 629.75 82.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -1846,6 +1869,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax)
# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divq %rcx
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - enter $7, $4095
# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil
# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivb (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si
@ -1898,7 +1922,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insw %dx, %es:(%rdi)
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insl %dx, %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - int $7
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpg (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga %rax, %ecx
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - leave
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsb (%rsi), %al
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsw (%rsi), %ax
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsl (%rsi), %eax
@ -2048,6 +2075,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrq %cl, %rdi
# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclq %cl, (%rax)
# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrq %cl, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - rdmsr
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - rdpmc
# CHECK-NEXT: - - 1.75 1.25 - - - 2.25 2.75 - rdtsc
# CHECK-NEXT: - - 5.00 5.00 - - - 7.00 5.00 - rdtscp
# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil
# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil
# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax)
@ -2322,6 +2353,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - testq %rsi, %rdi
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - testq %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ud2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - wrmsr
# CHECK-NEXT: - - 0.75 0.75 - - - 0.75 0.75 - xaddb %bl, %cl
# CHECK-NEXT: - - 0.50 0.50 0.83 0.83 1.00 0.50 0.50 0.33 xaddb %bl, (%rcx)
# CHECK-NEXT: - - 0.75 0.75 - - - 0.75 0.75 - xaddw %bx, %cx

View File

@ -254,6 +254,8 @@ divl (%rax)
divq %rcx
divq (%rax)
enter $7, $4095
idivb %dil
idivb (%rax)
idivw %si
@ -315,8 +317,13 @@ insl
int $7
invlpg (%rax)
invlpga %rax, %ecx
lahf
leave
lodsb
lodsw
lodsl
@ -486,6 +493,11 @@ rcrq %cl, %rdi
rclq %cl, (%rax)
rcrq %cl, (%rax)
rdmsr
rdpmc
rdtsc
rdtscp
rolb %dil
rorb %dil
rolb (%rax)
@ -789,6 +801,8 @@ testq %rsi, (%rax)
ud2
wrmsr
xaddb %bl, %cl
xaddb %bl, (%rcx)
@ -1081,6 +1095,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 29 10.00 * U divl (%rax)
# CHECK-NEXT: 32 76 8.00 U divq %rcx
# CHECK-NEXT: 2 29 10.00 * U divq (%rax)
# CHECK-NEXT: 1 100 0.25 U enter $7, $4095
# CHECK-NEXT: 1 25 10.00 U idivb %dil
# CHECK-NEXT: 8 28 4.00 * U idivb (%rax)
# CHECK-NEXT: 66 102 16.50 U idivw %si
@ -1133,7 +1148,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 8 20 1.25 U insw %dx, %es:(%rdi)
# CHECK-NEXT: 8 20 1.25 U insl %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.25 * * U int $7
# CHECK-NEXT: 1 100 0.25 U invlpg (%rax)
# CHECK-NEXT: 1 100 0.25 U invlpga %rax, %ecx
# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 3 7 0.50 * leave
# CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al
# CHECK-NEXT: 1 100 0.25 U lodsw (%rsi), %ax
# CHECK-NEXT: 1 100 0.25 U lodsl (%rsi), %eax
@ -1283,6 +1301,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi
# CHECK-NEXT: 10 15 2.50 * rclq %cl, (%rax)
# CHECK-NEXT: 11 18 2.25 * rcrq %cl, (%rax)
# CHECK-NEXT: 1 100 0.25 U rdmsr
# CHECK-NEXT: 1 100 0.25 U rdpmc
# CHECK-NEXT: 8 18 2.00 U rdtsc
# CHECK-NEXT: 22 42 5.50 U rdtscp
# CHECK-NEXT: 2 2 1.00 rolb %dil
# CHECK-NEXT: 2 2 1.00 rorb %dil
# CHECK-NEXT: 5 7 1.00 * * rolb (%rax)
@ -1557,6 +1579,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 testq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * testq %rsi, (%rax)
# CHECK-NEXT: 1 100 0.25 * U ud2
# CHECK-NEXT: 1 100 0.25 U wrmsr
# CHECK-NEXT: 3 2 0.75 xaddb %bl, %cl
# CHECK-NEXT: 5 7 1.00 * * xaddb %bl, (%rcx)
# CHECK-NEXT: 3 2 0.75 xaddw %bx, %cx
@ -1622,7 +1645,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: 60.00 - 564.75 314.75 262.17 262.17 206.00 279.25 620.25 82.67
# CHECK-NEXT: 60.00 - 573.50 323.00 262.67 262.67 206.00 290.50 630.00 82.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -1846,6 +1869,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax)
# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divq %rcx
# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - enter $7, $4095
# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil
# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivb (%rax)
# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si
@ -1898,7 +1922,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insw %dx, %es:(%rdi)
# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 1.00 1.50 2.00 0.33 insl %dx, %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - int $7
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpg (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - invlpga %rax, %ecx
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - leave
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsb (%rsi), %al
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsw (%rsi), %ax
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsl (%rsi), %eax
@ -2048,6 +2075,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrq %cl, %rdi
# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclq %cl, (%rax)
# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrq %cl, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - rdmsr
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - rdpmc
# CHECK-NEXT: - - 1.75 1.25 - - - 2.25 2.75 - rdtsc
# CHECK-NEXT: - - 5.00 5.00 - - - 7.00 5.00 - rdtscp
# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil
# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil
# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax)
@ -2322,6 +2353,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - testq %rsi, %rdi
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - testq %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ud2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - wrmsr
# CHECK-NEXT: - - 0.75 0.75 - - - 0.75 0.75 - xaddb %bl, %cl
# CHECK-NEXT: - - 0.50 0.50 0.83 0.83 1.00 0.50 0.50 0.33 xaddb %bl, (%rcx)
# CHECK-NEXT: - - 0.75 0.75 - - - 0.75 0.75 - xaddw %bx, %cx

View File

@ -254,6 +254,8 @@ divl (%rax)
divq %rcx
divq (%rax)
enter $7, $4095
idivb %dil
idivb (%rax)
idivw %si
@ -315,8 +317,13 @@ insl
int $7
invlpg (%rax)
invlpga %rax, %ecx
lahf
leave
lodsb
lodsw
lodsl
@ -486,6 +493,11 @@ rcrq %cl, %rdi
rclq %cl, (%rax)
rcrq %cl, (%rax)
rdmsr
rdpmc
rdtsc
rdtscp
rolb %dil
rorb %dil
rolb (%rax)
@ -789,6 +801,8 @@ testq %rsi, (%rax)
ud2
wrmsr
xaddb %bl, %cl
xaddb %bl, (%rcx)
@ -1081,6 +1095,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 29 25.00 * U divl (%rax)
# CHECK-NEXT: 2 41 41.00 U divq %rcx
# CHECK-NEXT: 3 45 41.00 * U divq (%rax)
# CHECK-NEXT: 1 100 0.25 U enter $7, $4095
# CHECK-NEXT: 1 15 15.00 U idivb %dil
# CHECK-NEXT: 2 19 15.00 * U idivb (%rax)
# CHECK-NEXT: 2 17 17.00 U idivw %si
@ -1133,7 +1148,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 100 0.25 U insw %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.25 U insl %dx, %es:(%rdi)
# CHECK-NEXT: 1 100 0.25 * * U int $7
# CHECK-NEXT: 1 100 0.25 U invlpg (%rax)
# CHECK-NEXT: 1 100 0.25 U invlpga %rax, %ecx
# CHECK-NEXT: 1 100 0.25 lahf
# CHECK-NEXT: 2 8 0.50 * leave
# CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al
# CHECK-NEXT: 1 100 0.25 U lodsw (%rsi), %ax
# CHECK-NEXT: 1 100 0.25 U lodsl (%rsi), %eax
@ -1283,6 +1301,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 rcrq %cl, %rdi
# CHECK-NEXT: 1 100 0.25 * rclq %cl, (%rax)
# CHECK-NEXT: 1 100 0.25 * rcrq %cl, (%rax)
# CHECK-NEXT: 1 100 0.25 U rdmsr
# CHECK-NEXT: 1 100 0.25 U rdpmc
# CHECK-NEXT: 1 100 0.25 U rdtsc
# CHECK-NEXT: 1 100 0.25 U rdtscp
# CHECK-NEXT: 1 1 0.25 rolb %dil
# CHECK-NEXT: 1 1 0.25 rorb %dil
# CHECK-NEXT: 3 5 1.00 * * rolb (%rax)
@ -1557,6 +1579,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 testq %rsi, %rdi
# CHECK-NEXT: 2 5 0.50 * testq %rsi, (%rax)
# CHECK-NEXT: 1 100 0.25 * U ud2
# CHECK-NEXT: 1 100 0.25 U wrmsr
# CHECK-NEXT: 1 1 0.25 xaddb %bl, %cl
# CHECK-NEXT: 1 100 0.25 * * xaddb %bl, (%rcx)
# CHECK-NEXT: 1 1 0.25 xaddw %bx, %cx
@ -1624,7 +1647,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: 165.00 165.00 153.50 187.50 169.50 153.50 392.00 - - - - 34.00
# CHECK-NEXT: 165.50 165.50 153.75 187.75 169.75 153.75 392.00 - - - - 34.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@ -1848,6 +1871,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - 1.00 - 25.00 - - - - - divl (%rax)
# CHECK-NEXT: - - - - 1.00 - 41.00 - - - - - divq %rcx
# CHECK-NEXT: 0.50 0.50 - - 1.00 - 41.00 - - - - - divq (%rax)
# CHECK-NEXT: - - - - - - - - - - - - enter $7, $4095
# CHECK-NEXT: - - - - 1.00 - 15.00 - - - - - idivb %dil
# CHECK-NEXT: 0.50 0.50 - - 1.00 - 15.00 - - - - - idivb (%rax)
# CHECK-NEXT: - - - - 1.00 - 17.00 - - - - - idivw %si
@ -1900,7 +1924,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - - - - - - - - insw %dx, %es:(%rdi)
# CHECK-NEXT: - - - - - - - - - - - - insl %dx, %es:(%rdi)
# CHECK-NEXT: - - - - - - - - - - - - int $7
# CHECK-NEXT: - - - - - - - - - - - - invlpg (%rax)
# CHECK-NEXT: - - - - - - - - - - - - invlpga %rax, %ecx
# CHECK-NEXT: - - - - - - - - - - - - lahf
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - leave
# CHECK-NEXT: - - - - - - - - - - - - lodsb (%rsi), %al
# CHECK-NEXT: - - - - - - - - - - - - lodsw (%rsi), %ax
# CHECK-NEXT: - - - - - - - - - - - - lodsl (%rsi), %eax
@ -2050,6 +2077,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrq %cl, %rdi
# CHECK-NEXT: - - - - - - - - - - - - rclq %cl, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - rcrq %cl, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - rdmsr
# CHECK-NEXT: - - - - - - - - - - - - rdpmc
# CHECK-NEXT: - - - - - - - - - - - - rdtsc
# CHECK-NEXT: - - - - - - - - - - - - rdtscp
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolb %dil
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorb %dil
# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolb (%rax)
@ -2324,6 +2355,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - testq %rsi, %rdi
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - testq %rsi, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - ud2
# CHECK-NEXT: - - - - - - - - - - - - wrmsr
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xaddb %bl, %cl
# CHECK-NEXT: - - - - - - - - - - - - xaddb %bl, (%rcx)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xaddw %bx, %cx