Skip to content

Commit cfe8eb8

Browse files
RKSimontru
authored andcommitted
[MCA][X86] Add missing 512-bit vpscatterqd/vscatterqps schedule data (REAPPLIED)
This doesn't match uops.info yet - but it matches the existing vpscatterdq/vscatterqpd entries like uops.info says it should Reapplied with codegen fix for scatter-schedule.ll Fixes #105675 (cherry picked from commit cf6cd1f)
1 parent 3ff9d92 commit cfe8eb8

13 files changed

+441
-12
lines changed

llvm/lib/Target/X86/X86SchedIceLake.td

+2
Original file line numberDiff line numberDiff line change
@@ -1510,8 +1510,10 @@ def ICXWriteResGroup113 : SchedWriteRes<[ICXPort0,ICXPort49,ICXPort78,ICXPort015
15101510
let ReleaseAtCycles = [1,8,8,2];
15111511
}
15121512
def: InstRW<[ICXWriteResGroup113], (instrs VPSCATTERDQZmr,
1513+
VPSCATTERQDZmr,
15131514
VPSCATTERQQZmr,
15141515
VSCATTERDPDZmr,
1516+
VSCATTERQPSZmr,
15151517
VSCATTERQPDZmr)>;
15161518

15171519
def ICXWriteResGroup114 : SchedWriteRes<[ICXPort0,ICXPort49,ICXPort5,ICXPort78,ICXPort0156]> {

llvm/lib/Target/X86/X86SchedSkylakeServer.td

+2
Original file line numberDiff line numberDiff line change
@@ -1499,8 +1499,10 @@ def SKXWriteResGroup113 : SchedWriteRes<[SKXPort0,SKXPort4,SKXPort237,SKXPort015
14991499
let ReleaseAtCycles = [1,8,8,2];
15001500
}
15011501
def: InstRW<[SKXWriteResGroup113], (instrs VPSCATTERDQZmr,
1502+
VPSCATTERQDZmr,
15021503
VPSCATTERQQZmr,
15031504
VSCATTERDPDZmr,
1505+
VSCATTERQPSZmr,
15041506
VSCATTERQPDZmr)>;
15051507

15061508
def SKXWriteResGroup114 : SchedWriteRes<[SKXPort0,SKXPort4,SKXPort5,SKXPort237,SKXPort0156]> {

llvm/test/CodeGen/X86/scatter-schedule.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ define void @test(i64 %x272, <16 x ptr> %x335, <16 x i32> %x270) {
1010
; CHECK-LABEL: test:
1111
; CHECK: # %bb.0:
1212
; CHECK-NEXT: kxnorw %k0, %k0, %k1
13-
; CHECK-NEXT: kxnorw %k0, %k0, %k2
14-
; CHECK-NEXT: vpscatterqd %ymm2, (,%zmm0) {%k2}
13+
; CHECK-NEXT: vpscatterqd %ymm2, (,%zmm0) {%k1}
14+
; CHECK-NEXT: kxnorw %k0, %k0, %k1
1515
; CHECK-NEXT: vextracti64x4 $1, %zmm2, %ymm0
1616
; CHECK-NEXT: vpscatterqd %ymm0, (,%zmm1) {%k1}
1717
; CHECK-NEXT: vzeroupper

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

+34-1
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,9 @@ vdivps %zmm16, %zmm17, %zmm19 {z}{k1}
298298
vdivps (%rax), %zmm17, %zmm19 {z}{k1}
299299
vdivps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
300300

301+
{evex} vextractps $1, %xmm0, %rcx
302+
{evex} vextractps $1, %xmm0, (%rax)
303+
301304
vfmadd132pd %zmm16, %zmm17, %zmm19
302305
vfmadd132pd (%rax), %zmm17, %zmm19
303306
vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
@@ -811,6 +814,11 @@ vpermq %zmm16, %zmm17, %zmm19 {z}{k1}
811814
vpermq (%rax), %zmm17, %zmm19 {z}{k1}
812815
vpermq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
813816

817+
vpscatterdd %zmm1, (%rdx,%zmm0,4) {%k1}
818+
vpscatterdq %zmm1, (%rdx,%ymm0,4) {%k1}
819+
vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
820+
vpscatterqq %zmm1, (%rdx,%zmm0,4) {%k1}
821+
814822
vpshufd $0, %zmm16, %zmm19
815823
vpshufd $0, (%rax), %zmm19
816824
vpshufd $0, (%rax){1to16}, %zmm19
@@ -881,6 +889,11 @@ vpunpcklqdq %zmm16, %zmm17, %zmm19 {z}{k1}
881889
vpunpcklqdq (%rax), %zmm17, %zmm19 {z}{k1}
882890
vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
883891

892+
vscatterdps %zmm1, (%rdx,%zmm0,4) {%k1}
893+
vscatterdpd %zmm1, (%rdx,%ymm0,4) {%k1}
894+
vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
895+
vscatterqpd %zmm1, (%rdx,%zmm0,4) {%k1}
896+
884897
vshuff32x4 $0, %zmm16, %zmm17, %zmm19
885898
vshuff32x4 $0, (%rax), %zmm17, %zmm19
886899
vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
@@ -1334,6 +1347,8 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
13341347
# CHECK-NEXT: 3 29 28.00 vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
13351348
# CHECK-NEXT: 4 36 28.00 * vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
13361349
# CHECK-NEXT: 4 36 28.00 * vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
1350+
# CHECK-NEXT: 2 3 1.00 {evex} vextractps $1, %xmm0, %ecx
1351+
# CHECK-NEXT: 3 5 1.00 * {evex} vextractps $1, %xmm0, (%rax)
13371352
# CHECK-NEXT: 1 5 0.50 vfmadd132pd %zmm16, %zmm17, %zmm19
13381353
# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %zmm17, %zmm19
13391354
# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
@@ -1787,6 +1802,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
17871802
# CHECK-NEXT: 1 1 1.00 vpermq %zmm16, %zmm17, %zmm19 {%k1} {z}
17881803
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax), %zmm17, %zmm19 {%k1} {z}
17891804
# CHECK-NEXT: 2 8 1.00 * vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
1805+
# CHECK-NEXT: 1 1 1.00 * vpscatterdd %zmm1, (%rdx,%zmm0,4) {%k1}
1806+
# CHECK-NEXT: 1 1 1.00 * vpscatterdq %zmm1, (%rdx,%ymm0,4) {%k1}
1807+
# CHECK-NEXT: 1 1 1.00 * vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
1808+
# CHECK-NEXT: 1 1 1.00 * vpscatterqq %zmm1, (%rdx,%zmm0,4) {%k1}
17901809
# CHECK-NEXT: 1 1 1.00 vpshufd $0, %zmm16, %zmm19
17911810
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax), %zmm19
17921811
# CHECK-NEXT: 2 8 1.00 * vpshufd $0, (%rax){1to16}, %zmm19
@@ -1850,6 +1869,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
18501869
# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
18511870
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1} {z}
18521871
# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
1872+
# CHECK-NEXT: 1 1 1.00 * vscatterdps %zmm1, (%rdx,%zmm0,4) {%k1}
1873+
# CHECK-NEXT: 1 1 1.00 * vscatterdpd %zmm1, (%rdx,%ymm0,4) {%k1}
1874+
# CHECK-NEXT: 1 1 1.00 * vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
1875+
# CHECK-NEXT: 1 1 1.00 * vscatterqpd %zmm1, (%rdx,%zmm0,4) {%k1}
18531876
# CHECK-NEXT: 1 1 1.00 vshuff32x4 $0, %zmm16, %zmm17, %zmm19
18541877
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax), %zmm17, %zmm19
18551878
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19
@@ -2027,7 +2050,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
20272050

20282051
# CHECK: Resource pressure per iteration:
20292052
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
2030-
# CHECK-NEXT: - 1506.00 197.00 334.00 16.00 522.00 299.50 299.50
2053+
# CHECK-NEXT: - 1506.00 198.00 335.00 25.00 523.00 304.00 304.00
20312054

20322055
# CHECK: Resource pressure by instruction:
20332056
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -2290,6 +2313,8 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
22902313
# CHECK-NEXT: - 28.00 2.50 - - 0.50 - - vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
22912314
# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
22922315
# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
2316+
# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - {evex} vextractps $1, %xmm0, %ecx
2317+
# CHECK-NEXT: - - - 0.50 1.00 0.50 0.50 0.50 {evex} vextractps $1, %xmm0, (%rax)
22932318
# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132pd %zmm16, %zmm17, %zmm19
22942319
# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax), %zmm17, %zmm19
22952320
# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
@@ -2743,6 +2768,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
27432768
# CHECK-NEXT: - - - - - 1.00 - - vpermq %zmm16, %zmm17, %zmm19 {%k1} {z}
27442769
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax), %zmm17, %zmm19 {%k1} {z}
27452770
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
2771+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterdd %zmm1, (%rdx,%zmm0,4) {%k1}
2772+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterdq %zmm1, (%rdx,%ymm0,4) {%k1}
2773+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterqd %ymm1, (%rdx,%zmm0,4) {%k1}
2774+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterqq %zmm1, (%rdx,%zmm0,4) {%k1}
27462775
# CHECK-NEXT: - - - - - 1.00 - - vpshufd $0, %zmm16, %zmm19
27472776
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax), %zmm19
27482777
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $0, (%rax){1to16}, %zmm19
@@ -2806,6 +2835,10 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
28062835
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklqdq %zmm16, %zmm17, %zmm19 {%k1} {z}
28072836
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklqdq (%rax), %zmm17, %zmm19 {%k1} {z}
28082837
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklqdq (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
2838+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterdps %zmm1, (%rdx,%zmm0,4) {%k1}
2839+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterdpd %zmm1, (%rdx,%ymm0,4) {%k1}
2840+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterqps %ymm1, (%rdx,%zmm0,4) {%k1}
2841+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterqpd %zmm1, (%rdx,%zmm0,4) {%k1}
28092842
# CHECK-NEXT: - - - - - 1.00 - - vshuff32x4 $0, %zmm16, %zmm17, %zmm19
28102843
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax), %zmm17, %zmm19
28112844
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax){1to16}, %zmm17, %zmm19

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

