Home | History | Annotate | Download | only in CellSPU

Lines Matching refs:SPUISD

464     node_names[(unsigned) SPUISD::RET_FLAG] = "SPUISD::RET_FLAG";
465 node_names[(unsigned) SPUISD::Hi] = "SPUISD::Hi";
466 node_names[(unsigned) SPUISD::Lo] = "SPUISD::Lo";
467 node_names[(unsigned) SPUISD::PCRelAddr] = "SPUISD::PCRelAddr";
468 node_names[(unsigned) SPUISD::AFormAddr] = "SPUISD::AFormAddr";
469 node_names[(unsigned) SPUISD::IndirectAddr] = "SPUISD::IndirectAddr";
470 node_names[(unsigned) SPUISD::LDRESULT] = "SPUISD::LDRESULT";
471 node_names[(unsigned) SPUISD::CALL] = "SPUISD::CALL";
472 node_names[(unsigned) SPUISD::SHUFB] = "SPUISD::SHUFB";
473 node_names[(unsigned) SPUISD::SHUFFLE_MASK] = "SPUISD::SHUFFLE_MASK";
474 node_names[(unsigned) SPUISD::CNTB] = "SPUISD::CNTB";
475 node_names[(unsigned) SPUISD::PREFSLOT2VEC] = "SPUISD::PREFSLOT2VEC";
476 node_names[(unsigned) SPUISD::VEC2PREFSLOT] = "SPUISD::VEC2PREFSLOT";
477 node_names[(unsigned) SPUISD::SHL_BITS] = "SPUISD::SHL_BITS";
478 node_names[(unsigned) SPUISD::SHL_BYTES] = "SPUISD::SHL_BYTES";
479 node_names[(unsigned) SPUISD::VEC_ROTL] = "SPUISD::VEC_ROTL";
480 node_names[(unsigned) SPUISD::VEC_ROTR] = "SPUISD::VEC_ROTR";
481 node_names[(unsigned) SPUISD::ROTBYTES_LEFT] = "SPUISD::ROTBYTES_LEFT";
482 node_names[(unsigned) SPUISD::ROTBYTES_LEFT_BITS] =
483 "SPUISD::ROTBYTES_LEFT_BITS";
484 node_names[(unsigned) SPUISD::SELECT_MASK] = "SPUISD::SELECT_MASK";
485 node_names[(unsigned) SPUISD::SELB] = "SPUISD::SELB";
486 node_names[(unsigned) SPUISD::ADD64_MARKER] = "SPUISD::ADD64_MARKER";
487 node_names[(unsigned) SPUISD::SUB64_MARKER] = "SPUISD::SUB64_MARKER";
488 node_names[(unsigned) SPUISD::MUL64_MARKER] = "SPUISD::MUL64_MARKER";
593 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
597 } else if ((basePtr.getOpcode() == SPUISD::AFormAddr)
598 || (basePtr.getOpcode() == SPUISD::IndirectAddr
599 && basePtr.getOperand(0).getOpcode() == SPUISD::Hi
600 && basePtr.getOperand(1).getOpcode() == SPUISD::Lo)) {
632 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
638 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
641 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
665 result = DAG.getNode(SPUISD::ROTBYTES_LEFT, dl, MVT::i128,
672 result = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, InVT,
701 high = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, high,
708 // TODO: add SPUISD::SHL_BYTES
709 low = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, low, offset );
716 result = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, InVT, result );
740 result = DAG.getNode(SPUISD::LDRESULT, dl, retvts,
793 insertEltOffs = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
798 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
804 insertEltOffs = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
807 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
826 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
832 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
835 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
878 SDValue insertEltOp = DAG.getNode(SPUISD::SHUFFLE_MASK, dl, vecVT,
883 result = DAG.getNode(SPUISD::SHUFB, dl, vecVT,
924 Value = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, Value);
925 lowmask = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, ones, surplus);
926 lowmask = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, lowmask,
937 himask = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, lowmask,
939 lowmask = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, lowmask,
961 SDValue rlow = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, Value, offset);
963 SDValue rhi = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, Value,
1005 return DAG.getNode(SPUISD::AFormAddr, dl, PtrVT, CPI, Zero);
1007 SDValue Hi = DAG.getNode(SPUISD::Hi, dl, PtrVT, CPI, Zero);
1008 SDValue Lo = DAG.getNode(SPUISD::Lo, dl, PtrVT, CPI, Zero);
1009 return DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Hi, Lo);
1036 return DAG.getNode(SPUISD::AFormAddr, dl, PtrVT, JTI, Zero);
1038 SDValue Hi = DAG.getNode(SPUISD::Hi, dl, PtrVT, JTI, Zero);
1039 SDValue Lo = DAG.getNode(SPUISD::Lo, dl, PtrVT, JTI, Zero);
1040 return DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Hi, Lo);
1063 return DAG.getNode(SPUISD::AFormAddr, dl, PtrVT, GA, Zero);
1065 SDValue Hi = DAG.getNode(SPUISD::Hi, dl, PtrVT, GA, Zero);
1066 SDValue Lo = DAG.getNode(SPUISD::Lo, dl, PtrVT, GA, Zero);
1067 return DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Hi, Lo);
1094 return DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT,
1356 unsigned CallOpc = SPUISD::CALL;
1377 Callee = DAG.getNode(SPUISD::AFormAddr, dl, CalleeVT, GA, Zero);
1379 Callee = DAG.getNode(SPUISD::PCRelAddr, dl, CalleeVT, GA, Zero);
1384 Callee = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, GA, Zero);
1393 Callee = DAG.getNode(SPUISD::AFormAddr, dl, CalleeVT, ExtSym, Zero);
1395 Callee = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, ExtSym, Zero);
1480 return DAG.getNode(SPUISD::RET_FLAG, dl, MVT::Other, Chain, Flag);
1482 return DAG.getNode(SPUISD::RET_FLAG, dl, MVT::Other, Chain);
1800 return DAG.getNode(SPUISD::SHUFB, dl, OpVT, HI32, LO32,
1818 /// SPUISD::SHUFB is eventually selected as Cell's <i>shufb</i> instructions.
1906 SDValue Pointer = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
1909 SDValue ShufMaskOp = DAG.getNode(SPUISD::SHUFFLE_MASK, dl,
1913 return DAG.getNode(SPUISD::SHUFB, dl, V1.getValueType(), V2, V1,
1919 return DAG.getNode(SPUISD::ROTBYTES_LEFT, dl, V1.getValueType(),
1935 return DAG.getNode(SPUISD::SHUFB, dl, V1.getValueType(), V1, V2, VPermMask);
1980 return DAG.getNode(SPUISD::PREFSLOT2VEC, dl, Op.getValueType(), Op0, Op0);
2010 return DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT, N);
2075 retval = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT,
2076 DAG.getNode(SPUISD::SHUFB, dl, N.getValueType(),
2103 vecShift = DAG.getNode(SPUISD::SHL_BYTES, dl, VecVT, N, Elt);
2143 retval = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT,
2144 DAG.getNode(SPUISD::SHUFB, dl, VecVT,
2169 SDValue Pointer = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
2175 SDValue ShufMask = DAG.getNode(SPUISD::SHUFFLE_MASK, dl, maskVT, Pointer);
2178 DAG.getNode(SPUISD::SHUFB, dl, VT,
2358 SDValue Promote = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, N, N);
2359 SDValue CNTB = DAG.getNode(SPUISD::CNTB, dl, vecVT, Promote);
2375 SDValue Promote = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, N, N);
2376 SDValue CNTB = DAG.getNode(SPUISD::CNTB, dl, vecVT, Promote);
2409 SDValue Promote = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, N, N);
2410 SDValue CNTB = DAG.getNode(SPUISD::CNTB, dl, vecVT, Promote);
2655 // Note: Really should be ISD::SELECT instead of SPUISD::SELB, but LLVM's
2662 return DAG.getNode(SPUISD::SELB, dl, VT, falseval, trueval, compare);
2690 SDValue truncShuffle = DAG.getNode(SPUISD::SHUFB, dl, VecVT,
2693 return DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT, truncShuffle);
2747 DAG.getNode(SPUISD::PREFSLOT2VEC, dl, mvt, Op0, Op0),
2758 SDValue extShuffle = DAG.getNode(SPUISD::SHUFB, dl, mvt,
2909 if (Op0.getOpcode() == SPUISD::IndirectAddr
2910 || Op1.getOpcode() == SPUISD::IndirectAddr) {
2914 if (Op1.getOpcode() == SPUISD::IndirectAddr) {
2953 return DAG.getNode(SPUISD::IndirectAddr, dl, Op0VT,
2963 if (Op0.getOpcode() == SPUISD::VEC2PREFSLOT && NodeVT == Op0VT) {
2981 case SPUISD::IndirectAddr: {
2982 if (!ST->usingLargeMem() && Op0.getOpcode() == SPUISD::AFormAddr) {
3011 return DAG.getNode(SPUISD::IndirectAddr, dl, Op0VT,
3018 case SPUISD
3019 case SPUISD::SHL_BYTES:
3020 case SPUISD::ROTBYTES_LEFT: {
3031 case SPUISD::PREFSLOT2VEC: {
3042 if (Op00.getOpcode() == SPUISD::VEC2PREFSLOT) {
3050 case SPUISD::VEC2PREFSLOT: {
3174 case SPUISD::PREFSLOT2VEC:
3175 case SPUISD::LDRESULT:
3176 case SPUISD::VEC2PREFSLOT:
3177 case SPUISD::SHLQUAD_L_BITS:
3178 case SPUISD::SHLQUAD_L_BYTES:
3179 case SPUISD::VEC_ROTL:
3180 case SPUISD::VEC_ROTR:
3181 case SPUISD::ROTBYTES_LEFT:
3182 case SPUISD::SELECT_MASK:
3183 case SPUISD::SELB: