Skip to content

Commit bcc5ae5

Browse files
committed
Dropping incorrect transforms
1 parent deebdea commit bcc5ae5

File tree

1 file changed

+6
-16
lines changed

1 file changed

+6
-16
lines changed

llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4322,14 +4322,9 @@ static SDValue performBITCASTCombine(SDNode *N, SelectionDAG &DAG,
43224322
default:
43234323
return SDValue();
43244324
case ISD::SETEQ:
4325-
if (EltVT == MVT::i8) {
4326-
// x == 0 => not (vmsknez.b x)
4327-
if (ISD::isBuildVectorAllZeros(SrcN1.getNode()))
4328-
ISD = UseLASX ? LoongArchISD::XVMSKEQZ : LoongArchISD::VMSKEQZ;
4329-
// x == -1 => vmsknez.b x
4330-
else if (ISD::isBuildVectorAllOnes(SrcN1.getNode()))
4331-
ISD = UseLASX ? LoongArchISD::XVMSKNEZ : LoongArchISD::VMSKNEZ;
4332-
}
4325+
// x == 0 => not (vmsknez.b x)
4326+
if (ISD::isBuildVectorAllZeros(SrcN1.getNode()) && EltVT == MVT::i8)
4327+
ISD = UseLASX ? LoongArchISD::XVMSKEQZ : LoongArchISD::VMSKEQZ;
43334328
break;
43344329
case ISD::SETGT:
43354330
// x > -1 => vmskgez.b x
@@ -4356,14 +4351,9 @@ static SDValue performBITCASTCombine(SDNode *N, SelectionDAG &DAG,
43564351
ISD = UseLASX ? LoongArchISD::XVMSKLTZ : LoongArchISD::VMSKLTZ;
43574352
break;
43584353
case ISD::SETNE:
4359-
if (EltVT == MVT::i8) {
4360-
// x != 0 => vmsknez.b x
4361-
if (ISD::isBuildVectorAllZeros(SrcN1.getNode()))
4362-
ISD = UseLASX ? LoongArchISD::XVMSKNEZ : LoongArchISD::VMSKNEZ;
4363-
// x != -1 => not (vmsknez.b x)
4364-
else if (ISD::isBuildVectorAllOnes(SrcN1.getNode()))
4365-
ISD = UseLASX ? LoongArchISD::XVMSKEQZ : LoongArchISD::VMSKEQZ;
4366-
}
4354+
// x != 0 => vmsknez.b x
4355+
if (ISD::isBuildVectorAllZeros(SrcN1.getNode()) && EltVT == MVT::i8)
4356+
ISD = UseLASX ? LoongArchISD::XVMSKNEZ : LoongArchISD::VMSKNEZ;
43674357
break;
43684358
}
43694359

0 commit comments

Comments
 (0)