reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/AMDGPU/AMDGPUISelLowering.cpp
 2586     return DAG.getNode(AMDGPUISD::FP_TO_FP16, DL, Op.getValueType(), N0);
 2599   SDValue Zero = DAG.getConstant(0, DL, MVT::i32);
 2600   SDValue One = DAG.getConstant(1, DL, MVT::i32);
 2601   SDValue U = DAG.getNode(ISD::BITCAST, DL, MVT::i64, N0);
 2602   SDValue UH = DAG.getNode(ISD::SRL, DL, MVT::i64, U,
 2603                            DAG.getConstant(32, DL, MVT::i64));
 2604   UH = DAG.getZExtOrTrunc(UH, DL, MVT::i32);
 2605   U = DAG.getZExtOrTrunc(U, DL, MVT::i32);
 2606   SDValue E = DAG.getNode(ISD::SRL, DL, MVT::i32, UH,
 2607                           DAG.getConstant(20, DL, MVT::i64));
 2608   E = DAG.getNode(ISD::AND, DL, MVT::i32, E,
 2609                   DAG.getConstant(ExpMask, DL, MVT::i32));
 2612   E = DAG.getNode(ISD::ADD, DL, MVT::i32, E,
 2613                   DAG.getConstant(-ExpBiasf64 + ExpBiasf16, DL, MVT::i32));
 2615   SDValue M = DAG.getNode(ISD::SRL, DL, MVT::i32, UH,
 2616                           DAG.getConstant(8, DL, MVT::i32));
 2617   M = DAG.getNode(ISD::AND, DL, MVT::i32, M,
 2618                   DAG.getConstant(0xffe, DL, MVT::i32));
 2620   SDValue MaskedSig = DAG.getNode(ISD::AND, DL, MVT::i32, UH,
 2621                                   DAG.getConstant(0x1ff, DL, MVT::i32));
 2622   MaskedSig = DAG.getNode(ISD::OR, DL, MVT::i32, MaskedSig, U);
 2624   SDValue Lo40Set = DAG.getSelectCC(DL, MaskedSig, Zero, Zero, One, ISD::SETEQ);
 2625   M = DAG.getNode(ISD::OR, DL, MVT::i32, M, Lo40Set);
 2628   SDValue I = DAG.getNode(ISD::OR, DL, MVT::i32,
 2629       DAG.getSelectCC(DL, M, Zero, DAG.getConstant(0x0200, DL, MVT::i32),
 2629       DAG.getSelectCC(DL, M, Zero, DAG.getConstant(0x0200, DL, MVT::i32),
 2630                       Zero, ISD::SETNE), DAG.getConstant(0x7c00, DL, MVT::i32));
 2633   SDValue N = DAG.getNode(ISD::OR, DL, MVT::i32, M,
 2634       DAG.getNode(ISD::SHL, DL, MVT::i32, E,
 2635                   DAG.getConstant(12, DL, MVT::i32)));
 2638   SDValue OneSubExp = DAG.getNode(ISD::SUB, DL, MVT::i32,
 2640   SDValue B = DAG.getNode(ISD::SMAX, DL, MVT::i32, OneSubExp, Zero);
 2641   B = DAG.getNode(ISD::SMIN, DL, MVT::i32, B,
 2642                   DAG.getConstant(13, DL, MVT::i32));
 2644   SDValue SigSetHigh = DAG.getNode(ISD::OR, DL, MVT::i32, M,
 2645                                    DAG.getConstant(0x1000, DL, MVT::i32));
 2647   SDValue D = DAG.getNode(ISD::SRL, DL, MVT::i32, SigSetHigh, B);
 2648   SDValue D0 = DAG.getNode(ISD::SHL, DL, MVT::i32, D, B);
 2649   SDValue D1 = DAG.getSelectCC(DL, D0, SigSetHigh, One, Zero, ISD::SETNE);
 2650   D = DAG.getNode(ISD::OR, DL, MVT::i32, D, D1);
 2652   SDValue V = DAG.getSelectCC(DL, E, One, D, N, ISD::SETLT);
 2653   SDValue VLow3 = DAG.getNode(ISD::AND, DL, MVT::i32, V,
 2654                               DAG.getConstant(0x7, DL, MVT::i32));
 2655   V = DAG.getNode(ISD::SRL, DL, MVT::i32, V,
 2656                   DAG.getConstant(2, DL, MVT::i32));
 2657   SDValue V0 = DAG.getSelectCC(DL, VLow3, DAG.getConstant(3, DL, MVT::i32),
 2657   SDValue V0 = DAG.getSelectCC(DL, VLow3, DAG.getConstant(3, DL, MVT::i32),
 2659   SDValue V1 = DAG.getSelectCC(DL, VLow3, DAG.getConstant(5, DL, MVT::i32),
 2659   SDValue V1 = DAG.getSelectCC(DL, VLow3, DAG.getConstant(5, DL, MVT::i32),
 2661   V1 = DAG.getNode(ISD::OR, DL, MVT::i32, V0, V1);
 2662   V = DAG.getNode(ISD::ADD, DL, MVT::i32, V, V1);
 2664   V = DAG.getSelectCC(DL, E, DAG.getConstant(30, DL, MVT::i32),
 2664   V = DAG.getSelectCC(DL, E, DAG.getConstant(30, DL, MVT::i32),
 2665                       DAG.getConstant(0x7c00, DL, MVT::i32), V, ISD::SETGT);
 2666   V = DAG.getSelectCC(DL, E, DAG.getConstant(1039, DL, MVT::i32),
 2666   V = DAG.getSelectCC(DL, E, DAG.getConstant(1039, DL, MVT::i32),
 2670   SDValue Sign = DAG.getNode(ISD::SRL, DL, MVT::i32, UH,
 2671                             DAG.getConstant(16, DL, MVT::i32));
 2672   Sign = DAG.getNode(ISD::AND, DL, MVT::i32, Sign,
 2673                      DAG.getConstant(0x8000, DL, MVT::i32));
 2675   V = DAG.getNode(ISD::OR, DL, MVT::i32, Sign, V);
 2676   return DAG.getZExtOrTrunc(V, DL, Op.getValueType());