1
- ; RUN: llc -O3 -disable-peephole -mtriple=x86_64-unknown-unknown -mattr=+avx512f < %s | FileCheck %s
1
+ ; RUN: llc -O3 -disable-peephole -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512dq < %s | FileCheck %s
2
2
3
3
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
4
4
target triple = "x86_64-unknown-unknown"
@@ -84,7 +84,7 @@ define <4 x float> @stack_fold_addss_int(<4 x float> %a0, <4 x float> %a1) {
84
84
85
85
define <8 x double > @stack_fold_andnpd_zmm (<8 x double > %a0 , <8 x double > %a1 ) {
86
86
;CHECK-LABEL: stack_fold_andnpd_zmm
87
- ;CHECK: vpandnq {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
87
+ ;CHECK: vandnpd {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
88
88
%1 = tail call <2 x i64 > asm sideeffect "nop" , "=x,~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{flags}" ()
89
89
%2 = bitcast <8 x double > %a0 to <8 x i64 >
90
90
%3 = bitcast <8 x double > %a1 to <8 x i64 >
@@ -98,7 +98,7 @@ define <8 x double> @stack_fold_andnpd_zmm(<8 x double> %a0, <8 x double> %a1) {
98
98
99
99
define <16 x float > @stack_fold_andnps_zmm (<16 x float > %a0 , <16 x float > %a1 ) {
100
100
;CHECK-LABEL: stack_fold_andnps_zmm
101
- ;CHECK: vpandnq {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
101
+ ;CHECK: vandnps {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
102
102
%1 = tail call <2 x i64 > asm sideeffect "nop" , "=x,~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{flags}" ()
103
103
%2 = bitcast <16 x float > %a0 to <16 x i32 >
104
104
%3 = bitcast <16 x float > %a1 to <16 x i32 >
@@ -112,7 +112,7 @@ define <16 x float> @stack_fold_andnps_zmm(<16 x float> %a0, <16 x float> %a1) {
112
112
113
113
define <8 x double > @stack_fold_andpd_zmm (<8 x double > %a0 , <8 x double > %a1 ) {
114
114
;CHECK-LABEL: stack_fold_andpd_zmm
115
- ;CHECK: vpandq {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
115
+ ;CHECK: vandpd {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
116
116
%1 = tail call <2 x i64 > asm sideeffect "nop" , "=x,~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{flags}" ()
117
117
%2 = bitcast <8 x double > %a0 to <8 x i64 >
118
118
%3 = bitcast <8 x double > %a1 to <8 x i64 >
@@ -125,7 +125,7 @@ define <8 x double> @stack_fold_andpd_zmm(<8 x double> %a0, <8 x double> %a1) {
125
125
126
126
define <16 x float > @stack_fold_andps_zmm (<16 x float > %a0 , <16 x float > %a1 ) {
127
127
;CHECK-LABEL: stack_fold_andps_zmm
128
- ;CHECK: vpandq {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
128
+ ;CHECK: vandps {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
129
129
%1 = tail call <2 x i64 > asm sideeffect "nop" , "=x,~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{flags}" ()
130
130
%2 = bitcast <16 x float > %a0 to <16 x i32 >
131
131
%3 = bitcast <16 x float > %a1 to <16 x i32 >
@@ -332,9 +332,9 @@ define <4 x float> @stack_fold_mulss_int(<4 x float> %a0, <4 x float> %a1) {
332
332
ret <4 x float > %5
333
333
}
334
334
335
- define <8 x double > @stack_fold_orpd_zmm (<8 x double > %a0 , <8 x double > %a1 ) {
335
+ define <8 x double > @stack_fold_orpd_zmm (<8 x double > %a0 , <8 x double > %a1 ) # 0 {
336
336
;CHECK-LABEL: stack_fold_orpd_zmm
337
- ;CHECK: vporq {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
337
+ ;CHECK: vorpd {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
338
338
%1 = tail call <2 x i64 > asm sideeffect "nop" , "=x,~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{flags}" ()
339
339
%2 = bitcast <8 x double > %a0 to <8 x i64 >
340
340
%3 = bitcast <8 x double > %a1 to <8 x i64 >
@@ -345,9 +345,9 @@ define <8 x double> @stack_fold_orpd_zmm(<8 x double> %a0, <8 x double> %a1) {
345
345
ret <8 x double > %6
346
346
}
347
347
348
- define <16 x float > @stack_fold_orps_zmm (<16 x float > %a0 , <16 x float > %a1 ) {
348
+ define <16 x float > @stack_fold_orps_zmm (<16 x float > %a0 , <16 x float > %a1 ) # 0 {
349
349
;CHECK-LABEL: stack_fold_orps_zmm
350
- ;CHECK: vporq {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
350
+ ;CHECK: vorps {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
351
351
%1 = tail call <2 x i64 > asm sideeffect "nop" , "=x,~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{flags}" ()
352
352
%2 = bitcast <16 x float > %a0 to <16 x i32 >
353
353
%3 = bitcast <16 x float > %a1 to <16 x i32 >
@@ -412,9 +412,9 @@ define <4 x float> @stack_fold_subss_int(<4 x float> %a0, <4 x float> %a1) {
412
412
ret <4 x float > %5
413
413
}
414
414
415
- define <8 x double > @stack_fold_xorpd_zmm (<8 x double > %a0 , <8 x double > %a1 ) {
415
+ define <8 x double > @stack_fold_xorpd_zmm (<8 x double > %a0 , <8 x double > %a1 ) # 0 {
416
416
;CHECK-LABEL: stack_fold_xorpd_zmm
417
- ;CHECK: vpxorq {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
417
+ ;CHECK: vxorpd {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
418
418
%1 = tail call <2 x i64 > asm sideeffect "nop" , "=x,~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{flags}" ()
419
419
%2 = bitcast <8 x double > %a0 to <8 x i64 >
420
420
%3 = bitcast <8 x double > %a1 to <8 x i64 >
@@ -425,9 +425,9 @@ define <8 x double> @stack_fold_xorpd_zmm(<8 x double> %a0, <8 x double> %a1) {
425
425
ret <8 x double > %6
426
426
}
427
427
428
- define <16 x float > @stack_fold_xorps_zmm (<16 x float > %a0 , <16 x float > %a1 ) {
428
+ define <16 x float > @stack_fold_xorps_zmm (<16 x float > %a0 , <16 x float > %a1 ) # 0 {
429
429
;CHECK-LABEL: stack_fold_xorps_zmm
430
- ;CHECK: vpxorq {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
430
+ ;CHECK: vxorps {{-?[0-9]*}}(%rsp), {{%zmm[0-9][0-9]*}}, {{%zmm[0-9][0-9]*}} {{.*#+}} 64-byte Folded Reload
431
431
%1 = tail call <2 x i64 > asm sideeffect "nop" , "=x,~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{xmm16},~{xmm17},~{xmm18},~{xmm19},~{xmm20},~{xmm21},~{xmm22},~{xmm23},~{xmm24},~{xmm25},~{xmm26},~{xmm27},~{xmm28},~{xmm29},~{xmm30},~{xmm31},~{flags}" ()
432
432
%2 = bitcast <16 x float > %a0 to <16 x i32 >
433
433
%3 = bitcast <16 x float > %a1 to <16 x i32 >
0 commit comments