Skip to content

Commit 94e9662

Browse files
committed
[X86] skylake only uses Port0 for (v)phminposuw instructions
Now matches skylake-server - and matches reports from uops.info, Agner and instlatx64.
1 parent 8b02f31 commit 94e9662

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

llvm/lib/Target/X86/X86SchedSkylakeClient.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,7 @@ defm : SKLWriteResPair<WritePSADBW, [SKLPort5], 3, [1], 1, 5>; // Vector PSADBW
404404
defm : SKLWriteResPair<WritePSADBWX, [SKLPort5], 3, [1], 1, 6>;
405405
defm : SKLWriteResPair<WritePSADBWY, [SKLPort5], 3, [1], 1, 7>;
406406
defm : X86WriteResPairUnsupported<WritePSADBWZ>;
407-
defm : SKLWriteResPair<WritePHMINPOS, [SKLPort01], 4, [1], 1, 6>; // Vector PHMINPOS.
407+
defm : SKLWriteResPair<WritePHMINPOS, [SKLPort0], 4, [1], 1, 6>; // Vector PHMINPOS.
408408

409409
// Vector integer shifts.
410410
defm : SKLWriteResPair<WriteVecShift, [SKLPort0], 1, [1], 1, 5>;

llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1461,8 +1461,8 @@ vzeroupper
14611461
# CHECK-NEXT: 4 9 2.00 * vphaddsw (%rax), %xmm1, %xmm2
14621462
# CHECK-NEXT: 3 3 2.00 vphaddw %xmm0, %xmm1, %xmm2
14631463
# CHECK-NEXT: 4 9 2.00 * vphaddw (%rax), %xmm1, %xmm2
1464-
# CHECK-NEXT: 1 4 0.50 vphminposuw %xmm0, %xmm2
1465-
# CHECK-NEXT: 2 10 0.50 * vphminposuw (%rax), %xmm2
1464+
# CHECK-NEXT: 1 4 1.00 vphminposuw %xmm0, %xmm2
1465+
# CHECK-NEXT: 2 10 1.00 * vphminposuw (%rax), %xmm2
14661466
# CHECK-NEXT: 3 3 2.00 vphsubd %xmm0, %xmm1, %xmm2
14671467
# CHECK-NEXT: 4 9 2.00 * vphsubd (%rax), %xmm1, %xmm2
14681468
# CHECK-NEXT: 3 3 2.00 vphsubsw %xmm0, %xmm1, %xmm2
@@ -1736,7 +1736,7 @@ vzeroupper
17361736

17371737
# CHECK: Resource pressure per iteration:
17381738
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
1739-
# CHECK-NEXT: - 126.00 339.58 199.58 173.83 173.83 38.00 326.58 6.25 11.33
1739+
# CHECK-NEXT: - 126.00 340.58 198.58 173.83 173.83 38.00 326.58 6.25 11.33
17401740

17411741
# CHECK: Resource pressure by instruction:
17421742
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -2171,8 +2171,8 @@ vzeroupper
21712171
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %xmm1, %xmm2
21722172
# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %xmm0, %xmm1, %xmm2
21732173
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %xmm1, %xmm2
2174-
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vphminposuw %xmm0, %xmm2
2175-
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vphminposuw (%rax), %xmm2
2174+
# CHECK-NEXT: - - 1.00 - - - - - - - vphminposuw %xmm0, %xmm2
2175+
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vphminposuw (%rax), %xmm2
21762176
# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %xmm0, %xmm1, %xmm2
21772177
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %xmm1, %xmm2
21782178
# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %xmm0, %xmm1, %xmm2

llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,8 @@ roundss $1, (%rax), %xmm2
189189
# CHECK-NEXT: 2 3 1.00 pextrq $1, %xmm0, %rcx
190190
# CHECK-NEXT: 3 2 1.00 * pextrq $1, %xmm0, (%rax)
191191
# CHECK-NEXT: 3 2 1.00 * pextrw $1, %xmm0, (%rax)
192-
# CHECK-NEXT: 1 4 0.50 phminposuw %xmm0, %xmm2
193-
# CHECK-NEXT: 2 10 0.50 * phminposuw (%rax), %xmm2
192+
# CHECK-NEXT: 1 4 1.00 phminposuw %xmm0, %xmm2
193+
# CHECK-NEXT: 2 10 1.00 * phminposuw (%rax), %xmm2
194194
# CHECK-NEXT: 2 2 2.00 pinsrb $1, %eax, %xmm1
195195
# CHECK-NEXT: 2 6 1.00 * pinsrb $1, (%rax), %xmm1
196196
# CHECK-NEXT: 2 2 2.00 pinsrd $1, %eax, %xmm1
@@ -266,7 +266,7 @@ roundss $1, (%rax), %xmm2
266266

267267
# CHECK: Resource pressure per iteration:
268268
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
269-
# CHECK-NEXT: - - 37.83 31.33 23.67 23.67 5.00 63.33 0.50 1.67
269+
# CHECK-NEXT: - - 38.83 30.33 23.67 23.67 5.00 63.33 0.50 1.67
270270

271271
# CHECK: Resource pressure by instruction:
272272
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -304,8 +304,8 @@ roundss $1, (%rax), %xmm2
304304
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrq $1, %xmm0, %rcx
305305
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrq $1, %xmm0, (%rax)
306306
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrw $1, %xmm0, (%rax)
307-
# CHECK-NEXT: - - 0.50 0.50 - - - - - - phminposuw %xmm0, %xmm2
308-
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - phminposuw (%rax), %xmm2
307+
# CHECK-NEXT: - - 1.00 - - - - - - - phminposuw %xmm0, %xmm2
308+
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - phminposuw (%rax), %xmm2
309309
# CHECK-NEXT: - - - - - - - 2.00 - - pinsrb $1, %eax, %xmm1
310310
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrb $1, (%rax), %xmm1
311311
# CHECK-NEXT: - - - - - - - 2.00 - - pinsrd $1, %eax, %xmm1

0 commit comments

Comments
 (0)