@@ -279,9 +279,8 @@ define <4 x float> @fmul_v4f32(<4 x i1> %b, <4 x float> noundef %x, <4 x float>
279
279
; AVX512VL: # %bb.0:
280
280
; AVX512VL-NEXT: vpslld $31, %xmm0, %xmm0
281
281
; AVX512VL-NEXT: vptestmd %xmm0, %xmm0, %k1
282
- ; AVX512VL-NEXT: vbroadcastss {{.*#+}} xmm0 = [1.0E+0,1.0E+0,1.0E+0,1.0E+0]
283
- ; AVX512VL-NEXT: vmovaps %xmm2, %xmm0 {%k1}
284
- ; AVX512VL-NEXT: vmulps %xmm0, %xmm1, %xmm0
282
+ ; AVX512VL-NEXT: vmulps %xmm2, %xmm1, %xmm1 {%k1}
283
+ ; AVX512VL-NEXT: vmovaps %xmm1, %xmm0
285
284
; AVX512VL-NEXT: retq
286
285
%s = select <4 x i1 > %b , <4 x float > %y , <4 x float > <float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 >
287
286
%r = fmul <4 x float > %x , %s
@@ -314,9 +313,8 @@ define <8 x float> @fmul_v8f32_commute(<8 x i1> %b, <8 x float> noundef %x, <8 x
314
313
; AVX512VL-NEXT: vpmovsxwd %xmm0, %ymm0
315
314
; AVX512VL-NEXT: vpslld $31, %ymm0, %ymm0
316
315
; AVX512VL-NEXT: vptestmd %ymm0, %ymm0, %k1
317
- ; AVX512VL-NEXT: vbroadcastss {{.*#+}} ymm0 = [1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0]
318
- ; AVX512VL-NEXT: vmovaps %ymm2, %ymm0 {%k1}
319
- ; AVX512VL-NEXT: vmulps %ymm1, %ymm0, %ymm0
316
+ ; AVX512VL-NEXT: vmulps %ymm2, %ymm1, %ymm1 {%k1}
317
+ ; AVX512VL-NEXT: vmovaps %ymm1, %ymm0
320
318
; AVX512VL-NEXT: retq
321
319
%s = select <8 x i1 > %b , <8 x float > %y , <8 x float > <float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 >
322
320
%r = fmul <8 x float > %s , %x
@@ -344,8 +342,8 @@ define <16 x float> @fmul_v16f32_swap(<16 x i1> %b, <16 x float> noundef %x, <16
344
342
; AVX512-NEXT: vpmovsxbd %xmm0, %zmm0
345
343
; AVX512-NEXT: vpslld $31, %zmm0, %zmm0
346
344
; AVX512-NEXT: vptestmd %zmm0, %zmm0, %k1
347
- ; AVX512-NEXT: vbroadcastss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %zmm2 {%k1}
348
345
; AVX512-NEXT: vmulps %zmm2, %zmm1, %zmm0
346
+ ; AVX512-NEXT: vmovaps %zmm1, %zmm0 {%k1}
349
347
; AVX512-NEXT: retq
350
348
%s = select <16 x i1 > %b , <16 x float > <float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 >, <16 x float > %y
351
349
%r = fmul <16 x float > %x , %s
@@ -373,8 +371,8 @@ define <16 x float> @fmul_v16f32_commute_swap(<16 x i1> %b, <16 x float> noundef
373
371
; AVX512-NEXT: vpmovsxbd %xmm0, %zmm0
374
372
; AVX512-NEXT: vpslld $31, %zmm0, %zmm0
375
373
; AVX512-NEXT: vptestmd %zmm0, %zmm0, %k1
376
- ; AVX512-NEXT: vbroadcastss {{\.?LCPI[0-9]+_[0-9]+}}(%rip) , %zmm2 {%k1}
377
- ; AVX512-NEXT: vmulps %zmm1, %zmm2, %zmm0
374
+ ; AVX512-NEXT: vmulps %zmm2 , %zmm1, %zmm0
375
+ ; AVX512-NEXT: vmovaps %zmm1, %zmm0 {%k1}
378
376
; AVX512-NEXT: retq
379
377
%s = select <16 x i1 > %b , <16 x float > <float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 >, <16 x float > %y
380
378
%r = fmul <16 x float > %s , %x
@@ -405,9 +403,8 @@ define <4 x float> @fdiv_v4f32(<4 x i1> %b, <4 x float> noundef %x, <4 x float>
405
403
; AVX512VL: # %bb.0:
406
404
; AVX512VL-NEXT: vpslld $31, %xmm0, %xmm0
407
405
; AVX512VL-NEXT: vptestmd %xmm0, %xmm0, %k1
408
- ; AVX512VL-NEXT: vbroadcastss {{.*#+}} xmm0 = [1.0E+0,1.0E+0,1.0E+0,1.0E+0]
409
- ; AVX512VL-NEXT: vmovaps %xmm2, %xmm0 {%k1}
410
- ; AVX512VL-NEXT: vdivps %xmm0, %xmm1, %xmm0
406
+ ; AVX512VL-NEXT: vdivps %xmm2, %xmm1, %xmm1 {%k1}
407
+ ; AVX512VL-NEXT: vmovaps %xmm1, %xmm0
411
408
; AVX512VL-NEXT: retq
412
409
%s = select <4 x i1 > %b , <4 x float > %y , <4 x float > <float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 >
413
410
%r = fdiv <4 x float > %x , %s
@@ -470,8 +467,8 @@ define <16 x float> @fdiv_v16f32_swap(<16 x i1> %b, <16 x float> noundef %x, <16
470
467
; AVX512-NEXT: vpmovsxbd %xmm0, %zmm0
471
468
; AVX512-NEXT: vpslld $31, %zmm0, %zmm0
472
469
; AVX512-NEXT: vptestmd %zmm0, %zmm0, %k1
473
- ; AVX512-NEXT: vbroadcastss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %zmm2 {%k1}
474
470
; AVX512-NEXT: vdivps %zmm2, %zmm1, %zmm0
471
+ ; AVX512-NEXT: vmovaps %zmm1, %zmm0 {%k1}
475
472
; AVX512-NEXT: retq
476
473
%s = select <16 x i1 > %b , <16 x float > <float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 >, <16 x float > %y
477
474
%r = fdiv <16 x float > %x , %s
@@ -845,9 +842,7 @@ define <8 x float> @fmul_v8f32_cast_cond(i8 noundef zeroext %pb, <8 x float> nou
845
842
; AVX512VL-LABEL: fmul_v8f32_cast_cond:
846
843
; AVX512VL: # %bb.0:
847
844
; AVX512VL-NEXT: kmovw %edi, %k1
848
- ; AVX512VL-NEXT: vbroadcastss {{.*#+}} ymm2 = [1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0]
849
- ; AVX512VL-NEXT: vmovaps %ymm1, %ymm2 {%k1}
850
- ; AVX512VL-NEXT: vmulps %ymm2, %ymm0, %ymm0
845
+ ; AVX512VL-NEXT: vmulps %ymm1, %ymm0, %ymm0 {%k1}
851
846
; AVX512VL-NEXT: retq
852
847
%b = bitcast i8 %pb to <8 x i1 >
853
848
%s = select <8 x i1 > %b , <8 x float > %y , <8 x float > <float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 >
@@ -911,9 +906,7 @@ define <8 x double> @fmul_v8f64_cast_cond(i8 noundef zeroext %pb, <8 x double> n
911
906
; AVX512-LABEL: fmul_v8f64_cast_cond:
912
907
; AVX512: # %bb.0:
913
908
; AVX512-NEXT: kmovw %edi, %k1
914
- ; AVX512-NEXT: vbroadcastsd {{.*#+}} zmm2 = [1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0]
915
- ; AVX512-NEXT: vmovapd %zmm1, %zmm2 {%k1}
916
- ; AVX512-NEXT: vmulpd %zmm2, %zmm0, %zmm0
909
+ ; AVX512-NEXT: vmulpd %zmm1, %zmm0, %zmm0 {%k1}
917
910
; AVX512-NEXT: retq
918
911
%b = bitcast i8 %pb to <8 x i1 >
919
912
%s = select <8 x i1 > %b , <8 x double > %y , <8 x double > <double 1 .0 , double 1 .0 , double 1 .0 , double 1 .0 , double 1 .0 , double 1 .0 , double 1 .0 , double 1 .0 >
@@ -986,9 +979,7 @@ define <8 x float> @fdiv_v8f32_cast_cond(i8 noundef zeroext %pb, <8 x float> nou
986
979
; AVX512VL-LABEL: fdiv_v8f32_cast_cond:
987
980
; AVX512VL: # %bb.0:
988
981
; AVX512VL-NEXT: kmovw %edi, %k1
989
- ; AVX512VL-NEXT: vbroadcastss {{.*#+}} ymm2 = [1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0]
990
- ; AVX512VL-NEXT: vmovaps %ymm1, %ymm2 {%k1}
991
- ; AVX512VL-NEXT: vdivps %ymm2, %ymm0, %ymm0
982
+ ; AVX512VL-NEXT: vdivps %ymm1, %ymm0, %ymm0 {%k1}
992
983
; AVX512VL-NEXT: retq
993
984
%b = bitcast i8 %pb to <8 x i1 >
994
985
%s = select <8 x i1 > %b , <8 x float > %y , <8 x float > <float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 , float 1 .0 >
@@ -1052,9 +1043,7 @@ define <8 x double> @fdiv_v8f64_cast_cond(i8 noundef zeroext %pb, <8 x double> n
1052
1043
; AVX512-LABEL: fdiv_v8f64_cast_cond:
1053
1044
; AVX512: # %bb.0:
1054
1045
; AVX512-NEXT: kmovw %edi, %k1
1055
- ; AVX512-NEXT: vbroadcastsd {{.*#+}} zmm2 = [1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0,1.0E+0]
1056
- ; AVX512-NEXT: vmovapd %zmm1, %zmm2 {%k1}
1057
- ; AVX512-NEXT: vdivpd %zmm2, %zmm0, %zmm0
1046
+ ; AVX512-NEXT: vdivpd %zmm1, %zmm0, %zmm0 {%k1}
1058
1047
; AVX512-NEXT: retq
1059
1048
%b = bitcast i8 %pb to <8 x i1 >
1060
1049
%s = select <8 x i1 > %b , <8 x double > %y , <8 x double > <double 1 .0 , double 1 .0 , double 1 .0 , double 1 .0 , double 1 .0 , double 1 .0 , double 1 .0 , double 1 .0 >
0 commit comments