+53-1
Original file line numberDiff line numberDiff line change
@@ -1344,6 +1344,16 @@ vpmulld %ymm16, %ymm17, %ymm19 {z}{k1}
13441344
vpmulld (%rax), %ymm17, %ymm19 {z}{k1}
13451345
vpmulld (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
13461346

1347+
vpscatterdd %xmm1, (%rdx,%xmm0,4) {%k1}
1348+
vpscatterdq %xmm1, (%rdx,%xmm0,4) {%k1}
1349+
vpscatterqd %xmm1, (%rdx,%xmm0,4) {%k1}
1350+
vpscatterqq %xmm1, (%rdx,%xmm0,4) {%k1}
1351+
1352+
vpscatterdd %ymm1, (%rdx,%ymm0,4) {%k1}
1353+
vpscatterdq %ymm1, (%rdx,%xmm0,4) {%k1}
1354+
vpscatterqd %xmm1, (%rdx,%ymm0,4) {%k1}
1355+
vpscatterqq %ymm1, (%rdx,%ymm0,4) {%k1}
1356+
13471357
vpshufd $0, %xmm16, %xmm19
13481358
vpshufd $0, (%rax), %xmm19
13491359
vpshufd $0, (%rax){1to4}, %xmm19
@@ -1500,6 +1510,16 @@ vpunpckldq %ymm16, %ymm17, %ymm19 {z}{k1}
15001510
vpunpckldq (%rax), %ymm17, %ymm19 {z}{k1}
15011511
vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
15021512

1513+
vscatterdps %xmm1, (%rdx,%xmm0,4) {%k1}
1514+
vscatterdpd %xmm1, (%rdx,%xmm0,4) {%k1}
1515+
vscatterqps %xmm1, (%rdx,%xmm0,4) {%k1}
1516+
vscatterqpd %xmm1, (%rdx,%xmm0,4) {%k1}
1517+
1518+
vscatterdps %ymm1, (%rdx,%ymm0,4) {%k1}
1519+
vscatterdpd %ymm1, (%rdx,%xmm0,4) {%k1}
1520+
vscatterqps %xmm1, (%rdx,%ymm0,4) {%k1}
1521+
vscatterqpd %ymm1, (%rdx,%ymm0,4) {%k1}
1522+
15031523
vshuff32x4 $0, %ymm16, %ymm17, %ymm19
15041524
vshuff32x4 $0, (%rax), %ymm17, %ymm19
15051525
vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
@@ -2897,6 +2917,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
28972917
# CHECK-NEXT: 1 5 1.00 vpmulld %ymm16, %ymm17, %ymm19 {%k1} {z}
28982918
# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax), %ymm17, %ymm19 {%k1} {z}
28992919
# CHECK-NEXT: 2 12 1.00 * vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
2920+
# CHECK-NEXT: 1 1 1.00 * vpscatterdd %xmm1, (%rdx,%xmm0,4) {%k1}
2921+
# CHECK-NEXT: 1 1 1.00 * vpscatterdq %xmm1, (%rdx,%xmm0,4) {%k1}
2922+
# CHECK-NEXT: 1 1 1.00 * vpscatterqd %xmm1, (%rdx,%xmm0,4) {%k1}
2923+
# CHECK-NEXT: 1 1 1.00 * vpscatterqq %xmm1, (%rdx,%xmm0,4) {%k1}
2924+
# CHECK-NEXT: 1 1 1.00 * vpscatterdd %ymm1, (%rdx,%ymm0,4) {%k1}
2925+
# CHECK-NEXT: 1 1 1.00 * vpscatterdq %ymm1, (%rdx,%xmm0,4) {%k1}
2926+
# CHECK-NEXT: 1 1 1.00 * vpscatterqd %xmm1, (%rdx,%ymm0,4) {%k1}
2927+
# CHECK-NEXT: 1 1 1.00 * vpscatterqq %ymm1, (%rdx,%ymm0,4) {%k1}
29002928
# CHECK-NEXT: 1 1 0.50 vpshufd $0, %xmm16, %xmm19
29012929
# CHECK-NEXT: 2 7 0.50 * vpshufd $0, (%rax), %xmm19
29022930
# CHECK-NEXT: 2 7 0.50 * vpshufd $0, (%rax){1to4}, %xmm19
@@ -3035,6 +3063,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
30353063
# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm16, %ymm17, %ymm19 {%k1} {z}
30363064
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm17, %ymm19 {%k1} {z}
30373065
# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
3066+
# CHECK-NEXT: 1 1 1.00 * vscatterdps %xmm1, (%rdx,%xmm0,4) {%k1}
3067+
# CHECK-NEXT: 1 1 1.00 * vscatterdpd %xmm1, (%rdx,%xmm0,4) {%k1}
3068+
# CHECK-NEXT: 1 1 1.00 * vscatterqps %xmm1, (%rdx,%xmm0,4) {%k1}
3069+
# CHECK-NEXT: 1 1 1.00 * vscatterqpd %xmm1, (%rdx,%xmm0,4) {%k1}
3070+
# CHECK-NEXT: 1 1 1.00 * vscatterdps %ymm1, (%rdx,%ymm0,4) {%k1}
3071+
# CHECK-NEXT: 1 1 1.00 * vscatterdpd %ymm1, (%rdx,%xmm0,4) {%k1}
3072+
# CHECK-NEXT: 1 1 1.00 * vscatterqps %xmm1, (%rdx,%ymm0,4) {%k1}
3073+
# CHECK-NEXT: 1 1 1.00 * vscatterqpd %ymm1, (%rdx,%ymm0,4) {%k1}
30383074
# CHECK-NEXT: 1 1 1.00 vshuff32x4 $0, %ymm16, %ymm17, %ymm19
30393075
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax), %ymm17, %ymm19
30403076
# CHECK-NEXT: 2 8 1.00 * vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19
@@ -3228,7 +3264,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
32283264

