Skip to content

Commit e546e6f

Browse files
committed
Move if clause ordering back to cheapest first.
1 parent 982a8e7 commit e546e6f

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

llvm/lib/Target/X86/X86ISelLowering.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42367,26 +42367,25 @@ static SDValue combineTargetShuffle(SDValue N, const SDLoc &DL,
4236742367
if (VT.is512BitVector()) {
4236842368
// 512-bit mask uses 4 x i2 indices - if the msb is always set then only
4236942369
// the upper subvector is used.
42370-
SDValue LHS = N->getOperand(0);
42371-
SDValue RHS = N->getOperand(1);
42370+
SDValue LHS = peekThroughBitcasts(N->getOperand(0));
42371+
SDValue RHS = peekThroughBitcasts(N->getOperand(1));
4237242372
uint64_t Mask = N->getConstantOperandVal(2);
4237342373
SmallVector<SDValue> LHSOps, RHSOps;
4237442374
SDValue NewLHS, NewRHS;
42375-
if (collectConcatOps(peekThroughBitcasts(LHS).getNode(), LHSOps, DAG) &&
42376-
LHSOps.size() == 2 && (Mask & 0x0A) == 0x0A) {
42375+
if ((Mask & 0x0A) == 0x0A &&
42376+
collectConcatOps(LHS.getNode(), LHSOps, DAG) && LHSOps.size() == 2) {
4237742377
NewLHS = widenSubVector(LHSOps[1], false, Subtarget, DAG, DL, 512);
42378-
NewLHS = DAG.getBitcast(VT, NewLHS);
4237942378
Mask &= ~0x0A;
4238042379
}
42381-
if (collectConcatOps(peekThroughBitcasts(RHS).getNode(), RHSOps, DAG) &&
42382-
RHSOps.size() == 2 && (Mask & 0xA0) == 0xA0) {
42380+
if ((Mask & 0xA0) == 0xA0 &&
42381+
collectConcatOps(RHS.getNode(), RHSOps, DAG) && RHSOps.size() == 2) {
4238342382
NewRHS = widenSubVector(RHSOps[1], false, Subtarget, DAG, DL, 512);
42384-
NewRHS = DAG.getBitcast(VT, NewRHS);
4238542383
Mask &= ~0xA0;
4238642384
}
4238742385
if (NewLHS || NewRHS)
42388-
return DAG.getNode(X86ISD::SHUF128, DL, VT, NewLHS ? NewLHS : LHS,
42389-
NewRHS ? NewRHS : RHS,
42386+
return DAG.getNode(X86ISD::SHUF128, DL, VT,
42387+
DAG.getBitcast(VT, NewLHS ? NewLHS : LHS),
42388+
DAG.getBitcast(VT, NewRHS ? NewRHS : RHS),
4239042389
DAG.getTargetConstant(Mask, DL, MVT::i8));
4239142390
}
4239242391
return SDValue();

0 commit comments

Comments
 (0)