HomeSort by: relevance | last modified time | path
    Searched refs:FP_ROUND (Results 1 - 25 of 26) sorted by relevancy

1 2

  /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/
ISDOpcodes.h 435 /// this is a normal rounding, if it is 1, this FP_ROUND is known to not
793 /// X = FP_ROUND(Y, TRUNC) - Rounding 'Y' from a larger floating point type
796 /// normal rounding, if it is 1, this FP_ROUND is known to not change the
802 /// FP_EXTEND(FP_ROUND(X,1)) -> X which are not safe for
803 /// FP_EXTEND(FP_ROUND(X,0)) because the extra bits aren't removed.
804 FP_ROUND,
  /src/external/apache2/llvm/dist/llvm/lib/Target/AArch64/
AArch64TargetTransformInfo.cpp 813 { ISD::FP_ROUND, MVT::nxv2f16, MVT::nxv2f32, 1 },
814 { ISD::FP_ROUND, MVT::nxv4f16, MVT::nxv4f32, 1 },
815 { ISD::FP_ROUND, MVT::nxv8f16, MVT::nxv8f32, 3 },
818 { ISD::FP_ROUND, MVT::nxv2f16, MVT::nxv2f64, 1 },
819 { ISD::FP_ROUND, MVT::nxv4f16, MVT::nxv4f64, 3 },
820 { ISD::FP_ROUND, MVT::nxv8f16, MVT::nxv8f64, 7 },
823 { ISD::FP_ROUND, MVT::nxv2f32, MVT::nxv2f64, 1 },
824 { ISD::FP_ROUND, MVT::nxv4f32, MVT::nxv4f64, 3 },
825 { ISD::FP_ROUND, MVT::nxv8f32, MVT::nxv8f64, 6 },
AArch64ISelLowering.cpp 467 setOperationAction(ISD::FP_ROUND, MVT::f16, Custom);
468 setOperationAction(ISD::FP_ROUND, MVT::f32, Custom);
469 setOperationAction(ISD::FP_ROUND, MVT::f64, Custom);
987 setOperationAction(ISD::FP_ROUND, MVT::v1f64, Expand);
1243 setOperationAction(ISD::FP_ROUND, VT, Custom);
1276 setOperationAction(ISD::FP_ROUND, MVT::v4f16, Custom);
1282 setOperationAction(ISD::FP_ROUND, VT, Expand);
3383 return DAG.getNode(ISD::FP_ROUND, dl, VT, In, DAG.getIntPtrConstant(0, dl));
3410 ISD::FP_ROUND, dl, MVT::f16,
4539 case ISD::FP_ROUND
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/ARM/
ARMTargetTransformInfo.cpp 512 {ISD::FP_ROUND, MVT::v4f32, MVT::v4f16, 1},
513 {ISD::FP_ROUND, MVT::v8f32, MVT::v8f16, 3},
552 ((ISD == ISD::FP_ROUND && SrcTy.getScalarType() == MVT::f64 &&
558 {ISD::FP_ROUND, MVT::v2f64, 2},
746 if (ISD == ISD::FP_ROUND || ISD == ISD::FP_EXTEND) {
ARMISelDAGToDAG.cpp 3073 if (Val1.getOpcode() == ISD::FP_ROUND || Val2.getOpcode() == ISD::FP_ROUND)
ARMISelLowering.cpp 916 setOperationAction(ISD::FP_ROUND, MVT::v2f32, Expand);
1040 setOperationAction(ISD::FP_ROUND, MVT::f32, Custom);
1052 setOperationAction(ISD::FP_ROUND, MVT::f16, Custom);
7264 // BUILDVECTOR(FP_ROUND(EXTRACT_ELT(X, 0),
7265 // FP_ROUND(EXTRACT_ELT(Y, 0),
7266 // FP_ROUND(EXTRACT_ELT(X, 1),
7267 // FP_ROUND(EXTRACT_ELT(Y, 1), ...)
7283 if (BV.getOperand(0).getOpcode() != ISD::FP_ROUND ||
7287 if (BV.getOperand(1).getOpcode() != ISD::FP_ROUND ||
7299 return Trunc.getOpcode() == ISD::FP_ROUND &
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/SelectionDAG/
LegalizeFloatTypes.cpp 104 case ISD::FP_ROUND: R = SoftenFloatRes_FP_ROUND(N); break;
549 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unsupported FP_ROUND!");
815 case ISD::FP_TO_FP16: // Same as FP_ROUND for softening purposes
817 case ISD::FP_ROUND: Res = SoftenFloatOp_FP_ROUND(N); break;
864 // returns an i16 so doesn't meet the constraints necessary for FP_ROUND.
865 assert(N->getOpcode() == ISD::FP_ROUND || N->getOpcode() == ISD::FP_TO_FP16 ||
875 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unsupported FP_ROUND libcall");
1044 // Do an FP_ROUND followed by a non-truncating store.
1045 Val = BitConvertToInteger(DAG.getNode(ISD::FP_ROUND, dl, ST->getMemoryVT(),
1770 case ISD::FP_ROUND: Res = ExpandFloatOp_FP_ROUND(N); break
    [all...]
LegalizeVectorOps.cpp 432 case ISD::FP_ROUND:
589 case ISD::FP_ROUND:
628 Res = DAG.getNode(ISD::FP_ROUND, dl, VT, Res, DAG.getIntPtrConstant(0, dl));
LegalizeDAG.cpp 2838 // We might as well mutate to FP_ROUND when FP_ROUND operation is legal
2844 // We fall back to use stack operation when the FP_ROUND operation
2854 case ISD::FP_ROUND:
3208 SDValue FloatVal = DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, Op,
4245 case ISD::FP_ROUND:
4247 // X = FP_ROUND(Y, TRUNC)
4249 // If TRUNC is 0, this is a normal rounding, if it is 1, this FP_ROUND
4554 TruncOp = ISD::FP_ROUND;
4563 if (TruncOp != ISD::FP_ROUND)
    [all...]
LegalizeVectorTypes.cpp 55 case ISD::FP_ROUND: R = ScalarizeVecRes_FP_ROUND(N); break;
333 return DAG.getNode(ISD::FP_ROUND, DL,
640 case ISD::FP_ROUND:
814 SDValue Res = DAG.getNode(ISD::FP_ROUND, SDLoc(N),
987 case ISD::FP_ROUND:
1923 if (N->getOpcode() == ISD::FP_ROUND) {
2164 case ISD::FP_ROUND: Res = SplitVecOp_FP_ROUND(N); break;
2874 ? DAG.getNode(ISD::FP_ROUND, DL, OutVT, InterVec,
2928 Lo = DAG.getNode(ISD::FP_ROUND, DL, OutVT, Lo, N->getOperand(1));
2929 Hi = DAG.getNode(ISD::FP_ROUND, DL, OutVT, Hi, N->getOperand(1))
    [all...]
SelectionDAGDumper.cpp 341 case ISD::FP_ROUND: return "fp_round";
DAGCombiner.cpp 1695 case ISD::FP_ROUND: return visitFP_ROUND(N);
10600 CastOpcode == ISD::FP_ROUND) &&
10626 if (CastOpcode == ISD::FP_ROUND) {
10627 // FP_ROUND (fptrunc) has an extra flag operand to pass along.
14113 } else if (N1.getOpcode() == ISD::FP_ROUND &&
14117 RV = DAG.getNode(ISD::FP_ROUND, SDLoc(N1), VT, RV, N1.getOperand(1));
14240 /// copysign(x, fp_round(y)) -> copysign(x, y)
14244 N1.getOpcode() == ISD::FP_ROUND)) {
14308 // copysign(x, fp_round(y)) -> copysign(x, y)
14596 // fold (fp_round c1fp) -> c1f
    [all...]
SelectionDAG.cpp 1245 : getNode(ISD::FP_ROUND, DL, VT, Op, getIntPtrConstant(0, DL));
4318 case ISD::FP_ROUND: {
4810 case ISD::FP_ROUND: llvm_unreachable("Invalid method to make FP_ROUND node");
5413 if (N1CFP && Opcode == ISD::FP_ROUND) {
5653 case ISD::FP_ROUND:
5658 "Invalid FP_ROUND!");
SelectionDAGBuilder.cpp 287 // FP_ROUND's are always exact here.
290 ISD::FP_ROUND, DL, ValueVT, Val,
3412 setValue(&I, DAG.getNode(ISD::FP_ROUND, dl, DestVT, N,
6324 DAG.getNode(ISD::FP_ROUND, sdl, MVT::f16,
TargetLowering.cpp 6239 case ISD::FP_ROUND:
6242 return DAG.getNode(ISD::FP_ROUND, DL, VT, NegV, Op.getOperand(1));
  /src/external/apache2/llvm/dist/llvm/lib/Target/Sparc/
SparcISelLowering.cpp 1726 setOperationAction(ISD::FP_ROUND, MVT::f64, Legal);
1754 setOperationAction(ISD::FP_ROUND, MVT::f64, Custom);
1755 setOperationAction(ISD::FP_ROUND, MVT::f32, Custom);
2321 // FP_ROUND on f64 and f32 are legal.
3058 case ISD::FP_ROUND: return LowerF128_FPROUND(Op, DAG, *this);
  /src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
AMDGPUISelLowering.cpp 2532 DAG.getNode(ISD::FP_ROUND, DL, MVT::f16, IntToFp32, FPRoundFlag);
2572 DAG.getNode(ISD::FP_ROUND, DL, MVT::f16, IntToFp32, FPRoundFlag);
3820 case ISD::FP_ROUND: {
3824 // (fneg (fp_round (fneg x))) -> (fp_round x)
3825 return DAG.getNode(ISD::FP_ROUND, SL, VT,
3832 // (fneg (fp_round x)) -> (fp_round (fneg x))
3834 return DAG.getNode(ISD::FP_ROUND, SL, VT, Neg, N0.getOperand(1));
SIISelLowering.cpp 204 setOperationAction(ISD::FP_ROUND, MVT::v2f32, Expand);
206 setOperationAction(ISD::FP_ROUND, MVT::v4f32, Expand);
208 setOperationAction(ISD::FP_ROUND, MVT::v8f32, Expand);
210 setOperationAction(ISD::FP_ROUND, MVT::v16f32, Expand);
547 setOperationAction(ISD::FP_ROUND, MVT::f16, Custom);
4514 case ISD::FP_ROUND:
5093 DAG.getNode(ISD::FP_ROUND, DL, VT, Op,
5099 "Do not know how to custom lower FP_ROUND for non-f16 type");
8359 SDValue BestQuot = DAG.getNode(ISD::FP_ROUND, SL, MVT::f16, Quot, FPRoundFlag);
8789 Cvt = DAG.getNode(ISD::FP_ROUND, DL, VT, Cvt
    [all...]
R600ISelLowering.cpp 249 setTargetDAGCombine(ISD::FP_ROUND);
1759 // (f32 fp_round (f64 uint_to_fp a)) -> (f32 uint_to_fp a)
1760 case ISD::FP_ROUND: {
  /src/external/apache2/llvm/dist/llvm/lib/Target/PowerPC/
PPCISelLowering.cpp 1172 setOperationAction(ISD::FP_ROUND, MVT::f64, Legal);
1173 setOperationAction(ISD::FP_ROUND, MVT::f32, Legal);
1221 // Expand the fp_round if the source type is fp128.
1223 setOperationAction(ISD::FP_ROUND, VT, Custom);
8560 FP = DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, FP,
8641 FP = DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, FP,
8938 (V->getOperand(i).getOpcode() == ISD::FP_ROUND &&
10841 case ISD::FP_ROUND:
13632 // If we are converting to 32-bit integers, we need to add an FP_ROUND.
13652 // For 32-bit values, we need to add an FP_ROUND node (if we made i
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/X86/
X86ISelDAGToDAG.cpp 981 case ISD::FP_ROUND:
995 case ISD::FP_ROUND: NewOpc = X86ISD::VFPROUND; break;
1207 case ISD::FP_ROUND:
1238 MVT MemVT = (N->getOpcode() == ISD::FP_ROUND) ? DstVT : SrcVT;
1252 // We're about to replace all uses of the FP_ROUND/FP_EXTEND with the
1338 // We're about to replace all uses of the FP_ROUND/FP_EXTEND with the
X86TargetTransformInfo.cpp 1548 { ISD::FP_ROUND, MVT::v8f32, MVT::v8f64, 1 },
1828 { ISD::FP_ROUND, MVT::v8f32, MVT::v8f64, 3 },
1924 { ISD::FP_ROUND, MVT::v4f32, MVT::v4f64, 1 },
X86ISelLowering.cpp 760 // We need to custom handle any FP_ROUND with an f128 input, but
764 setOperationAction(ISD::FP_ROUND, MVT::f32, Custom);
768 setOperationAction(ISD::FP_ROUND, MVT::f64, Custom);
772 setOperationAction(ISD::FP_ROUND, MVT::f80, Custom);
1046 setOperationAction(ISD::FP_ROUND, MVT::v2f32, Custom);
2053 setTargetDAGCombine(ISD::FP_ROUND);
3102 Val = DAG.getNode(ISD::FP_ROUND, dl, VA.getValVT(), Val,
20573 return DAG.getNode(ISD::FP_ROUND, dl, DstVT, Add,
21948 DAG.getNode(ISD::FP_ROUND, dl, VT, Sign, DAG.getIntPtrConstant(0, dl));
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/
TargetLoweringBase.cpp 1787 case FPTrunc: return ISD::FP_ROUND;
  /src/external/apache2/llvm/dist/llvm/lib/Target/RISCV/
RISCVISelLowering.cpp 554 // RVV has native FP_ROUND & FP_EXTEND conversions where the element type
558 setOperationAction(ISD::FP_ROUND, VT, Custom);
771 setOperationAction(ISD::FP_ROUND, VT, Custom);
2138 case ISD::FP_ROUND: {
2139 // RVV can only do fp_round to types half the size as the source. We
2162 // For fixed-length vectors, lower the FP_ROUND to a custom "VL" version.
2225 // One narrowing int_to_fp, then an fp_round.
5852 // this optimized pattern. Avoid modifying cases where FP_ROUND and
5860 (In2.getOpcode() != ISD::FP_ROUND || In2.getConstantOperandVal(1) != 0))

Completed in 704 milliseconds

1 2