32293265
# CHECK: Resource pressure per iteration:
32303266
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
3231-
# CHECK-NEXT: - 1935.00 278.00 579.50 32.00 738.50 486.50 486.50
3267+
# CHECK-NEXT: - 1935.00 278.00 579.50 48.00 738.50 494.50 494.50
32323268

32333269
# CHECK: Resource pressure by instruction:
32343270
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -4420,6 +4456,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
44204456
# CHECK-NEXT: - - 1.00 - - - - - vpmulld %ymm16, %ymm17, %ymm19 {%k1} {z}
44214457
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax), %ymm17, %ymm19 {%k1} {z}
44224458
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpmulld (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
4459+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterdd %xmm1, (%rdx,%xmm0,4) {%k1}
4460+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterdq %xmm1, (%rdx,%xmm0,4) {%k1}
4461+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterqd %xmm1, (%rdx,%xmm0,4) {%k1}
4462+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterqq %xmm1, (%rdx,%xmm0,4) {%k1}
4463+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterdd %ymm1, (%rdx,%ymm0,4) {%k1}
4464+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterdq %ymm1, (%rdx,%xmm0,4) {%k1}
4465+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterqd %xmm1, (%rdx,%ymm0,4) {%k1}
4466+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vpscatterqq %ymm1, (%rdx,%ymm0,4) {%k1}
44234467
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufd $0, %xmm16, %xmm19
44244468
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufd $0, (%rax), %xmm19
44254469
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufd $0, (%rax){1to4}, %xmm19
@@ -4558,6 +4602,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
45584602
# CHECK-NEXT: - - - - - 1.00 - - vpunpckldq %ymm16, %ymm17, %ymm19 {%k1} {z}
45594603
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax), %ymm17, %ymm19 {%k1} {z}
45604604
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
4605+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterdps %xmm1, (%rdx,%xmm0,4) {%k1}
4606+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterdpd %xmm1, (%rdx,%xmm0,4) {%k1}
4607+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterqps %xmm1, (%rdx,%xmm0,4) {%k1}
4608+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterqpd %xmm1, (%rdx,%xmm0,4) {%k1}
4609+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterdps %ymm1, (%rdx,%ymm0,4) {%k1}
4610+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterdpd %ymm1, (%rdx,%xmm0,4) {%k1}
4611+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterqps %xmm1, (%rdx,%ymm0,4) {%k1}
4612+
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 vscatterqpd %ymm1, (%rdx,%ymm0,4) {%k1}
45614613
# CHECK-NEXT: - - - - - 1.00 - - vshuff32x4 $0, %ymm16, %ymm17, %ymm19
45624614
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax), %ymm17, %ymm19
45634615
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vshuff32x4 $0, (%rax){1to8}, %ymm17, %ymm19

0 commit comments

Comments
 (0)