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