Skip to content

Commit 9402e84

Browse files
author
mattarde
committed
Revert "remove f16 check"
This reverts commit be0013472904aaa960ff1b5fe1add5b5be79973d.
1 parent f243529 commit 9402e84

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

llvm/lib/Target/X86/X86ISelLowering.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38365,7 +38365,8 @@ static bool matchUnaryShuffle(MVT MaskVT, ArrayRef<int> Mask,
3836538365

3836638366
// Match against a VZEXT_MOVL instruction, SSE1 only supports 32-bits (MOVSS).
3836738367
if (((MaskEltSize == 32) || (MaskEltSize == 64 && Subtarget.hasSSE2()) ||
38368-
(MaskEltSize == 16 && Subtarget.hasAVX10_2())) &&
38368+
(MaskEltSize == 16 &&
38369+
(Subtarget.hasFP16() || Subtarget.hasAVX10_2()))) &&
3836938370
isUndefOrEqual(Mask[0], 0) &&
3837038371
isUndefOrZeroInRange(Mask, 1, NumMaskElts - 1)) {
3837138372
Shuffle = X86ISD::VZEXT_MOVL;

llvm/test/CodeGen/X86/avx512fp16-mov.ll

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2094,14 +2094,14 @@ for.end: ; preds = %for.body.preheader,
20942094
define <16 x i32> @pr52561(<16 x i32> %a, <16 x i32> %b) "min-legal-vector-width"="256" "prefer-vector-width"="256" nounwind {
20952095
; X64-LABEL: pr52561:
20962096
; X64: # %bb.0:
2097-
; X64-NEXT: vpaddd %ymm2, %ymm0, %ymm0
20982097
; X64-NEXT: vpaddd %ymm3, %ymm1, %ymm1
2098+
; X64-NEXT: vpaddd %ymm2, %ymm0, %ymm0
20992099
; X64-NEXT: vpbroadcastd {{.*#+}} ymm2 = [112,112,112,112,112,112,112,112]
2100-
; X64-NEXT: vpaddd %ymm2, %ymm1, %ymm1
21012100
; X64-NEXT: vpaddd %ymm2, %ymm0, %ymm0
2102-
; X64-NEXT: vmovd {{.*#+}} xmm2 = [65535,0,0,0,0,0,0,0]
2103-
; X64-NEXT: vpand %ymm2, %ymm0, %ymm0
2101+
; X64-NEXT: vpaddd %ymm2, %ymm1, %ymm1
21042102
; X64-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm1, %ymm1
2103+
; X64-NEXT: vpxor %xmm2, %xmm2, %xmm2
2104+
; X64-NEXT: vmovsh %xmm0, %xmm2, %xmm0
21052105
; X64-NEXT: retq
21062106
;
21072107
; X86-LABEL: pr52561:
@@ -2113,11 +2113,11 @@ define <16 x i32> @pr52561(<16 x i32> %a, <16 x i32> %b) "min-legal-vector-width
21132113
; X86-NEXT: vpaddd %ymm2, %ymm0, %ymm0
21142114
; X86-NEXT: vpaddd 8(%ebp), %ymm1, %ymm1
21152115
; X86-NEXT: vpbroadcastd {{.*#+}} ymm2 = [112,112,112,112,112,112,112,112]
2116-
; X86-NEXT: vpaddd %ymm2, %ymm1, %ymm1
21172116
; X86-NEXT: vpaddd %ymm2, %ymm0, %ymm0
2118-
; X86-NEXT: vmovd {{.*#+}} xmm2 = [65535,0,0,0,0,0,0,0]
2119-
; X86-NEXT: vpand %ymm2, %ymm0, %ymm0
2117+
; X86-NEXT: vpaddd %ymm2, %ymm1, %ymm1
21202118
; X86-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}, %ymm1, %ymm1
2119+
; X86-NEXT: vpxor %xmm2, %xmm2, %xmm2
2120+
; X86-NEXT: vmovsh %xmm0, %xmm2, %xmm0
21212121
; X86-NEXT: movl %ebp, %esp
21222122
; X86-NEXT: popl %ebp
21232123
; X86-NEXT: retl
@@ -2139,9 +2139,9 @@ define <8 x i16> @pr59628_xmm(i16 %arg) {
21392139
; X86-LABEL: pr59628_xmm:
21402140
; X86: # %bb.0:
21412141
; X86-NEXT: movzwl {{[0-9]+}}(%esp), %eax
2142-
; X86-NEXT: vpxor %xmm0, %xmm0, %xmm0
2142+
; X86-NEXT: vxorps %xmm0, %xmm0, %xmm0
21432143
; X86-NEXT: vpbroadcastw %eax, %xmm1
2144-
; X86-NEXT: vpblendw {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3,4,5,6,7]
2144+
; X86-NEXT: vmovsh %xmm1, %xmm0, %xmm0
21452145
; X86-NEXT: vpcmpneqw {{\.?LCPI[0-9]+_[0-9]+}}, %xmm1, %k1
21462146
; X86-NEXT: vmovdqu16 %xmm0, %xmm0 {%k1} {z}
21472147
; X86-NEXT: retl

0 commit comments

Comments
 (0)