if (!isa<BuildVectorSDNode>(ConstVec))
return SDValue();
- uint64_t C;
- bool isSigned = N->getOpcode() == ISD::FP_TO_SINT;
- if (!isConstVecPow2(ConstVec, isSigned, C))
- return SDValue();
-
MVT FloatTy = Op.getSimpleValueType().getVectorElementType();
uint32_t FloatBits = FloatTy.getSizeInBits();
MVT IntTy = N->getSimpleValueType(0).getVectorElementType();
return SDValue();
}
+ uint64_t C;
+ bool isSigned = N->getOpcode() == ISD::FP_TO_SINT;
+ if (!isConstVecPow2(ConstVec, isSigned, C))
+ return SDValue();
+
SDLoc dl(N);
unsigned IntrinsicOpcode = isSigned ? Intrinsic::arm_neon_vcvtfp2fxs :
Intrinsic::arm_neon_vcvtfp2fxu;
if (!isa<BuildVectorSDNode>(ConstVec))
return SDValue();
- uint64_t C;
- bool isSigned = OpOpcode == ISD::SINT_TO_FP;
- if (!isConstVecPow2(ConstVec, isSigned, C))
- return SDValue();
-
MVT FloatTy = N->getSimpleValueType(0).getVectorElementType();
uint32_t FloatBits = FloatTy.getSizeInBits();
MVT IntTy = Op.getOperand(0).getSimpleValueType().getVectorElementType();
return SDValue();
}
+ uint64_t C;
+ bool isSigned = OpOpcode == ISD::SINT_TO_FP;
+ if (!isConstVecPow2(ConstVec, isSigned, C))
+ return SDValue();
+
SDLoc dl(N);
SDValue ConvInput = Op.getOperand(0);
unsigned NumLanes = Op.getValueType().getVectorNumElements();