|
reference, declaration → definition
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());