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

References

lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
 2871   if (Node->isMachineOpcode()) {
 2872     LLVM_DEBUG(errs() << "== "; Node->dump(CurDAG); errs() << "\n");
 2873     Node->setNodeId(-1);
 2878   EVT VT = Node->getValueType(0);
 2880   switch (Node->getOpcode()) {
 2885     if (SelectCMP_SWAP(Node))
 2890     if (tryReadRegister(Node))
 2895     if (tryWriteRegister(Node))
 2900     if (tryMLAV64LaneV128(Node))
 2907     if (tryIndexedLoad(Node))
 2916     if (tryBitfieldExtractOp(Node))
 2918     if (tryBitfieldInsertInZeroOp(Node))
 2923     if (tryShiftAmountMod(Node))
 2928     if (tryBitfieldExtractOpFromSExt(Node))
 2933     if (tryBitfieldInsertOp(Node))
 2940     ConstantSDNode *ConstNode = cast<ConstantSDNode>(Node);
 2944             CurDAG->getEntryNode(), SDLoc(Node), AArch64::WZR, MVT::i32);
 2945         ReplaceNode(Node, New.getNode());
 2949             CurDAG->getEntryNode(), SDLoc(Node), AArch64::XZR, MVT::i64);
 2950         ReplaceNode(Node, New.getNode());
 2959     int FI = cast<FrameIndexSDNode>(Node)->getIndex();
 2964     SDLoc DL(Node);
 2967     CurDAG->SelectNodeTo(Node, AArch64::ADDXri, MVT::i64, Ops);
 2971     unsigned IntNo = cast<ConstantSDNode>(Node->getOperand(1))->getZExtValue();
 2979       SDValue MemAddr = Node->getOperand(2);
 2980       SDLoc DL(Node);
 2981       SDValue Chain = Node->getOperand(0);
 2988           cast<MemIntrinsicSDNode>(Node)->getMemOperand();
 2990       ReplaceNode(Node, Ld);
 2997       SDLoc DL(Node);
 2998       SDValue Chain = Node->getOperand(0);
 2999       SDValue ValLo = Node->getOperand(2);
 3000       SDValue ValHi = Node->getOperand(3);
 3001       SDValue MemAddr = Node->getOperand(4);
 3009           cast<MemIntrinsicSDNode>(Node)->getMemOperand();
 3012       ReplaceNode(Node, St);
 3017         SelectLoad(Node, 2, AArch64::LD1Twov8b, AArch64::dsub0);
 3020         SelectLoad(Node, 2, AArch64::LD1Twov16b, AArch64::qsub0);
 3023         SelectLoad(Node, 2, AArch64::LD1Twov4h, AArch64::dsub0);
 3026         SelectLoad(Node, 2, AArch64::LD1Twov8h, AArch64::qsub0);
 3029         SelectLoad(Node, 2, AArch64::LD1Twov2s, AArch64::dsub0);
 3032         SelectLoad(Node, 2, AArch64::LD1Twov4s, AArch64::qsub0);
 3035         SelectLoad(Node, 2, AArch64::LD1Twov1d, AArch64::dsub0);
 3038         SelectLoad(Node, 2, AArch64::LD1Twov2d, AArch64::qsub0);
 3044         SelectLoad(Node, 3, AArch64::LD1Threev8b, AArch64::dsub0);
 3047         SelectLoad(Node, 3, AArch64::LD1Threev16b, AArch64::qsub0);
 3050         SelectLoad(Node, 3, AArch64::LD1Threev4h, AArch64::dsub0);
 3053         SelectLoad(Node, 3, AArch64::LD1Threev8h, AArch64::qsub0);
 3056         SelectLoad(Node, 3, AArch64::LD1Threev2s, AArch64::dsub0);
 3059         SelectLoad(Node, 3, AArch64::LD1Threev4s, AArch64::qsub0);
 3062         SelectLoad(Node, 3, AArch64::LD1Threev1d, AArch64::dsub0);
 3065         SelectLoad(Node, 3, AArch64::LD1Threev2d, AArch64::qsub0);
 3071         SelectLoad(Node, 4, AArch64::LD1Fourv8b, AArch64::dsub0);
 3074         SelectLoad(Node, 4, AArch64::LD1Fourv16b, AArch64::qsub0);
 3077         SelectLoad(Node, 4, AArch64::LD1Fourv4h, AArch64::dsub0);
 3080         SelectLoad(Node, 4, AArch64::LD1Fourv8h, AArch64::qsub0);
 3083         SelectLoad(Node, 4, AArch64::LD1Fourv2s, AArch64::dsub0);
 3086         SelectLoad(Node, 4, AArch64::LD1Fourv4s, AArch64::qsub0);
 3089         SelectLoad(Node, 4, AArch64::LD1Fourv1d, AArch64::dsub0);
 3092         SelectLoad(Node, 4, AArch64::LD1Fourv2d, AArch64::qsub0);
 3098         SelectLoad(Node, 2, AArch64::LD2Twov8b, AArch64::dsub0);
 3101         SelectLoad(Node, 2, AArch64::LD2Twov16b, AArch64::qsub0);
 3104         SelectLoad(Node, 2, AArch64::LD2Twov4h, AArch64::dsub0);
 3107         SelectLoad(Node, 2, AArch64::LD2Twov8h, AArch64::qsub0);
 3110         SelectLoad(Node, 2, AArch64::LD2Twov2s, AArch64::dsub0);
 3113         SelectLoad(Node, 2, AArch64::LD2Twov4s, AArch64::qsub0);
 3116         SelectLoad(Node, 2, AArch64::LD1Twov1d, AArch64::dsub0);
 3119         SelectLoad(Node, 2, AArch64::LD2Twov2d, AArch64::qsub0);
 3125         SelectLoad(Node, 3, AArch64::LD3Threev8b, AArch64::dsub0);
 3128         SelectLoad(Node, 3, AArch64::LD3Threev16b, AArch64::qsub0);
 3131         SelectLoad(Node, 3, AArch64::LD3Threev4h, AArch64::dsub0);
 3134         SelectLoad(Node, 3, AArch64::LD3Threev8h, AArch64::qsub0);
 3137         SelectLoad(Node, 3, AArch64::LD3Threev2s, AArch64::dsub0);
 3140         SelectLoad(Node, 3, AArch64::LD3Threev4s, AArch64::qsub0);
 3143         SelectLoad(Node, 3, AArch64::LD1Threev1d, AArch64::dsub0);
 3146         SelectLoad(Node, 3, AArch64::LD3Threev2d, AArch64::qsub0);
 3152         SelectLoad(Node, 4, AArch64::LD4Fourv8b, AArch64::dsub0);
 3155         SelectLoad(Node, 4, AArch64::LD4Fourv16b, AArch64::qsub0);
 3158         SelectLoad(Node, 4, AArch64::LD4Fourv4h, AArch64::dsub0);
 3161         SelectLoad(Node, 4, AArch64::LD4Fourv8h, AArch64::qsub0);
 3164         SelectLoad(Node, 4, AArch64::LD4Fourv2s, AArch64::dsub0);
 3167         SelectLoad(Node, 4, AArch64::LD4Fourv4s, AArch64::qsub0);
 3170         SelectLoad(Node, 4, AArch64::LD1Fourv1d, AArch64::dsub0);
 3173         SelectLoad(Node, 4, AArch64::LD4Fourv2d, AArch64::qsub0);
 3179         SelectLoad(Node, 2, AArch64::LD2Rv8b, AArch64::dsub0);
 3182         SelectLoad(Node, 2, AArch64::LD2Rv16b, AArch64::qsub0);
 3185         SelectLoad(Node, 2, AArch64::LD2Rv4h, AArch64::dsub0);
 3188         SelectLoad(Node, 2, AArch64::LD2Rv8h, AArch64::qsub0);
 3191         SelectLoad(Node, 2, AArch64::LD2Rv2s, AArch64::dsub0);
 3194         SelectLoad(Node, 2, AArch64::LD2Rv4s, AArch64::qsub0);
 3197         SelectLoad(Node, 2, AArch64::LD2Rv1d, AArch64::dsub0);
 3200         SelectLoad(Node, 2, AArch64::LD2Rv2d, AArch64::qsub0);
 3206         SelectLoad(Node, 3, AArch64::LD3Rv8b, AArch64::dsub0);
 3209         SelectLoad(Node, 3, AArch64::LD3Rv16b, AArch64::qsub0);
 3212         SelectLoad(Node, 3, AArch64::LD3Rv4h, AArch64::dsub0);
 3215         SelectLoad(Node, 3, AArch64::LD3Rv8h, AArch64::qsub0);
 3218         SelectLoad(Node, 3, AArch64::LD3Rv2s, AArch64::dsub0);
 3221         SelectLoad(Node, 3, AArch64::LD3Rv4s, AArch64::qsub0);
 3224         SelectLoad(Node, 3, AArch64::LD3Rv1d, AArch64::dsub0);
 3227         SelectLoad(Node, 3, AArch64::LD3Rv2d, AArch64::qsub0);
 3233         SelectLoad(Node, 4, AArch64::LD4Rv8b, AArch64::dsub0);
 3236         SelectLoad(Node, 4, AArch64::LD4Rv16b, AArch64::qsub0);
 3239         SelectLoad(Node, 4, AArch64::LD4Rv4h, AArch64::dsub0);
 3242         SelectLoad(Node, 4, AArch64::LD4Rv8h, AArch64::qsub0);
 3245         SelectLoad(Node, 4, AArch64::LD4Rv2s, AArch64::dsub0);
 3248         SelectLoad(Node, 4, AArch64::LD4Rv4s, AArch64::qsub0);
 3251         SelectLoad(Node, 4, AArch64::LD4Rv1d, AArch64::dsub0);
 3254         SelectLoad(Node, 4, AArch64::LD4Rv2d, AArch64::qsub0);
 3260         SelectLoadLane(Node, 2, AArch64::LD2i8);
 3264         SelectLoadLane(Node, 2, AArch64::LD2i16);
 3268         SelectLoadLane(Node, 2, AArch64::LD2i32);
 3272         SelectLoadLane(Node, 2, AArch64::LD2i64);
 3278         SelectLoadLane(Node, 3, AArch64::LD3i8);
 3282         SelectLoadLane(Node, 3, AArch64::LD3i16);
 3286         SelectLoadLane(Node, 3, AArch64::LD3i32);
 3290         SelectLoadLane(Node, 3, AArch64::LD3i64);
 3296         SelectLoadLane(Node, 4, AArch64::LD4i8);
 3300         SelectLoadLane(Node, 4, AArch64::LD4i16);
 3304         SelectLoadLane(Node, 4, AArch64::LD4i32);
 3308         SelectLoadLane(Node, 4, AArch64::LD4i64);
 3315     unsigned IntNo = cast<ConstantSDNode>(Node->getOperand(0))->getZExtValue();
 3320       SelectTagP(Node);
 3323       SelectTable(Node, 2,
 3328       SelectTable(Node, 3, VT == MVT::v8i8 ? AArch64::TBLv8i8Three
 3333       SelectTable(Node, 4, VT == MVT::v8i8 ? AArch64::TBLv8i8Four
 3338       SelectTable(Node, 2,
 3343       SelectTable(Node, 3, VT == MVT::v8i8 ? AArch64::TBXv8i8Three
 3348       SelectTable(Node, 4, VT == MVT::v8i8 ? AArch64::TBXv8i8Four
 3354       if (tryMULLV64LaneV128(IntNo, Node))
 3361     unsigned IntNo = cast<ConstantSDNode>(Node->getOperand(1))->getZExtValue();
 3362     if (Node->getNumOperands() >= 3)
 3363       VT = Node->getOperand(2)->getValueType(0);
 3369         SelectStore(Node, 2, AArch64::ST1Twov8b);
 3372         SelectStore(Node, 2, AArch64::ST1Twov16b);
 3375         SelectStore(Node, 2, AArch64::ST1Twov4h);
 3378         SelectStore(Node, 2, AArch64::ST1Twov8h);
 3381         SelectStore(Node, 2, AArch64::ST1Twov2s);
 3384         SelectStore(Node, 2, AArch64::ST1Twov4s);
 3387         SelectStore(Node, 2, AArch64::ST1Twov2d);
 3390         SelectStore(Node, 2, AArch64::ST1Twov1d);
 3397         SelectStore(Node, 3, AArch64::ST1Threev8b);
 3400         SelectStore(Node, 3, AArch64::ST1Threev16b);
 3403         SelectStore(Node, 3, AArch64::ST1Threev4h);
 3406         SelectStore(Node, 3, AArch64::ST1Threev8h);
 3409         SelectStore(Node, 3, AArch64::ST1Threev2s);
 3412         SelectStore(Node, 3, AArch64::ST1Threev4s);
 3415         SelectStore(Node, 3, AArch64::ST1Threev2d);
 3418         SelectStore(Node, 3, AArch64::ST1Threev1d);
 3425         SelectStore(Node, 4, AArch64::ST1Fourv8b);
 3428         SelectStore(Node, 4, AArch64::ST1Fourv16b);
 3431         SelectStore(Node, 4, AArch64::ST1Fourv4h);
 3434         SelectStore(Node, 4, AArch64::ST1Fourv8h);
 3437         SelectStore(Node, 4, AArch64::ST1Fourv2s);
 3440         SelectStore(Node, 4, AArch64::ST1Fourv4s);
 3443         SelectStore(Node, 4, AArch64::ST1Fourv2d);
 3446         SelectStore(Node, 4, AArch64::ST1Fourv1d);
 3453         SelectStore(Node, 2, AArch64::ST2Twov8b);
 3456         SelectStore(Node, 2, AArch64::ST2Twov16b);
 3459         SelectStore(Node, 2, AArch64::ST2Twov4h);
 3462         SelectStore(Node, 2, AArch64::ST2Twov8h);
 3465         SelectStore(Node, 2, AArch64::ST2Twov2s);
 3468         SelectStore(Node, 2, AArch64::ST2Twov4s);
 3471         SelectStore(Node, 2, AArch64::ST2Twov2d);
 3474         SelectStore(Node, 2, AArch64::ST1Twov1d);
 3481         SelectStore(Node, 3, AArch64::ST3Threev8b);
 3484         SelectStore(Node, 3, AArch64::ST3Threev16b);
 3487         SelectStore(Node, 3, AArch64::ST3Threev4h);
 3490         SelectStore(Node, 3, AArch64::ST3Threev8h);
 3493         SelectStore(Node, 3, AArch64::ST3Threev2s);
 3496         SelectStore(Node, 3, AArch64::ST3Threev4s);
 3499         SelectStore(Node, 3, AArch64::ST3Threev2d);
 3502         SelectStore(Node, 3, AArch64::ST1Threev1d);
 3509         SelectStore(Node, 4, AArch64::ST4Fourv8b);
 3512         SelectStore(Node, 4, AArch64::ST4Fourv16b);
 3515         SelectStore(Node, 4, AArch64::ST4Fourv4h);
 3518         SelectStore(Node, 4, AArch64::ST4Fourv8h);
 3521         SelectStore(Node, 4, AArch64::ST4Fourv2s);
 3524         SelectStore(Node, 4, AArch64::ST4Fourv4s);
 3527         SelectStore(Node, 4, AArch64::ST4Fourv2d);
 3530         SelectStore(Node, 4, AArch64::ST1Fourv1d);
 3537         SelectStoreLane(Node, 2, AArch64::ST2i8);
 3541         SelectStoreLane(Node, 2, AArch64::ST2i16);
 3545         SelectStoreLane(Node, 2, AArch64::ST2i32);
 3549         SelectStoreLane(Node, 2, AArch64::ST2i64);
 3556         SelectStoreLane(Node, 3, AArch64::ST3i8);
 3560         SelectStoreLane(Node, 3, AArch64::ST3i16);
 3564         SelectStoreLane(Node, 3, AArch64::ST3i32);
 3568         SelectStoreLane(Node, 3, AArch64::ST3i64);
 3575         SelectStoreLane(Node, 4, AArch64::ST4i8);
 3579         SelectStoreLane(Node, 4, AArch64::ST4i16);
 3583         SelectStoreLane(Node, 4, AArch64::ST4i32);
 3587         SelectStoreLane(Node, 4, AArch64::ST4i64);
 3597       SelectPostLoad(Node, 2, AArch64::LD2Twov8b_POST, AArch64::dsub0);
 3600       SelectPostLoad(Node, 2, AArch64::LD2Twov16b_POST, AArch64::qsub0);
 3603       SelectPostLoad(Node, 2, AArch64::LD2Twov4h_POST, AArch64::dsub0);
 3606       SelectPostLoad(Node, 2, AArch64::LD2Twov8h_POST, AArch64::qsub0);
 3609       SelectPostLoad(Node, 2, AArch64::LD2Twov2s_POST, AArch64::dsub0);
 3612       SelectPostLoad(Node, 2, AArch64::LD2Twov4s_POST, AArch64::qsub0);
 3615       SelectPostLoad(Node, 2, AArch64::LD1Twov1d_POST, AArch64::dsub0);
 3618       SelectPostLoad(Node, 2, AArch64::LD2Twov2d_POST, AArch64::qsub0);
 3625       SelectPostLoad(Node, 3, AArch64::LD3Threev8b_POST, AArch64::dsub0);
 3628       SelectPostLoad(Node, 3, AArch64::LD3Threev16b_POST, AArch64::qsub0);
 3631       SelectPostLoad(Node, 3, AArch64::LD3Threev4h_POST, AArch64::dsub0);
 3634       SelectPostLoad(Node, 3, AArch64::LD3Threev8h_POST, AArch64::qsub0);
 3637       SelectPostLoad(Node, 3, AArch64::LD3Threev2s_POST, AArch64::dsub0);
 3640       SelectPostLoad(Node, 3, AArch64::LD3Threev4s_POST, AArch64::qsub0);
 3643       SelectPostLoad(Node, 3, AArch64::LD1Threev1d_POST, AArch64::dsub0);
 3646       SelectPostLoad(Node, 3, AArch64::LD3Threev2d_POST, AArch64::qsub0);
 3653       SelectPostLoad(Node, 4, AArch64::LD4Fourv8b_POST, AArch64::dsub0);
 3656       SelectPostLoad(Node, 4, AArch64::LD4Fourv16b_POST, AArch64::qsub0);
 3659       SelectPostLoad(Node, 4, AArch64::LD4Fourv4h_POST, AArch64::dsub0);
 3662       SelectPostLoad(Node, 4, AArch64::LD4Fourv8h_POST, AArch64::qsub0);
 3665       SelectPostLoad(Node, 4, AArch64::LD4Fourv2s_POST, AArch64::dsub0);
 3668       SelectPostLoad(Node, 4, AArch64::LD4Fourv4s_POST, AArch64::qsub0);
 3671       SelectPostLoad(Node, 4, AArch64::LD1Fourv1d_POST, AArch64::dsub0);
 3674       SelectPostLoad(Node, 4, AArch64::LD4Fourv2d_POST, AArch64::qsub0);
 3681       SelectPostLoad(Node, 2, AArch64::LD1Twov8b_POST, AArch64::dsub0);
 3684       SelectPostLoad(Node, 2, AArch64::LD1Twov16b_POST, AArch64::qsub0);
 3687       SelectPostLoad(Node, 2, AArch64::LD1Twov4h_POST, AArch64::dsub0);
 3690       SelectPostLoad(Node, 2, AArch64::LD1Twov8h_POST, AArch64::qsub0);
 3693       SelectPostLoad(Node, 2, AArch64::LD1Twov2s_POST, AArch64::dsub0);
 3696       SelectPostLoad(Node, 2, AArch64::LD1Twov4s_POST, AArch64::qsub0);
 3699       SelectPostLoad(Node, 2, AArch64::LD1Twov1d_POST, AArch64::dsub0);
 3702       SelectPostLoad(Node, 2, AArch64::LD1Twov2d_POST, AArch64::qsub0);
 3709       SelectPostLoad(Node, 3, AArch64::LD1Threev8b_POST, AArch64::dsub0);
 3712       SelectPostLoad(Node, 3, AArch64::LD1Threev16b_POST, AArch64::qsub0);
 3715       SelectPostLoad(Node, 3, AArch64::LD1Threev4h_POST, AArch64::dsub0);
 3718       SelectPostLoad(Node, 3, AArch64::LD1Threev8h_POST, AArch64::qsub0);
 3721       SelectPostLoad(Node, 3, AArch64::LD1Threev2s_POST, AArch64::dsub0);
 3724       SelectPostLoad(Node, 3, AArch64::LD1Threev4s_POST, AArch64::qsub0);
 3727       SelectPostLoad(Node, 3, AArch64::LD1Threev1d_POST, AArch64::dsub0);
 3730       SelectPostLoad(Node, 3, AArch64::LD1Threev2d_POST, AArch64::qsub0);
 3737       SelectPostLoad(Node, 4, AArch64::LD1Fourv8b_POST, AArch64::dsub0);
 3740       SelectPostLoad(Node, 4, AArch64::LD1Fourv16b_POST, AArch64::qsub0);
 3743       SelectPostLoad(Node, 4, AArch64::LD1Fourv4h_POST, AArch64::dsub0);
 3746       SelectPostLoad(Node, 4, AArch64::LD1Fourv8h_POST, AArch64::qsub0);
 3749       SelectPostLoad(Node, 4, AArch64::LD1Fourv2s_POST, AArch64::dsub0);
 3752       SelectPostLoad(Node, 4, AArch64::LD1Fourv4s_POST, AArch64::qsub0);
 3755       SelectPostLoad(Node, 4, AArch64::LD1Fourv1d_POST, AArch64::dsub0);
 3758       SelectPostLoad(Node, 4, AArch64::LD1Fourv2d_POST, AArch64::qsub0);
 3765       SelectPostLoad(Node, 1, AArch64::LD1Rv8b_POST, AArch64::dsub0);
 3768       SelectPostLoad(Node, 1, AArch64::LD1Rv16b_POST, AArch64::qsub0);
 3771       SelectPostLoad(Node, 1, AArch64::LD1Rv4h_POST, AArch64::dsub0);
 3774       SelectPostLoad(Node, 1, AArch64::LD1Rv8h_POST, AArch64::qsub0);
 3777       SelectPostLoad(Node, 1, AArch64::LD1Rv2s_POST, AArch64::dsub0);
 3780       SelectPostLoad(Node, 1, AArch64::LD1Rv4s_POST, AArch64::qsub0);
 3783       SelectPostLoad(Node, 1, AArch64::LD1Rv1d_POST, AArch64::dsub0);
 3786       SelectPostLoad(Node, 1, AArch64::LD1Rv2d_POST, AArch64::qsub0);
 3793       SelectPostLoad(Node, 2, AArch64::LD2Rv8b_POST, AArch64::dsub0);
 3796       SelectPostLoad(Node, 2, AArch64::LD2Rv16b_POST, AArch64::qsub0);
 3799       SelectPostLoad(Node, 2, AArch64::LD2Rv4h_POST, AArch64::dsub0);
 3802       SelectPostLoad(Node, 2, AArch64::LD2Rv8h_POST, AArch64::qsub0);
 3805       SelectPostLoad(Node, 2, AArch64::LD2Rv2s_POST, AArch64::dsub0);
 3808       SelectPostLoad(Node, 2, AArch64::LD2Rv4s_POST, AArch64::qsub0);
 3811       SelectPostLoad(Node, 2, AArch64::LD2Rv1d_POST, AArch64::dsub0);
 3814       SelectPostLoad(Node, 2, AArch64::LD2Rv2d_POST, AArch64::qsub0);
 3821       SelectPostLoad(Node, 3, AArch64::LD3Rv8b_POST, AArch64::dsub0);
 3824       SelectPostLoad(Node, 3, AArch64::LD3Rv16b_POST, AArch64::qsub0);
 3827       SelectPostLoad(Node, 3, AArch64::LD3Rv4h_POST, AArch64::dsub0);
 3830       SelectPostLoad(Node, 3, AArch64::LD3Rv8h_POST, AArch64::qsub0);
 3833       SelectPostLoad(Node, 3, AArch64::LD3Rv2s_POST, AArch64::dsub0);
 3836       SelectPostLoad(Node, 3, AArch64::LD3Rv4s_POST, AArch64::qsub0);
 3839       SelectPostLoad(Node, 3, AArch64::LD3Rv1d_POST, AArch64::dsub0);
 3842       SelectPostLoad(Node, 3, AArch64::LD3Rv2d_POST, AArch64::qsub0);
 3849       SelectPostLoad(Node, 4, AArch64::LD4Rv8b_POST, AArch64::dsub0);
 3852       SelectPostLoad(Node, 4, AArch64::LD4Rv16b_POST, AArch64::qsub0);
 3855       SelectPostLoad(Node, 4, AArch64::LD4Rv4h_POST, AArch64::dsub0);
 3858       SelectPostLoad(Node, 4, AArch64::LD4Rv8h_POST, AArch64::qsub0);
 3861       SelectPostLoad(Node, 4, AArch64::LD4Rv2s_POST, AArch64::dsub0);
 3864       SelectPostLoad(Node, 4, AArch64::LD4Rv4s_POST, AArch64::qsub0);
 3867       SelectPostLoad(Node, 4, AArch64::LD4Rv1d_POST, AArch64::dsub0);
 3870       SelectPostLoad(Node, 4, AArch64::LD4Rv2d_POST, AArch64::qsub0);
 3877       SelectPostLoadLane(Node, 1, AArch64::LD1i8_POST);
 3881       SelectPostLoadLane(Node, 1, AArch64::LD1i16_POST);
 3885       SelectPostLoadLane(Node, 1, AArch64::LD1i32_POST);
 3889       SelectPostLoadLane(Node, 1, AArch64::LD1i64_POST);
 3896       SelectPostLoadLane(Node, 2, AArch64::LD2i8_POST);
 3900       SelectPostLoadLane(Node, 2, AArch64::LD2i16_POST);
 3904       SelectPostLoadLane(Node, 2, AArch64::LD2i32_POST);
 3908       SelectPostLoadLane(Node, 2, AArch64::LD2i64_POST);
 3915       SelectPostLoadLane(Node, 3, AArch64::LD3i8_POST);
 3919       SelectPostLoadLane(Node, 3, AArch64::LD3i16_POST);
 3923       SelectPostLoadLane(Node, 3, AArch64::LD3i32_POST);
 3927       SelectPostLoadLane(Node, 3, AArch64::LD3i64_POST);
 3934       SelectPostLoadLane(Node, 4, AArch64::LD4i8_POST);
 3938       SelectPostLoadLane(Node, 4, AArch64::LD4i16_POST);
 3942       SelectPostLoadLane(Node, 4, AArch64::LD4i32_POST);
 3946       SelectPostLoadLane(Node, 4, AArch64::LD4i64_POST);
 3952     VT = Node->getOperand(1).getValueType();
 3954       SelectPostStore(Node, 2, AArch64::ST2Twov8b_POST);
 3957       SelectPostStore(Node, 2, AArch64::ST2Twov16b_POST);
 3960       SelectPostStore(Node, 2, AArch64::ST2Twov4h_POST);
 3963       SelectPostStore(Node, 2, AArch64::ST2Twov8h_POST);
 3966       SelectPostStore(Node, 2, AArch64::ST2Twov2s_POST);
 3969       SelectPostStore(Node, 2, AArch64::ST2Twov4s_POST);
 3972       SelectPostStore(Node, 2, AArch64::ST2Twov2d_POST);
 3975       SelectPostStore(Node, 2, AArch64::ST1Twov1d_POST);
 3981     VT = Node->getOperand(1).getValueType();
 3983       SelectPostStore(Node, 3, AArch64::ST3Threev8b_POST);
 3986       SelectPostStore(Node, 3, AArch64::ST3Threev16b_POST);
 3989       SelectPostStore(Node, 3, AArch64::ST3Threev4h_POST);
 3992       SelectPostStore(Node, 3, AArch64::ST3Threev8h_POST);
 3995       SelectPostStore(Node, 3, AArch64::ST3Threev2s_POST);
 3998       SelectPostStore(Node, 3, AArch64::ST3Threev4s_POST);
 4001       SelectPostStore(Node, 3, AArch64::ST3Threev2d_POST);
 4004       SelectPostStore(Node, 3, AArch64::ST1Threev1d_POST);
 4010     VT = Node->getOperand(1).getValueType();
 4012       SelectPostStore(Node, 4, AArch64::ST4Fourv8b_POST);
 4015       SelectPostStore(Node, 4, AArch64::ST4Fourv16b_POST);
 4018       SelectPostStore(Node, 4, AArch64::ST4Fourv4h_POST);
 4021       SelectPostStore(Node, 4, AArch64::ST4Fourv8h_POST);
 4024       SelectPostStore(Node, 4, AArch64::ST4Fourv2s_POST);
 4027       SelectPostStore(Node, 4, AArch64::ST4Fourv4s_POST);
 4030       SelectPostStore(Node, 4, AArch64::ST4Fourv2d_POST);
 4033       SelectPostStore(Node, 4, AArch64::ST1Fourv1d_POST);
 4039     VT = Node->getOperand(1).getValueType();
 4041       SelectPostStore(Node, 2, AArch64::ST1Twov8b_POST);
 4044       SelectPostStore(Node, 2, AArch64::ST1Twov16b_POST);
 4047       SelectPostStore(Node, 2, AArch64::ST1Twov4h_POST);
 4050       SelectPostStore(Node, 2, AArch64::ST1Twov8h_POST);
 4053       SelectPostStore(Node, 2, AArch64::ST1Twov2s_POST);
 4056       SelectPostStore(Node, 2, AArch64::ST1Twov4s_POST);
 4059       SelectPostStore(Node, 2, AArch64::ST1Twov1d_POST);
 4062       SelectPostStore(Node, 2, AArch64::ST1Twov2d_POST);
 4068     VT = Node->getOperand(1).getValueType();
 4070       SelectPostStore(Node, 3, AArch64::ST1Threev8b_POST);
 4073       SelectPostStore(Node, 3, AArch64::ST1Threev16b_POST);
 4076       SelectPostStore(Node, 3, AArch64::ST1Threev4h_POST);
 4079       SelectPostStore(Node, 3, AArch64::ST1Threev8h_POST);
 4082       SelectPostStore(Node, 3, AArch64::ST1Threev2s_POST);
 4085       SelectPostStore(Node, 3, AArch64::ST1Threev4s_POST);
 4088       SelectPostStore(Node, 3, AArch64::ST1Threev1d_POST);
 4091       SelectPostStore(Node, 3, AArch64::ST1Threev2d_POST);
 4097     VT = Node->getOperand(1).getValueType();
 4099       SelectPostStore(Node, 4, AArch64::ST1Fourv8b_POST);
 4102       SelectPostStore(Node, 4, AArch64::ST1Fourv16b_POST);
 4105       SelectPostStore(Node, 4, AArch64::ST1Fourv4h_POST);
 4108       SelectPostStore(Node, 4, AArch64::ST1Fourv8h_POST);
 4111       SelectPostStore(Node, 4, AArch64::ST1Fourv2s_POST);
 4114       SelectPostStore(Node, 4, AArch64::ST1Fourv4s_POST);
 4117       SelectPostStore(Node, 4, AArch64::ST1Fourv1d_POST);
 4120       SelectPostStore(Node, 4, AArch64::ST1Fourv2d_POST);
 4126     VT = Node->getOperand(1).getValueType();
 4128       SelectPostStoreLane(Node, 2, AArch64::ST2i8_POST);
 4132       SelectPostStoreLane(Node, 2, AArch64::ST2i16_POST);
 4136       SelectPostStoreLane(Node, 2, AArch64::ST2i32_POST);
 4140       SelectPostStoreLane(Node, 2, AArch64::ST2i64_POST);
 4146     VT = Node->getOperand(1).getValueType();
 4148       SelectPostStoreLane(Node, 3, AArch64::ST3i8_POST);
 4152       SelectPostStoreLane(Node, 3, AArch64::ST3i16_POST);
 4156       SelectPostStoreLane(Node, 3, AArch64::ST3i32_POST);
 4160       SelectPostStoreLane(Node, 3, AArch64::ST3i64_POST);
 4166     VT = Node->getOperand(1).getValueType();
 4168       SelectPostStoreLane(Node, 4, AArch64::ST4i8_POST);
 4172       SelectPostStoreLane(Node, 4, AArch64::ST4i16_POST);
 4176       SelectPostStoreLane(Node, 4, AArch64::ST4i32_POST);
 4180       SelectPostStoreLane(Node, 4, AArch64::ST4i64_POST);
 4188   SelectCode(Node);