Skip to content

Commit 1df34f1

Browse files
committed
[MCA][X86] Add avx512 test coverage for VPMOV truncation instructions
We only had partial VPMOVWB test coverage
1 parent fe69a20 commit 1df34f1

20 files changed

+3755
-20
lines changed

llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s

Lines changed: 241 additions & 1 deletion
Large diffs are not rendered by default.

llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,16 +373,19 @@ vpmovswb %zmm16, %ymm19
373373
vpmovswb %zmm16, (%rax)
374374
vpmovswb %zmm16, %ymm19 {k1}
375375
vpmovswb %zmm16, (%rax) {k1}
376+
vpmovswb %zmm16, %ymm19 {z}{k1}
376377

377378
vpmovuswb %zmm16, %ymm19
378379
vpmovuswb %zmm16, (%rax)
379380
vpmovuswb %zmm16, %ymm19 {k1}
380381
vpmovuswb %zmm16, (%rax) {k1}
382+
vpmovuswb %zmm16, %ymm19 {z}{k1}
381383

382384
vpmovwb %zmm16, %ymm19
383385
vpmovwb %zmm16, (%rax)
384386
vpmovwb %zmm16, %ymm19 {k1}
385387
vpmovwb %zmm16, (%rax) {k1}
388+
vpmovwb %zmm16, %ymm19 {z}{k1}
386389

387390
vpmovzxbw %ymm16, %zmm19
388391
vpmovzxbw (%rax), %zmm19
@@ -919,14 +922,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
919922
# CHECK-NEXT: 2 8 1.00 * vpmovswb %zmm16, (%rax)
920923
# CHECK-NEXT: 1 1 1.00 vpmovswb %zmm16, %ymm19 {%k1}
921924
# CHECK-NEXT: 2 8 1.00 * vpmovswb %zmm16, (%rax) {%k1}
925+
# CHECK-NEXT: 1 1 1.00 vpmovswb %zmm16, %ymm19 {%k1} {z}
922926
# CHECK-NEXT: 1 1 1.00 vpmovuswb %zmm16, %ymm19
923927
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %zmm16, (%rax)
924928
# CHECK-NEXT: 1 1 1.00 vpmovuswb %zmm16, %ymm19 {%k1}
925929
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %zmm16, (%rax) {%k1}
930+
# CHECK-NEXT: 1 1 1.00 vpmovuswb %zmm16, %ymm19 {%k1} {z}
926931
# CHECK-NEXT: 1 1 1.00 vpmovwb %zmm16, %ymm19
927932
# CHECK-NEXT: 2 8 1.00 * vpmovwb %zmm16, (%rax)
928933
# CHECK-NEXT: 1 1 1.00 vpmovwb %zmm16, %ymm19 {%k1}
929934
# CHECK-NEXT: 2 8 1.00 * vpmovwb %zmm16, (%rax) {%k1}
935+
# CHECK-NEXT: 1 1 1.00 vpmovwb %zmm16, %ymm19 {%k1} {z}
930936
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %ymm16, %zmm19
931937
# CHECK-NEXT: 2 8 1.00 * vpmovzxbw (%rax), %zmm19
932938
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %ymm16, %zmm19 {%k1}
@@ -1124,7 +1130,7 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
11241130

11251131
# CHECK: Resource pressure per iteration:
11261132
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
1127-
# CHECK-NEXT: - - 118.00 130.00 8.00 272.00 117.00 117.00
1133+
# CHECK-NEXT: - - 118.00 130.00 8.00 275.00 117.00 117.00
11281134

11291135
# CHECK: Resource pressure by instruction:
11301136
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1436,14 +1442,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
14361442
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %zmm16, (%rax)
14371443
# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %zmm16, %ymm19 {%k1}
14381444
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %zmm16, (%rax) {%k1}
1445+
# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %zmm16, %ymm19 {%k1} {z}
14391446
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %zmm16, %ymm19
14401447
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %zmm16, (%rax)
14411448
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %zmm16, %ymm19 {%k1}
14421449
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %zmm16, (%rax) {%k1}
1450+
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %zmm16, %ymm19 {%k1} {z}
14431451
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %zmm16, %ymm19
14441452
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %zmm16, (%rax)
14451453
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %zmm16, %ymm19 {%k1}
14461454
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %zmm16, (%rax) {%k1}
1455+
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %zmm16, %ymm19 {%k1} {z}
14471456
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbw %ymm16, %zmm19
14481457
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbw (%rax), %zmm19
14491458
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbw %ymm16, %zmm19 {%k1}

llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -621,31 +621,37 @@ vpmovswb %xmm16, %xmm19
621621
vpmovswb %xmm16, (%rax)
622622
vpmovswb %xmm16, %xmm19 {k1}
623623
vpmovswb %xmm16, (%rax) {k1}
624+
vpmovswb %xmm16, %xmm19 {z}{k1}
624625

625626
vpmovswb %ymm16, %xmm19
626627
vpmovswb %ymm16, (%rax)
627628
vpmovswb %ymm16, %xmm19 {k1}
628629
vpmovswb %ymm16, (%rax) {k1}
630+
vpmovswb %ymm16, %xmm19 {z}{k1}
629631

630632
vpmovuswb %xmm16, %xmm19
631633
vpmovuswb %xmm16, (%rax)
632634
vpmovuswb %xmm16, %xmm19 {k1}
633635
vpmovuswb %xmm16, (%rax) {k1}
636+
vpmovuswb %xmm16, %xmm19 {z}{k1}
634637

635638
vpmovuswb %ymm16, %xmm19
636639
vpmovuswb %ymm16, (%rax)
637640
vpmovuswb %ymm16, %xmm19 {k1}
638641
vpmovuswb %ymm16, (%rax) {k1}
642+
vpmovuswb %ymm16, %xmm19 {z}{k1}
639643

640644
vpmovwb %xmm16, %xmm19
641645
vpmovwb %xmm16, (%rax)
642646
vpmovwb %xmm16, %xmm19 {k1}
643647
vpmovwb %xmm16, (%rax) {k1}
648+
vpmovwb %xmm16, %xmm19 {z}{k1}
644649

645650
vpmovwb %ymm16, %xmm19
646651
vpmovwb %ymm16, (%rax)
647652
vpmovwb %ymm16, %xmm19 {k1}
648653
vpmovwb %ymm16, (%rax) {k1}
654+
vpmovwb %ymm16, %xmm19 {z}{k1}
649655

650656
vpmovzxbw %xmm16, %xmm19
651657
vpmovzxbw (%rax), %xmm19
@@ -1620,26 +1626,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
16201626
# CHECK-NEXT: 2 8 1.00 * vpmovswb %xmm16, (%rax)
16211627
# CHECK-NEXT: 1 1 1.00 vpmovswb %xmm16, %xmm19 {%k1}
16221628
# CHECK-NEXT: 2 8 1.00 * vpmovswb %xmm16, (%rax) {%k1}
1629+
# CHECK-NEXT: 1 1 1.00 vpmovswb %xmm16, %xmm19 {%k1} {z}
16231630
# CHECK-NEXT: 1 1 1.00 vpmovswb %ymm16, %xmm19
16241631
# CHECK-NEXT: 2 8 1.00 * vpmovswb %ymm16, (%rax)
16251632
# CHECK-NEXT: 1 1 1.00 vpmovswb %ymm16, %xmm19 {%k1}
16261633
# CHECK-NEXT: 2 8 1.00 * vpmovswb %ymm16, (%rax) {%k1}
1634+
# CHECK-NEXT: 1 1 1.00 vpmovswb %ymm16, %xmm19 {%k1} {z}
16271635
# CHECK-NEXT: 1 1 1.00 vpmovuswb %xmm16, %xmm19
16281636
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %xmm16, (%rax)
16291637
# CHECK-NEXT: 1 1 1.00 vpmovuswb %xmm16, %xmm19 {%k1}
16301638
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %xmm16, (%rax) {%k1}
1639+
# CHECK-NEXT: 1 1 1.00 vpmovuswb %xmm16, %xmm19 {%k1} {z}
16311640
# CHECK-NEXT: 1 1 1.00 vpmovuswb %ymm16, %xmm19
16321641
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %ymm16, (%rax)
16331642
# CHECK-NEXT: 1 1 1.00 vpmovuswb %ymm16, %xmm19 {%k1}
16341643
# CHECK-NEXT: 2 8 1.00 * vpmovuswb %ymm16, (%rax) {%k1}
1644+
# CHECK-NEXT: 1 1 1.00 vpmovuswb %ymm16, %xmm19 {%k1} {z}
16351645
# CHECK-NEXT: 1 1 1.00 vpmovwb %xmm16, %xmm19
16361646
# CHECK-NEXT: 2 8 1.00 * vpmovwb %xmm16, (%rax)
16371647
# CHECK-NEXT: 1 1 1.00 vpmovwb %xmm16, %xmm19 {%k1}
16381648
# CHECK-NEXT: 2 8 1.00 * vpmovwb %xmm16, (%rax) {%k1}
1649+
# CHECK-NEXT: 1 1 1.00 vpmovwb %xmm16, %xmm19 {%k1} {z}
16391650
# CHECK-NEXT: 1 1 1.00 vpmovwb %ymm16, %xmm19
16401651
# CHECK-NEXT: 2 8 1.00 * vpmovwb %ymm16, (%rax)
16411652
# CHECK-NEXT: 1 1 1.00 vpmovwb %ymm16, %xmm19 {%k1}
16421653
# CHECK-NEXT: 2 8 1.00 * vpmovwb %ymm16, (%rax) {%k1}
1654+
# CHECK-NEXT: 1 1 1.00 vpmovwb %ymm16, %xmm19 {%k1} {z}
16431655
# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm16, %xmm19
16441656
# CHECK-NEXT: 2 7 0.50 * vpmovzxbw (%rax), %xmm19
16451657
# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm16, %xmm19 {%k1}
@@ -2021,7 +2033,7 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
20212033

20222034
# CHECK: Resource pressure per iteration:
20232035
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
2024-
# CHECK-NEXT: - - 214.67 282.67 8.00 458.67 226.00 226.00
2036+
# CHECK-NEXT: - - 214.67 282.67 8.00 464.67 226.00 226.00
20252037

20262038
# CHECK: Resource pressure by instruction:
20272039
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -2553,26 +2565,32 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
25532565
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %xmm16, (%rax)
25542566
# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %xmm16, %xmm19 {%k1}
25552567
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %xmm16, (%rax) {%k1}
2568+
# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %xmm16, %xmm19 {%k1} {z}
25562569
# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %ymm16, %xmm19
25572570
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %ymm16, (%rax)
25582571
# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %ymm16, %xmm19 {%k1}
25592572
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovswb %ymm16, (%rax) {%k1}
2573+
# CHECK-NEXT: - - - - - 1.00 - - vpmovswb %ymm16, %xmm19 {%k1} {z}
25602574
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %xmm16, %xmm19
25612575
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %xmm16, (%rax)
25622576
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %xmm16, %xmm19 {%k1}
25632577
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %xmm16, (%rax) {%k1}
2578+
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %xmm16, %xmm19 {%k1} {z}
25642579
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %ymm16, %xmm19
25652580
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %ymm16, (%rax)
25662581
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %ymm16, %xmm19 {%k1}
25672582
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovuswb %ymm16, (%rax) {%k1}
2583+
# CHECK-NEXT: - - - - - 1.00 - - vpmovuswb %ymm16, %xmm19 {%k1} {z}
25682584
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %xmm16, %xmm19
25692585
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %xmm16, (%rax)
25702586
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %xmm16, %xmm19 {%k1}
25712587
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %xmm16, (%rax) {%k1}
2588+
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %xmm16, %xmm19 {%k1} {z}
25722589
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %ymm16, %xmm19
25732590
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %ymm16, (%rax)
25742591
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %ymm16, %xmm19 {%k1}
25752592
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovwb %ymm16, (%rax) {%k1}
2593+
# CHECK-NEXT: - - - - - 1.00 - - vpmovwb %ymm16, %xmm19 {%k1} {z}
25762594
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbw %xmm16, %xmm19
25772595
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbw (%rax), %xmm19
25782596
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbw %xmm16, %xmm19 {%k1}

0 commit comments

Comments
 (0)