@@ -3409,30 +3409,18 @@ combineVectorSizedSetCCEquality(SDNode *N, TargetLowering::DAGCombinerInfo &DCI,
34093409 if (!IsVectorBitCastCheap (X) || !IsVectorBitCastCheap (Y))
34103410 return SDValue ();
34113411
3412- // TODO: Not sure what's the purpose of this? I'm keeping here since RISCV has
3413- // it
3414- if (DCI.DAG .getMachineFunction ().getFunction ().hasFnAttribute (
3415- Attribute::NoImplicitFloat))
3416- return SDValue ();
3417-
3418- unsigned OpSize = OpVT.getSizeInBits ();
3419- unsigned VecSize = OpSize / 8 ;
3420-
3421- EVT VecVT = EVT::getVectorVT (*DCI.DAG .getContext (), MVT::i8 , VecSize);
3422- EVT CmpVT = EVT::getVectorVT (*DCI.DAG .getContext (), MVT::i8 , VecSize);
3412+ EVT VecVT = MVT::v16i8;
34233413
34243414 SDValue VecX = DAG.getBitcast (VecVT, X);
34253415 SDValue VecY = DAG.getBitcast (VecVT, Y);
34263416
3427- SDValue Cmp = DAG.getSetCC (DL, CmpVT , VecX, VecY, CC);
3417+ SDValue Cmp = DAG.getSetCC (DL, VecVT , VecX, VecY, CC);
34283418
3429- SDValue AllTrue = DAG.getZExtOrTrunc (
3430- DAG.getNode (
3431- ISD::INTRINSIC_WO_CHAIN, DL, MVT::i32 ,
3432- {DAG.getConstant (Intrinsic::wasm_alltrue, DL, MVT::i32 ), Cmp}),
3433- DL, MVT::i1);
3419+ SDValue AllTrue = DAG.getNode (
3420+ ISD::INTRINSIC_WO_CHAIN, DL, MVT::i32 ,
3421+ {DAG.getConstant (Intrinsic::wasm_alltrue, DL, MVT::i32 ), Cmp});
34343422
3435- return DAG.getSetCC (DL, VT, AllTrue, DAG.getConstant (0 , DL, MVT::i1 ), CC);
3423+ return DAG.getSetCC (DL, VT, AllTrue, DAG.getConstant (0 , DL, MVT::i32 ), CC);
34363424}
34373425
34383426static SDValue performSETCCCombine (SDNode *N,
0 commit comments