Skip to content

Commit 7b31e62

Browse files
committed
Remove dead xorcombine.
1 parent 45e974f commit 7b31e62

File tree

1 file changed

+18
-47
lines changed

1 file changed

+18
-47
lines changed

llvm/lib/Target/AMDGPU/SIISelLowering.cpp

Lines changed: 18 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -13526,35 +13526,6 @@ SDValue SITargetLowering::performXorCombine(SDNode *N,
1352613526
SDValue LHS = N->getOperand(0);
1352713527
SDValue RHS = N->getOperand(1);
1352813528

13529-
// Fold the fneg of a vselect into the v2 vselect operands.
13530-
// xor (vselect c, a, b), 0x80000000 ->
13531-
// bitcast (vselect c, (fneg (bitcast a)), (fneg (bitcast b)))
13532-
if (VT == MVT::v2i32 && LHS.getNumOperands() > 1) {
13533-
13534-
const ConstantSDNode *CRHS0 = dyn_cast<ConstantSDNode>(RHS.getOperand(0));
13535-
const ConstantSDNode *CRHS1 = dyn_cast<ConstantSDNode>(RHS.getOperand(1));
13536-
SDValue LHS_0 = LHS.getOperand(0);
13537-
SDValue LHS_1 = LHS.getOperand(1);
13538-
13539-
if (LHS.getOpcode() == ISD::VSELECT && CRHS0 &&
13540-
CRHS0->getAPIntValue().isSignMask() &&
13541-
shouldFoldFNegIntoSrc(N, LHS_0) && CRHS1 &&
13542-
CRHS1->getAPIntValue().isSignMask() &&
13543-
shouldFoldFNegIntoSrc(N, LHS_1)) {
13544-
13545-
SDLoc DL(N);
13546-
SDValue CastLHS =
13547-
DAG.getNode(ISD::BITCAST, DL, MVT::v2f32, LHS->getOperand(1));
13548-
SDValue CastRHS =
13549-
DAG.getNode(ISD::BITCAST, DL, MVT::v2f32, LHS->getOperand(2));
13550-
SDValue FNegLHS = DAG.getNode(ISD::FNEG, DL, MVT::v2f32, CastLHS);
13551-
SDValue FNegRHS = DAG.getNode(ISD::FNEG, DL, MVT::v2f32, CastRHS);
13552-
SDValue NewSelect = DAG.getNode(ISD::VSELECT, DL, MVT::v2f32,
13553-
LHS->getOperand(0), FNegLHS, FNegRHS);
13554-
return DAG.getNode(ISD::BITCAST, DL, VT, NewSelect);
13555-
}
13556-
}
13557-
1355813529
const ConstantSDNode *CRHS = dyn_cast<ConstantSDNode>(RHS);
1355913530

1356013531
if (CRHS && VT == MVT::i64) {
@@ -13565,24 +13536,24 @@ SDValue SITargetLowering::performXorCombine(SDNode *N,
1356513536

1356613537
// Make sure to apply the 64-bit constant splitting fold before trying to fold
1356713538
// fneg-like xors into 64-bit select.
13568-
if (LHS.getOpcode() == ISD::SELECT && VT == MVT::i32) {
13569-
// This looks like an fneg, try to fold as a source modifier.
13570-
if (CRHS && CRHS->getAPIntValue().isSignMask() &&
13571-
shouldFoldFNegIntoSrc(N, LHS)) {
13572-
// xor (select c, a, b), 0x80000000 ->
13573-
// bitcast (select c, (fneg (bitcast a)), (fneg (bitcast b)))
13574-
SDLoc DL(N);
13575-
SDValue CastLHS =
13576-
DAG.getNode(ISD::BITCAST, DL, MVT::f32, LHS->getOperand(1));
13577-
SDValue CastRHS =
13578-
DAG.getNode(ISD::BITCAST, DL, MVT::f32, LHS->getOperand(2));
13579-
SDValue FNegLHS = DAG.getNode(ISD::FNEG, DL, MVT::f32, CastLHS);
13580-
SDValue FNegRHS = DAG.getNode(ISD::FNEG, DL, MVT::f32, CastRHS);
13581-
SDValue NewSelect = DAG.getNode(ISD::SELECT, DL, MVT::f32,
13582-
LHS->getOperand(0), FNegLHS, FNegRHS);
13583-
return DAG.getNode(ISD::BITCAST, DL, VT, NewSelect);
13584-
}
13585-
}
13539+
// if (LHS.getOpcode() == ISD::SELECT && VT == MVT::i32) {
13540+
// // This looks like an fneg, try to fold as a source modifier.
13541+
// if (CRHS && CRHS->getAPIntValue().isSignMask() &&
13542+
// shouldFoldFNegIntoSrc(N, LHS)) {
13543+
// // xor (select c, a, b), 0x80000000 ->
13544+
// // bitcast (select c, (fneg (bitcast a)), (fneg (bitcast b)))
13545+
// SDLoc DL(N);
13546+
// SDValue CastLHS =
13547+
// DAG.getNode(ISD::BITCAST, DL, MVT::f32, LHS->getOperand(1));
13548+
// SDValue CastRHS =
13549+
// DAG.getNode(ISD::BITCAST, DL, MVT::f32, LHS->getOperand(2));
13550+
// SDValue FNegLHS = DAG.getNode(ISD::FNEG, DL, MVT::f32, CastLHS);
13551+
// SDValue FNegRHS = DAG.getNode(ISD::FNEG, DL, MVT::f32, CastRHS);
13552+
// SDValue NewSelect = DAG.getNode(ISD::SELECT, DL, MVT::f32,
13553+
// LHS->getOperand(0), FNegLHS, FNegRHS);
13554+
// return DAG.getNode(ISD::BITCAST, DL, VT, NewSelect);
13555+
// }
13556+
// }
1358613557

1358713558
return SDValue();
1358813559
}

0 commit comments

Comments
 (0)