Home | History | Annotate | Download | only in CellSPU

Lines Matching refs:getNode

84                 Op.getNode()->getValueType(0).getTypeForEVT(*DAG.getContext());
607 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
627 rotate = DAG.getNode(ISD::ADD, dl, PtrVT,
646 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
652 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
655 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
662 rotate = DAG.getNode(ISD::ADD, dl, PtrVT,
679 result = DAG.getNode(SPUISD::ROTBYTES_LEFT, dl, MVT::i128,
686 result = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, InVT,
687 DAG.getNode(ISD::BITCAST, dl, vecVT, result));
695 SDValue offset = DAG.getNode(ISD::AND, dl, MVT::i32,
700 ones = DAG.getNode(ISD::BITCAST, dl, MVT::i128, ones);
703 DAG.getNode(ISD::ADD, dl, PtrVT,
709 the_chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, low.getValue(1),
715 high = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, high,
716 DAG.getNode(ISD::SUB, dl, MVT::i32,
723 low = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, low, offset );
726 result = DAG.getNode(ISD::BITCAST, dl, vecVT,
727 DAG.getNode(ISD::OR, dl, MVT::i128, low, high));
730 result = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, InVT, result );
736 result = DAG.getNode(ISD::SIGN_EXTEND, dl, OutVT, result);
738 result = DAG.getNode(ISD::ZERO_EXTEND, dl, OutVT, result);
745 result = DAG.getNode(NewOpc, dl, OutVT, result);
754 result = DAG.getNode(SPUISD::LDRESULT, dl, retvts,
807 insertEltOffs = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
812 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
818 insertEltOffs = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
821 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
840 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
846 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
849 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
855 insertEltOffs = DAG.getNode(ISD::ADD, dl, PtrVT,
887 basePtr.getNode()->dump(&DAG);
892 SDValue insertEltOp = DAG.getNode(SPUISD::SHUFFLE_MASK, dl, vecVT,
894 SDValue vectorizeOp = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, vecVT,
897 result = DAG.getNode(SPUISD::SHUFB, dl, vecVT,
899 DAG.getNode(ISD::BITCAST, dl,
914 SDValue offset = DAG.getNode(ISD::AND, dl, MVT::i32,
918 SDValue offset_compl = DAG.getNode(ISD::SUB, dl, MVT::i32,
922 SDValue surplus = DAG.getNode(ISD::SUB, dl, MVT::i32,
928 ones = DAG.getNode(ISD::BITCAST, dl, MVT::i128, ones);
938 Value = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, Value);
939 lowmask = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, ones, surplus);
940 lowmask = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, lowmask,
942 Value = DAG.getNode(ISD::BITCAST, dl, MVT::i128, Value);
943 Value = DAG.getNode(ISD::AND, dl, MVT::i128, Value, lowmask);
948 Value = DAG.getNode(ISD::BITCAST, dl, MVT::i128, Value);
951 himask = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, lowmask,
953 lowmask = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, lowmask,
959 DAG.getNode(ISD::ADD, dl, PtrVT, basePtr,
963 the_chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, low.getValue(1),
966 low = DAG.getNode(ISD::AND, dl, MVT::i128,
967 DAG.getNode( ISD::BITCAST, dl, MVT::i128, low),
968 DAG.getNode( ISD::XOR, dl, MVT::i128, lowmask, ones));
969 hi = DAG.getNode(ISD::AND, dl, MVT::i128,
970 DAG.getNode( ISD::BITCAST, dl, MVT::i128, hi),
971 DAG.getNode( ISD::XOR, dl, MVT::i128, himask, ones));
975 SDValue rlow = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, Value, offset);
976 rlow = DAG.getNode(ISD::AND, dl, MVT::i128, rlow, lowmask);
977 SDValue rhi = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, Value,
982 rlow = DAG.getNode(ISD::OR, dl, MVT::i128,
983 DAG.getNode(ISD::BITCAST, dl, MVT::i128, low),
984 DAG.getNode(ISD::BITCAST, dl, MVT::i128, rlow));
985 rhi = DAG.getNode(ISD::OR, dl, MVT::i128,
986 DAG.getNode(ISD::BITCAST, dl, MVT::i128, hi),
987 DAG.getNode(ISD::BITCAST, dl, MVT::i128, rhi));
993 DAG.getNode(ISD::ADD, dl, PtrVT, basePtr,
997 result = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, low.getValue(0),
1019 return DAG.getNode(SPUISD::AFormAddr, dl, PtrVT, CPI, Zero);
1021 SDValue Hi = DAG.getNode(SPUISD::Hi, dl, PtrVT, CPI, Zero);
1022 SDValue Lo = DAG.getNode(SPUISD::Lo, dl, PtrVT, CPI, Zero);
1023 return DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Hi, Lo);
1050 return DAG.getNode(SPUISD::AFormAddr, dl, PtrVT, JTI, Zero);
1052 SDValue Hi = DAG.getNode(SPUISD::Hi, dl, PtrVT, JTI, Zero);
1053 SDValue Lo = DAG.getNode(SPUISD::Lo, dl, PtrVT, JTI, Zero);
1054 return DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Hi, Lo);
1077 return DAG.getNode(SPUISD::AFormAddr, dl, PtrVT, GA, Zero);
1079 SDValue Hi = DAG.getNode(SPUISD::Hi, dl, PtrVT, GA, Zero);
1080 SDValue Lo = DAG.getNode(SPUISD::Lo, dl, PtrVT, GA, Zero);
1081 return DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Hi, Lo);
1100 ConstantFPSDNode *FP = cast<ConstantFPSDNode>(Op.getNode());
1107 SDValue Tvec = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v2i64, T, T);
1108 return DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT,
1109 DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Tvec));
1245 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
1263 return DAG.getConstant((int)C->getZExtValue() >> 2, MVT::i32).getNode();
1316 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, PtrOff);
1356 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
1391 Callee = DAG.getNode(SPUISD::AFormAddr, dl, CalleeVT, GA, Zero);
1393 Callee = DAG.getNode(SPUISD::PCRelAddr, dl, CalleeVT, GA, Zero);
1398 Callee = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, GA, Zero);
1407 Callee = DAG.getNode(SPUISD::AFormAddr, dl, CalleeVT, ExtSym, Zero);
1409 Callee = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, ExtSym, Zero);
1426 if (InFlag.getNode())
1429 Chain = DAG.getNode(CallOpc, dl, DAG.getVTList(MVT::Other, MVT::Glue),
1493 if (Flag.getNode())
1494 return DAG.getNode(SPUISD::RET_FLAG, dl, MVT::Other, Chain, Flag);
1496 return DAG.getNode(SPUISD::RET_FLAG, dl, MVT::Other, Chain);
1511 if (OpVal.getNode() == 0)
1517 if (OpVal.getNode() != 0) {
1656 BuildVectorSDNode *BCN = dyn_cast<BuildVectorSDNode>(Op.getNode());
1685 return DAG.getNode(ISD::BITCAST, dl, MVT::v4f32,
1686 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, T,T,T,T));
1695 return DAG.getNode(ISD::BITCAST, dl, MVT::v2f64,
1696 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v2i64, T, T));
1705 return DAG.getNode(ISD::BITCAST, dl, VT,
1706 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v8i16, &Ops[0], Ops.size()));
1714 return DAG.getNode(ISD::BUILD_VECTOR, dl, VT, &Ops[0], Ops.size());
1718 return DAG.getNode(ISD::BUILD_VECTOR, dl, VT, T, T, T, T);
1739 return DAG.getNode(ISD::BITCAST, dl, OpVT,
1740 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
1757 SDValue BV = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
1759 return DAG.getNode(ISD::BITCAST, dl, OpVT, BV);
1770 LO32 = DAG.getNode(ISD::BITCAST, dl, OpVT,
1771 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
1778 HI32 = DAG.getNode(ISD::BITCAST, dl, OpVT,
1779 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
1816 return DAG.getNode(SPUISD::SHUFB, dl, OpVT, HI32, LO32,
1817 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
1922 SDValue Pointer = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
1925 SDValue ShufMaskOp = DAG.getNode(SPUISD::SHUFFLE_MASK, dl,
1929 return DAG.getNode(SPUISD::SHUFB, dl, V1.getValueType(), V2, V1,
1935 return DAG.getNode(SPUISD::ROTBYTES_LEFT, dl, V1.getValueType(),
1949 SDValue VPermMask = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v16i8,
1951 return DAG.getNode(SPUISD::SHUFB, dl, V1.getValueType(), V1, V2, VPermMask);
1959 if (Op0.getNode()->getOpcode() == ISD::Constant) {
1963 ConstantSDNode *CN = cast<ConstantSDNode>(Op0.getNode());
1984 return DAG.getNode(ISD::BUILD_VECTOR, dl, Op.getValueType(),
1996 return DAG.getNode(SPUISD::PREFSLOT2VEC, dl, Op.getValueType(), Op0, Op0);
2026 return DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT, N);
2088 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
2091 retval = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT,
2092 DAG.getNode(SPUISD::SHUFB, dl, N.getValueType(),
2105 Elt = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::i32, Elt);
2115 Elt = DAG.getNode(ISD::SHL, dl, MVT::i32, Elt,
2119 vecShift = DAG.getNode(SPUISD::SHL_BYTES, dl, VecVT, N, Elt);
2132 replicate = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
2138 replicate = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
2145 replicate = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
2153 replicate = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
2159 retval = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT,
2160 DAG.getNode(SPUISD::SHUFB, dl, VecVT,
2185 SDValue Pointer = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
2191 SDValue ShufMask = DAG.getNode(SPUISD::SHUFFLE_MASK, dl, maskVT, Pointer);
2194 DAG.getNode(SPUISD::SHUFB, dl, VT,
2195 DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, ValOp),
2197 DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, ShufMask));
2219 N0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N0);
2220 N1 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N1);
2221 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8,
2222 DAG.getNode(Opc, dl, MVT::i16, N0, N1));
2230 N0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N0);
2231 N1 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N1);
2232 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8,
2233 DAG.getNode(Opc, dl, MVT::i16, N0, N1));
2240 N0 = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::i16, N0);
2245 N1 = DAG.getNode(N1Opc, dl, ShiftVT, N1);
2250 DAG.getNode(ISD::OR, dl, MVT::i16, N0,
2251 DAG.getNode(ISD::SHL, dl, MVT::i16,
2255 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8,
2256 DAG.getNode(Opc, dl, MVT::i16, ExpandArg, N1));
2263 N0 = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::i16, N0);
2270 N1 = DAG.getNode(N1Opc, dl, ShiftVT, N1);
2273 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8,
2274 DAG.getNode(Opc, dl, MVT::i16, N0, N1));
2280 N0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N0);
2286 N1 = DAG.getNode(N1Opc, dl, ShiftVT, N1);
2289 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8,
2290 DAG.getNode(Opc, dl, MVT::i16, N0, N1));
2295 N0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N0);
2296 N1 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N1);
2297 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8,
2298 DAG.getNode(Opc, dl, MVT::i16, N0, N1));
2316 if (ConstVec.getNode()->getOpcode() != ISD::BUILD_VECTOR) {
2317 if (ConstVec.getNode()->getOpcode() == ISD::BITCAST) {
2322 if (ConstVec.getNode()->getOpcode() == ISD::BITCAST) {
2328 if (ConstVec.getNode()->getOpcode() == ISD::BUILD_VECTOR) {
2329 BuildVectorSDNode *BCN = dyn_cast<BuildVectorSDNode>(ConstVec.getNode());
2345 return DAG.getNode(Op.getNode()->getOpcode(), dl, VT, Arg,
2346 DAG.getNode(ISD::BUILD_VECTOR, dl, VT, &tcVec[0], tcVec.size()));
2374 SDValue Promote = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, N, N);
2375 SDValue CNTB = DAG.getNode(SPUISD::CNTB, dl, vecVT, Promote);
2377 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::i8, CNTB, Elt0);
2391 SDValue Promote = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, N, N);
2392 SDValue CNTB = DAG.getNode(SPUISD::CNTB, dl, vecVT, Promote);
2397 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::i16, CNTB, Elt0);
2404 return DAG.getNode(ISD::AND, dl, MVT::i16,
2405 DAG.getNode(ISD::ADD, dl, MVT::i16,
2406 DAG.getNode(ISD::SRL, dl, MVT::i16,
2425 SDValue Promote = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, N, N);
2426 SDValue CNTB = DAG.getNode(SPUISD::CNTB, dl, vecVT, Promote);
2431 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::i32, CNTB, Elt0);
2437 DAG.getNode(ISD::SRL, dl, MVT::i32,
2442 DAG.getNode(ISD::ADD, dl, MVT::i32, Comp1,
2449 DAG.getNode(ISD::SRL, dl, MVT::i32,
2453 DAG.getNode(ISD::ADD, dl, MVT::i32, Comp2,
2456 return DAG.getNode(ISD::AND, dl, MVT::i32, Sum2, Mask0);
2539 SDValue i64lhs = DAG.getNode(ISD::BITCAST, dl, IntVT, lhs);
2541 DAG.getNode(ISD::TRUNCATE, dl, MVT::i32,
2542 DAG.getNode(ISD::SRL, dl, IntVT,
2545 DAG.getNode(ISD::AND, dl, MVT::i32,
2548 DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, i64lhs);
2555 return DAG.getNode(ISD::XOR, dl, ccResultVT,
2562 return DAG.getNode(ISD::AND, dl, ccResultVT,
2573 SDValue i64rhs = DAG.getNode(ISD::BITCAST, dl, IntVT, rhs);
2575 DAG.getNode(ISD::TRUNCATE, dl, MVT::i32,
2576 DAG.getNode(ISD::SRL, dl, IntVT,
2583 SDValue lhsSelectMask = DAG.getNode(ISD::SRA, dl, ccResultVT,
2585 SDValue lhsSignMag2TC = DAG.getNode(ISD::SUB, dl, IntVT, signMag2TC, i64lhs);
2587 DAG.getNode(ISD::SELECT, dl, IntVT,
2590 SDValue rhsSelectMask = DAG.getNode(ISD::SRA, dl, ccResultVT,
2592 SDValue rhsSignMag2TC = DAG.getNode(ISD::SUB, dl, IntVT, signMag2TC, i64rhs);
2594 DAG.getNode(ISD::SELECT, dl, IntVT,
2634 SDValue ordered = DAG.getNode(ISD::AND, dl, ccResultVT, lhsNaN, rhsNaN);
2636 result = DAG.getNode(ISD::AND, dl, ccResultVT, ordered, result);
2675 SDValue compare = DAG.getNode(ISD::SETCC, dl,
2678 return DAG.getNode(SPUISD::SELB, dl, VT, falseval, trueval, compare);
2700 SDValue shufMask = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
2706 SDValue truncShuffle = DAG.getNode(SPUISD::SHUFB, dl, VecVT,
2709 return DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT, truncShuffle);
2738 Op0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i32, Op0);
2752 SDValue shufMask = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32,
2761 SDValue sraVal = DAG.getNode(ISD::SRA,
2764 DAG.getNode(SPUISD::PREFSLOT2VEC, dl, mvt, Op0, Op0),
2775 SDValue extShuffle = DAG.getNode(SPUISD::SHUFB, dl, mvt,
2777 return DAG.getNode(ISD::BITCAST, dl, MVT::i128, extShuffle);
2796 errs() << "*Op.getNode():\n";
2797 Op.getNode()->dump();
2892 errs() << "*Op.getNode():\n";
2970 return DAG.getNode(SPUISD::IndirectAddr, dl, Op0VT,
2989 Op0.getNode()->dump(&DAG);
3008 DEBUG(Op0.getNode()->dump(&DAG));
3028 return DAG.getNode(SPUISD::IndirectAddr, dl, Op0VT,
3080 if (Result.getNode()) {
3084 DEBUG(Result.getNode()->dump(&DAG));