@@ -3409,30 +3409,18 @@ combineVectorSizedSetCCEquality(SDNode *N, TargetLowering::DAGCombinerInfo &DCI,
3409
3409
if (!IsVectorBitCastCheap (X) || !IsVectorBitCastCheap (Y))
3410
3410
return SDValue ();
3411
3411
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;
3423
3413
3424
3414
SDValue VecX = DAG.getBitcast (VecVT, X);
3425
3415
SDValue VecY = DAG.getBitcast (VecVT, Y);
3426
3416
3427
- SDValue Cmp = DAG.getSetCC (DL, CmpVT , VecX, VecY, CC);
3417
+ SDValue Cmp = DAG.getSetCC (DL, VecVT , VecX, VecY, CC);
3428
3418
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});
3434
3422
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);
3436
3424
}
3437
3425
3438
3426
static SDValue performSETCCCombine (SDNode *N,
0 commit comments