@@ -1344,6 +1344,16 @@ vpmulld           %ymm16, %ymm17, %ymm19 {z}{k1}
13441344vpmulld            (%rax ), %ymm17, %ymm19 {z}{k1}
13451345vpmulld            (%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+ 
13471357vpshufd            $0 , %xmm16, %xmm19
13481358vpshufd            $0 , (%rax ), %xmm19
13491359vpshufd            $0 , (%rax ){1to4}, %xmm19
@@ -1500,6 +1510,16 @@ vpunpckldq        %ymm16, %ymm17, %ymm19 {z}{k1}
15001510vpunpckldq         (%rax ), %ymm17, %ymm19 {z}{k1}
15011511vpunpckldq         (%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+ 
15031523vshuff32x4         $0 , %ymm16, %ymm17, %ymm19
15041524vshuff32x4         $0 , (%rax ), %ymm17, %ymm19
15051525vshuff32x4         $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