Lines Matching refs:PPC
246 Align(4)) == PPC::AM_DSForm; in SelectDSForm()
254 Align(16)) == PPC::AM_DQForm; in SelectDQForm()
262 None) == PPC::AM_DForm; in SelectDForm()
269 None) == PPC::AM_XForm; in SelectXForm()
277 PPC::AM_XForm; in SelectForceXForm()
442 GlobalBaseReg = PPC::R30; in getGlobalBaseReg()
445 BuildMI(FirstMBB, MBBI, dl, TII.get(PPC::MoveGOTtoLR)); in getGlobalBaseReg()
446 BuildMI(FirstMBB, MBBI, dl, TII.get(PPC::MFLR), GlobalBaseReg); in getGlobalBaseReg()
449 BuildMI(FirstMBB, MBBI, dl, TII.get(PPC::MovePCtoLR)); in getGlobalBaseReg()
450 BuildMI(FirstMBB, MBBI, dl, TII.get(PPC::MFLR), GlobalBaseReg); in getGlobalBaseReg()
451 Register TempReg = RegInfo->createVirtualRegister(&PPC::GPRCRegClass); in getGlobalBaseReg()
453 TII.get(PPC::UpdateGBR), GlobalBaseReg) in getGlobalBaseReg()
459 RegInfo->createVirtualRegister(&PPC::GPRC_and_GPRC_NOR0RegClass); in getGlobalBaseReg()
460 BuildMI(FirstMBB, MBBI, dl, TII.get(PPC::MovePCtoLR)); in getGlobalBaseReg()
461 BuildMI(FirstMBB, MBBI, dl, TII.get(PPC::MFLR), GlobalBaseReg); in getGlobalBaseReg()
474 GlobalBaseReg = RegInfo->createVirtualRegister(&PPC::G8RC_and_G8RC_NOX0RegClass); in getGlobalBaseReg()
475 BuildMI(FirstMBB, MBBI, dl, TII.get(PPC::MovePCtoLR8)); in getGlobalBaseReg()
476 BuildMI(FirstMBB, MBBI, dl, TII.get(PPC::MFLR8), GlobalBaseReg); in getGlobalBaseReg()
575 if (!FuncInfo.BPI) return PPC::BR_NO_HINT; in getBranchHint()
580 if (BBTerm->getNumSuccessors() != 2) return PPC::BR_NO_HINT; in getBranchHint()
604 return PPC::BR_NO_HINT; in getBranchHint()
618 return (TProb > FProb) ? PPC::BR_TAKEN_HINT : PPC::BR_NONTAKEN_HINT; in getBranchHint()
633 unsigned Opc = N->getValueType(0) == MVT::i32 ? PPC::ADDI : PPC::ADDI8; in selectFrameIndex()
703 Opcode = (RegVT == MVT::i32) ? PPC::STBXTLS_32 : PPC::STBXTLS; in tryTLSXFormStore()
707 Opcode = (RegVT == MVT::i32) ? PPC::STHXTLS_32 : PPC::STHXTLS; in tryTLSXFormStore()
711 Opcode = (RegVT == MVT::i32) ? PPC::STWXTLS_32 : PPC::STWXTLS; in tryTLSXFormStore()
715 Opcode = PPC::STDXTLS; in tryTLSXFormStore()
747 Opcode = (RegVT == MVT::i32) ? PPC::LBZXTLS_32 : PPC::LBZXTLS; in tryTLSXFormLoad()
751 Opcode = (RegVT == MVT::i32) ? PPC::LHZXTLS_32 : PPC::LHZXTLS; in tryTLSXFormLoad()
755 Opcode = (RegVT == MVT::i32) ? PPC::LWZXTLS_32 : PPC::LWZXTLS; in tryTLSXFormLoad()
759 Opcode = PPC::LDXTLS; in tryTLSXFormLoad()
840 ReplaceNode(N, CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops)); in tryBitfieldInsert()
874 case PPC::STW8: in allUsesTruncate()
875 case PPC::STWX8: in allUsesTruncate()
876 case PPC::STWU8: in allUsesTruncate()
877 case PPC::STWUX8: in allUsesTruncate()
882 case PPC::STH8: in allUsesTruncate()
883 case PPC::STHX8: in allUsesTruncate()
884 case PPC::STHU8: in allUsesTruncate()
885 case PPC::STHUX8: in allUsesTruncate()
890 case PPC::STB8: in allUsesTruncate()
891 case PPC::STBX8: in allUsesTruncate()
892 case PPC::STBU8: in allUsesTruncate()
893 case PPC::STBUX8: in allUsesTruncate()
935 return CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, SDImm); in selectI64ImmDirect()
940 return CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, in selectI64ImmDirect()
952 unsigned Opcode = ImmHi16 ? PPC::LIS8 : PPC::LI8; in selectI64ImmDirect()
954 return CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
964 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, in selectI64ImmDirect()
966 return CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
989 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, in selectI64ImmDirect()
991 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1011 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, in selectI64ImmDirect()
1013 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1021 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, in selectI64ImmDirect()
1023 return CurDAG->getMachineNode(PPC::ORIS8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1047 Result = CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, in selectI64ImmDirect()
1049 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1064 unsigned Opcode = ImmHi16 ? PPC::LIS8 : PPC::LI8; in selectI64ImmDirect()
1066 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1068 return CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1081 Result = CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, in selectI64ImmDirect()
1083 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1085 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1095 Result = CurDAG->getMachineNode(PPC::LIS8, dl, MVT::i64, in selectI64ImmDirect()
1097 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1099 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1106 unsigned Opcode = ImmHi16 ? PPC::LIS8 : PPC::LI8; in selectI64ImmDirect()
1108 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1113 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops); in selectI64ImmDirect()
1126 unsigned Opcode = ImmHi16 ? PPC::LIS8 : PPC::LI8; in selectI64ImmDirect()
1128 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1130 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirect()
1166 return CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, in selectI64ImmDirectPrefix()
1181 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, in selectI64ImmDirectPrefix()
1183 return CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirectPrefix()
1203 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, in selectI64ImmDirectPrefix()
1205 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirectPrefix()
1216 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, in selectI64ImmDirectPrefix()
1218 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, SDValue(Result, 0), in selectI64ImmDirectPrefix()
1235 CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(RotImm)); in selectI64ImmDirectPrefix()
1236 return CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in selectI64ImmDirectPrefix()
1245 Result = CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(Hi32)); in selectI64ImmDirectPrefix()
1248 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops); in selectI64ImmDirectPrefix()
1255 CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(Hi32)); in selectI64ImmDirectPrefix()
1257 CurDAG->getMachineNode(PPC::PLI8, dl, MVT::i64, getI64Imm(Lo32)); in selectI64ImmDirectPrefix()
1260 return CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops); in selectI64ImmDirectPrefix()
1304 Result = CurDAG->getMachineNode(PPC::ORIS8, dl, MVT::i64, in selectI64Imm()
1309 Result = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, SDValue(Result, 0), in selectI64Imm()
1328 return CurDAG->getMachineNode(PPC::LI8, dl, MVT::i64, SDImm); in selectI64Imm()
1961 SDValue SubRegIdx = CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32); in ExtendToInt64()
1962 SDValue ImDef = SDValue(CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl, in ExtendToInt64()
1964 SDValue ExtVal = SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl, in ExtendToInt64()
1975 SDValue SubRegIdx = CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32); in TruncateToInt32()
1976 SDValue SubVal = SDValue(CurDAG->getMachineNode(PPC::EXTRACT_SUBREG, dl, in TruncateToInt32()
2041 VRot = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, in SelectAndParts32()
2049 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI_rec, dl, MVT::i32, in SelectAndParts32()
2054 SDValue(CurDAG->getMachineNode(PPC::ANDIS_rec, dl, MVT::i32, VRot, in SelectAndParts32()
2064 TotalVal = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32, in SelectAndParts32()
2070 Res = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32, in SelectAndParts32()
2101 Res = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), in Select32()
2122 Res = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0); in Select32()
2128 Res = SDValue(CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops), 0); in Select32()
2145 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI_rec, dl, MVT::i32, in Select32()
2150 SDValue(CurDAG->getMachineNode(PPC::ANDIS_rec, dl, MVT::i32, Res, in Select32()
2159 Res = SDValue(CurDAG->getMachineNode(PPC::OR, dl, MVT::i32, in Select32()
2205 return SDValue(CurDAG->getMachineNode(PPC::RLWINM8, dl, MVT::i64, in SelectRotMask64()
2213 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Ops), 0); in SelectRotMask64()
2220 return SDValue(CurDAG->getMachineNode(PPC::RLDICR, dl, MVT::i64, Ops), 0); in SelectRotMask64()
2227 return SDValue(CurDAG->getMachineNode(PPC::RLDIC, dl, MVT::i64, Ops), 0); in SelectRotMask64()
2269 return SDValue(CurDAG->getMachineNode(PPC::RLWIMI8, dl, MVT::i64, in SelectRotMaskIns64()
2277 return SDValue(CurDAG->getMachineNode(PPC::RLDIMI, dl, MVT::i64, Ops), 0); in SelectRotMaskIns64()
2428 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI8_rec, dl, MVT::i64, in SelectAndParts64()
2434 SDValue(CurDAG->getMachineNode(PPC::ANDIS8_rec, dl, MVT::i64, in SelectAndParts64()
2444 TotalVal = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64, in SelectAndParts64()
2449 SDValue(CurDAG->getMachineNode(PPC::AND8, dl, MVT::i64, in SelectAndParts64()
2457 Res = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64, in SelectAndParts64()
2578 ANDIVal = SDValue(CurDAG->getMachineNode(PPC::ANDI8_rec, dl, MVT::i64, in Select64()
2584 SDValue(CurDAG->getMachineNode(PPC::ANDIS8_rec, dl, MVT::i64, in Select64()
2594 Res = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64, in Select64()
2600 Res = SDValue(CurDAG->getMachineNode(PPC::AND8, dl, MVT::i64, in Select64()
2832 bool IsBitwiseNegate = LoweredLogical.getMachineOpcode() == PPC::XORI8; in tryLogicOpOfCompares()
2833 unsigned SubRegToExtract = IsBitwiseNegate ? PPC::sub_eq : PPC::sub_gt; in tryLogicOpOfCompares()
2834 SDValue CR0Reg = CurDAG->getRegister(PPC::CR0, MVT::i32); in tryLogicOpOfCompares()
2843 LoweredLogical.getOperand(0).getMachineOpcode() == PPC::INSERT_SUBREG) in tryLogicOpOfCompares()
2878 SDValue(CurDAG->getMachineNode(NewOpc == -1 ? PPC::ANDI8_rec : NewOpc, in tryLogicOpOfCompares()
2926 return SDValue(CurDAG->getMachineNode(InVT == MVT::i32 ? PPC::RLDICL_32 : in computeLogicOpInGPR()
2927 PPC::RLDICL, dl, InVT, InputOp, in computeLogicOpInGPR()
2954 case ISD::AND: NewOpc = PPC::AND8; break; in computeLogicOpInGPR()
2955 case ISD::OR: NewOpc = PPC::OR8; break; in computeLogicOpInGPR()
2956 case ISD::XOR: NewOpc = PPC::XOR8; break; in computeLogicOpInGPR()
2961 NewOpc = PPC::XORI8; in computeLogicOpInGPR()
2997 return SDValue(CurDAG->getMachineNode(PPC::EXTSW_32_64, dl, in signExtendInputIfNeeded()
3032 return SDValue(CurDAG->getMachineNode(PPC::RLDICL_32_64, dl, MVT::i64, Input, in zeroExtendInputIfNeeded()
3048 SDValue ImDef(CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl, MVT::i64), 0); in addExtOrTrunc()
3050 CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32); in addExtOrTrunc()
3051 return SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl, MVT::i64, in addExtOrTrunc()
3060 CurDAG->getTargetConstant(PPC::sub_32, dl, MVT::i32); in addExtOrTrunc()
3061 return SDValue(CurDAG->getMachineNode(PPC::EXTRACT_SUBREG, dl, MVT::i32, in addExtOrTrunc()
3078 ToExtend = SDValue(CurDAG->getMachineNode(Is32Bit ? PPC::NOR : PPC::NOR8, in getCompoundZeroComparisonInGPR()
3087 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0); in getCompoundZeroComparisonInGPR()
3089 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in getCompoundZeroComparisonInGPR()
3094 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS, in getCompoundZeroComparisonInGPR()
3096 ToExtend = SDValue(CurDAG->getMachineNode(PPC::OR8, dl, MVT::i64, in getCompoundZeroComparisonInGPR()
3106 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in getCompoundZeroComparisonInGPR()
3111 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, ToExtend, in getCompoundZeroComparisonInGPR()
3120 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, in getCompoundZeroComparisonInGPR()
3124 return SDValue(CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, ToExtend, in getCompoundZeroComparisonInGPR()
3127 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, ToExtend, in getCompoundZeroComparisonInGPR()
3130 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, ToExtend, in getCompoundZeroComparisonInGPR()
3157 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0); in get32BitZExtCompare()
3159 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0); in get32BitZExtCompare()
3162 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, in get32BitZExtCompare()
3169 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0); in get32BitZExtCompare()
3171 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0); in get32BitZExtCompare()
3175 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, ShiftOps), 0); in get32BitZExtCompare()
3176 return SDValue(CurDAG->getMachineNode(PPC::XORI, dl, MVT::i32, Shift, in get32BitZExtCompare()
3207 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0); in get32BitZExtCompare()
3209 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Sub, in get32BitZExtCompare()
3213 SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, in get32BitZExtCompare()
3231 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0); in get32BitZExtCompare()
3232 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get32BitZExtCompare()
3257 return SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, in get32BitZExtCompare()
3267 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0); in get32BitZExtCompare()
3268 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get32BitZExtCompare()
3284 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0); in get32BitZExtCompare()
3286 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get32BitZExtCompare()
3289 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, SrdiNode, in get32BitZExtCompare()
3304 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0); in get32BitZExtCompare()
3305 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get32BitZExtCompare()
3333 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0); in get32BitSExtCompare()
3335 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, CountInput), 0); in get32BitSExtCompare()
3339 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, SHLOps), 0); in get32BitSExtCompare()
3340 return SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Slwi), 0); in get32BitSExtCompare()
3351 SDValue(CurDAG->getMachineNode(PPC::XOR, dl, MVT::i32, LHS, RHS), 0); in get32BitSExtCompare()
3353 SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Xor), 0); in get32BitSExtCompare()
3357 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, ShiftOps), 0); in get32BitSExtCompare()
3359 SDValue(CurDAG->getMachineNode(PPC::XORI, dl, MVT::i32, Shift, in get32BitSExtCompare()
3361 return SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Xori), 0); in get32BitSExtCompare()
3388 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, MVT::Glue, in get32BitSExtCompare()
3391 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get32BitSExtCompare()
3394 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, Srdi, in get32BitSExtCompare()
3410 SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, LHS), 0); in get32BitSExtCompare()
3411 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, Neg, in get32BitSExtCompare()
3432 return SDValue(CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, LHS, in get32BitSExtCompare()
3441 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0); in get32BitSExtCompare()
3442 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, in get32BitSExtCompare()
3457 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, LHS, RHS), 0); in get32BitSExtCompare()
3459 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Subtract, in get32BitSExtCompare()
3462 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, Shift, in get32BitSExtCompare()
3477 SDValue(CurDAG->getMachineNode(PPC::SUBF8, dl, MVT::i64, RHS, LHS), 0); in get32BitSExtCompare()
3478 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, in get32BitSExtCompare()
3502 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0); in get64BitZExtCompare()
3504 SDValue(CurDAG->getMachineNode(PPC::CNTLZD, dl, MVT::i64, Xor), 0); in get64BitZExtCompare()
3505 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Clz, in get64BitZExtCompare()
3515 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0); in get64BitZExtCompare()
3517 SDValue(CurDAG->getMachineNode(PPC::ADDIC8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3519 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, AC, in get64BitZExtCompare()
3542 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS, in get64BitZExtCompare()
3546 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, RHS, in get64BitZExtCompare()
3549 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3551 return SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3563 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS, in get64BitZExtCompare()
3566 SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64, Addi, LHS), 0); in get64BitZExtCompare()
3567 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, Nor, in get64BitZExtCompare()
3585 return SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS, in get64BitZExtCompare()
3589 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, in get64BitZExtCompare()
3592 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get64BitZExtCompare()
3596 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3599 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3601 return SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, in get64BitZExtCompare()
3613 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3616 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3618 return SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, in get64BitZExtCompare()
3630 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitZExtCompare()
3633 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, in get64BitZExtCompare()
3635 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, in get64BitZExtCompare()
3661 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0); in get64BitSExtCompare()
3663 SDValue(CurDAG->getMachineNode(PPC::ADDIC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3665 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, Addic, in get64BitSExtCompare()
3674 SDValue(CurDAG->getMachineNode(PPC::XOR8, dl, MVT::i64, LHS, RHS), 0); in get64BitSExtCompare()
3676 SDValue(CurDAG->getMachineNode(PPC::SUBFIC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3678 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, SC, in get64BitSExtCompare()
3701 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, RHS, in get64BitSExtCompare()
3704 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, LHS, in get64BitSExtCompare()
3708 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3711 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3713 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, Adde), 0); in get64BitSExtCompare()
3724 SDValue(CurDAG->getMachineNode(PPC::ADDI8, dl, MVT::i64, LHS, in get64BitSExtCompare()
3727 SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64, Add, LHS), 0); in get64BitSExtCompare()
3728 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, Nor, in get64BitSExtCompare()
3745 return SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, LHS, in get64BitSExtCompare()
3749 SDValue(CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, in get64BitSExtCompare()
3752 SDValue(CurDAG->getMachineNode(PPC::RLDICL, dl, MVT::i64, in get64BitSExtCompare()
3756 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3759 SDValue(CurDAG->getMachineNode(PPC::ADDE8, dl, MVT::i64, in get64BitSExtCompare()
3762 SDValue(CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, in get64BitSExtCompare()
3764 return SDValue(CurDAG->getMachineNode(PPC::NEG8, dl, MVT::i64, in get64BitSExtCompare()
3776 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3779 SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, MVT::Glue, LHS, in get64BitSExtCompare()
3781 return SDValue(CurDAG->getMachineNode(PPC::NOR8, dl, MVT::i64, in get64BitSExtCompare()
3793 SDValue(CurDAG->getMachineNode(PPC::SUBFC8, dl, MVT::i64, MVT::Glue, in get64BitSExtCompare()
3795 return SDValue(CurDAG->getMachineNode(PPC::SUBFE8, dl, MVT::i64, in get64BitSExtCompare()
3948 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, LHS, in SelectCC()
3953 return SDValue(CurDAG->getMachineNode(PPC::CMPWI, dl, MVT::i32, LHS, in SelectCC()
3966 SDValue Xor(CurDAG->getMachineNode(PPC::XORIS, dl, MVT::i32, LHS, in SelectCC()
3968 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, Xor, in SelectCC()
3971 Opc = PPC::CMPLW; in SelectCC()
3974 return SDValue(CurDAG->getMachineNode(PPC::CMPLWI, dl, MVT::i32, LHS, in SelectCC()
3976 Opc = PPC::CMPLW; in SelectCC()
3980 return SDValue(CurDAG->getMachineNode(PPC::CMPWI, dl, MVT::i32, LHS, in SelectCC()
3984 Opc = PPC::CMPW; in SelectCC()
3992 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, LHS, in SelectCC()
3997 return SDValue(CurDAG->getMachineNode(PPC::CMPDI, dl, MVT::i64, LHS, in SelectCC()
4011 SDValue Xor(CurDAG->getMachineNode(PPC::XORIS8, dl, MVT::i64, LHS, in SelectCC()
4013 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, Xor, in SelectCC()
4018 Opc = PPC::CMPLD; in SelectCC()
4021 return SDValue(CurDAG->getMachineNode(PPC::CMPLDI, dl, MVT::i64, LHS, in SelectCC()
4023 Opc = PPC::CMPLD; in SelectCC()
4027 return SDValue(CurDAG->getMachineNode(PPC::CMPDI, dl, MVT::i64, LHS, in SelectCC()
4030 Opc = PPC::CMPD; in SelectCC()
4038 Opc = PPC::EFSCMPEQ; in SelectCC()
4046 Opc = PPC::EFSCMPLT; in SelectCC()
4054 Opc = PPC::EFSCMPGT; in SelectCC()
4058 Opc = PPC::FCMPUS; in SelectCC()
4065 Opc = PPC::EFDCMPEQ; in SelectCC()
4073 Opc = PPC::EFDCMPLT; in SelectCC()
4081 Opc = PPC::EFDCMPGT; in SelectCC()
4085 Opc = Subtarget->hasVSX() ? PPC::XSCMPUDP : PPC::FCMPUD; in SelectCC()
4089 Opc = PPC::XSCMPUQP; in SelectCC()
4099 static PPC::Predicate getPredicateForSetCC(ISD::CondCode CC, const EVT &VT, in getPredicateForSetCC()
4113 return UseSPE ? PPC::PRED_GT : PPC::PRED_EQ; in getPredicateForSetCC()
4116 return UseSPE ? PPC::PRED_LE : PPC::PRED_NE; in getPredicateForSetCC()
4119 return UseSPE ? PPC::PRED_GT : PPC::PRED_LT; in getPredicateForSetCC()
4122 return PPC::PRED_LE; in getPredicateForSetCC()
4125 return PPC::PRED_GT; in getPredicateForSetCC()
4128 return UseSPE ? PPC::PRED_LE : PPC::PRED_GE; in getPredicateForSetCC()
4129 case ISD::SETO: return PPC::PRED_NU; in getPredicateForSetCC()
4130 case ISD::SETUO: return PPC::PRED_UN; in getPredicateForSetCC()
4132 case ISD::SETULT: return PPC::PRED_LT; in getPredicateForSetCC()
4133 case ISD::SETUGT: return PPC::PRED_GT; in getPredicateForSetCC()
4202 return HasVSX ? PPC::XVCMPEQSP : PPC::VCMPEQFP; in getVCmpInst()
4204 return PPC::XVCMPEQDP; in getVCmpInst()
4209 return HasVSX ? PPC::XVCMPGTSP : PPC::VCMPGTFP; in getVCmpInst()
4211 return PPC::XVCMPGTDP; in getVCmpInst()
4216 return HasVSX ? PPC::XVCMPGESP : PPC::VCMPGEFP; in getVCmpInst()
4218 return PPC::XVCMPGEDP; in getVCmpInst()
4246 return PPC::VCMPEQUB; in getVCmpInst()
4248 return PPC::VCMPEQUH; in getVCmpInst()
4250 return PPC::VCMPEQUW; in getVCmpInst()
4252 return PPC::VCMPEQUD; in getVCmpInst()
4254 return PPC::VCMPEQUQ; in getVCmpInst()
4258 return PPC::VCMPGTSB; in getVCmpInst()
4260 return PPC::VCMPGTSH; in getVCmpInst()
4262 return PPC::VCMPGTSW; in getVCmpInst()
4264 return PPC::VCMPGTSD; in getVCmpInst()
4266 return PPC::VCMPGTSQ; in getVCmpInst()
4270 return PPC::VCMPGTUB; in getVCmpInst()
4272 return PPC::VCMPGTUH; in getVCmpInst()
4274 return PPC::VCMPGTUW; in getVCmpInst()
4276 return PPC::VCMPGTUD; in getVCmpInst()
4278 return PPC::VCMPGTUQ; in getVCmpInst()
4310 Op = SDValue(CurDAG->getMachineNode(PPC::CNTLZW, dl, MVT::i32, Op), 0); in trySETCC()
4313 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in trySETCC()
4319 SDValue(CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue, in trySETCC()
4321 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, AD, Op, AD.getValue(1)); in trySETCC()
4327 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in trySETCC()
4332 SDValue(CurDAG->getMachineNode(PPC::NEG, dl, MVT::i32, Op), 0); in trySETCC()
4333 T = SDValue(CurDAG->getMachineNode(PPC::ANDC, dl, MVT::i32, T, Op), 0); in trySETCC()
4336 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in trySETCC()
4346 Op = SDValue(CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue, in trySETCC()
4348 CurDAG->SelectNodeTo(N, PPC::ADDZE, MVT::i32, in trySETCC()
4349 SDValue(CurDAG->getMachineNode(PPC::LI, dl, in trySETCC()
4356 Op = SDValue(CurDAG->getMachineNode(PPC::NOR, dl, MVT::i32, Op, Op), 0); in trySETCC()
4357 SDNode *AD = CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue, in trySETCC()
4359 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, SDValue(AD, 0), Op, in trySETCC()
4364 SDValue AD = SDValue(CurDAG->getMachineNode(PPC::ADDI, dl, MVT::i32, Op, in trySETCC()
4366 SDValue AN = SDValue(CurDAG->getMachineNode(PPC::AND, dl, MVT::i32, AD, in trySETCC()
4370 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in trySETCC()
4376 Op = SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0); in trySETCC()
4377 CurDAG->SelectNodeTo(N, PPC::XORI, MVT::i32, Op, getI32Imm(1, dl)); in trySETCC()
4400 CurDAG->SelectNodeTo(N, Subtarget->hasVSX() ? PPC::XXLNOR : PPC::VNOR, in trySETCC()
4426 SDValue CR7Reg = CurDAG->getRegister(PPC::CR7, MVT::i32); in trySETCC()
4432 IntCR = SDValue(CurDAG->getMachineNode(PPC::MFOCRF, dl, MVT::i32, CR7Reg, in trySETCC()
4438 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in trySETCC()
4444 SDValue(CurDAG->getMachineNode(PPC::RLWINM, dl, MVT::i32, Ops), 0); in trySETCC()
4445 CurDAG->SelectNodeTo(N, PPC::XORI, MVT::i32, Tmp, getI32Imm(1, dl)); in trySETCC()
4678 PCC = IsCCNE ? PPC::PRED_UN : PPC::PRED_NU; in tryFoldSWTestBRCC()
4681 PCC = IsCCNE ? PPC::PRED_EQ : PPC::PRED_NE; in tryFoldSWTestBRCC()
4684 PCC = IsCCNE ? PPC::PRED_GT : PPC::PRED_LE; in tryFoldSWTestBRCC()
4687 PCC = IsCCNE ? PPC::PRED_LT : PPC::PRED_GE; in tryFoldSWTestBRCC()
4694 PCC = IsCCNE ? PPC::PRED_UN : PPC::PRED_NU; in tryFoldSWTestBRCC()
4700 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops); in tryFoldSWTestBRCC()
4721 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in tryAsSingleRLWINM()
4730 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in tryAsSingleRLWINM()
4762 CurDAG->SelectNodeTo(N, PPC::RLWINM8, MVT::i64, Ops); in tryAsSingleRLWINM8()
4806 Val = SDValue(CurDAG->getMachineNode(PPC::RLDICL, Loc, MVT::i64, Val, in tryAsPairOfRLDICL()
4819 CurDAG->SelectNodeTo(N, PPC::RLDICL, MVT::i64, Ops); in tryAsPairOfRLDICL()
4854 ReplaceNode(N, CurDAG->getMachineNode(PPC::RLWIMI, dl, MVT::i32, Ops)); in tryAsSingleRLWIMI()
4880 auto ImDef = CurDAG->getMachineNode(PPC::IMPLICIT_DEF, dl, ResultType); in tryAsSingleRLDICL()
4883 Val = SDValue(CurDAG->getMachineNode(PPC::INSERT_SUBREG, dl, ResultType, in tryAsSingleRLDICL()
4904 CurDAG->SelectNodeTo(N, PPC::RLDICL, MVT::i64, Ops); in tryAsSingleRLDICL()
4922 CurDAG->SelectNodeTo(N, PPC::RLDICR, MVT::i64, Ops); in tryAsSingleRLDICR()
4947 CurDAG->SelectNodeTo(N, PPC::RLDIMI, MVT::i64, Ops); in tryAsSingleRLDIMI()
4994 CurDAG->SelectNodeTo(N, PPC::FSELS, MVT::f32, Ops); in Select()
5005 Opcode = PPC::VSTRIBR_rec; in Select()
5008 Opcode = PPC::VSTRIBL_rec; in Select()
5011 Opcode = PPC::VSTRIHR_rec; in Select()
5014 Opcode = PPC::VSTRIHL_rec; in Select()
5026 SDValue SubRegIdx = CurDAG->getTargetConstant(PPC::sub_eq, dl, MVT::i32); in Select()
5027 SDValue CR6Reg = CurDAG->getRegister(PPC::CR6, MVT::i32); in Select()
5032 CurDAG->SelectNodeTo(N, PPC::SETBC, MVT::i32, CRBit); in Select()
5084 ReplaceNode(N, CurDAG->getMachineNode(PPC::MFOCRF, dl, MVT::i32, in Select()
5090 ReplaceNode(N, CurDAG->getMachineNode(PPC::ReadTB, dl, MVT::i32, MVT::i32, in Select()
5102 CurDAG->getMachineNode(PPC::SRADI, dl, MVT::i64, MVT::Glue, in Select()
5104 CurDAG->SelectNodeTo(N, PPC::ADDZE8, MVT::i64, SDValue(Op, 0), in Select()
5111 CurDAG->getMachineNode(PPC::SRAWI, dl, MVT::i32, MVT::Glue, in Select()
5113 CurDAG->SelectNodeTo(N, PPC::ADDZE, MVT::i32, SDValue(Op, 0), in Select()
5153 case MVT::f64: Opcode = PPC::LFDU; break; in Select()
5154 case MVT::f32: Opcode = PPC::LFSU; break; in Select()
5155 case MVT::i32: Opcode = PPC::LWZU; break; in Select()
5156 case MVT::i16: Opcode = isSExt ? PPC::LHAU : PPC::LHZU; break; in Select()
5158 case MVT::i8: Opcode = PPC::LBZU; break; in Select()
5165 case MVT::i64: Opcode = PPC::LDU; break; in Select()
5166 case MVT::i32: Opcode = PPC::LWZU8; break; in Select()
5167 case MVT::i16: Opcode = isSExt ? PPC::LHAU8 : PPC::LHZU8; break; in Select()
5169 case MVT::i8: Opcode = PPC::LBZU8; break; in Select()
5190 case MVT::f64: Opcode = PPC::LFDUX; break; in Select()
5191 case MVT::f32: Opcode = PPC::LFSUX; break; in Select()
5192 case MVT::i32: Opcode = PPC::LWZUX; break; in Select()
5193 case MVT::i16: Opcode = isSExt ? PPC::LHAUX : PPC::LHZUX; break; in Select()
5195 case MVT::i8: Opcode = PPC::LBZUX; break; in Select()
5203 case MVT::i64: Opcode = PPC::LDUX; break; in Select()
5204 case MVT::i32: Opcode = isSExt ? PPC::LWAUX : PPC::LWZUX8; break; in Select()
5205 case MVT::i16: Opcode = isSExt ? PPC::LHAUX8 : PPC::LHZUX8; break; in Select()
5207 case MVT::i8: Opcode = PPC::LBZUX8; break; in Select()
5264 SDNode *Lo = CurDAG->getMachineNode(PPC::ORI8, dl, MVT::i64, in Select()
5268 CurDAG->SelectNodeTo(N, PPC::ORIS8, MVT::i64, Ops1); in Select()
5287 SDNode *Lo = CurDAG->getMachineNode(PPC::XORI8, dl, MVT::i64, in Select()
5291 CurDAG->SelectNodeTo(N, PPC::XORIS8, MVT::i64, Ops1); in Select()
5315 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in Select()
5329 CurDAG->SelectNodeTo(N, PPC::RLWINM, MVT::i32, Ops); in Select()
5354 SDNode *MulNode = CurDAG->getMachineNode(PPC::MULLI8, dl, MVT::i64, in Select()
5356 CurDAG->SelectNodeTo(N, PPC::RLDICR, MVT::i64, SDValue(MulNode, 0), in Select()
5372 unsigned Opcode = (InVT == MVT::i64) ? PPC::ANDI8_rec : PPC::ANDI_rec; in Select()
5377 SDValue CR0Reg = CurDAG->getRegister(PPC::CR0, MVT::i32); in Select()
5379 N->getOpcode() == PPCISD::ANDI_rec_1_EQ_BIT ? PPC::sub_eq : PPC::sub_gt, in Select()
5414 N, N->getSimpleValueType(0) == MVT::i64 ? PPC::SETB8 : PPC::SETB, in Select()
5431 CurDAG->getMachineNode(PPC::ADDIC, dl, MVT::i32, MVT::Glue, in Select()
5433 CurDAG->SelectNodeTo(N, PPC::SUBFE, MVT::i32, SDValue(Tmp, 0), in Select()
5448 case 0: SRI = PPC::sub_lt; break; in Select()
5449 case 1: SRI = PPC::sub_gt; break; in Select()
5450 case 2: SRI = PPC::sub_eq; break; in Select()
5451 case 3: SRI = PPC::sub_un; break; in Select()
5456 SDValue NotCCBit(CurDAG->getMachineNode(PPC::CRNOR, dl, MVT::i1, in Select()
5461 SDValue CAndT(CurDAG->getMachineNode(PPC::CRAND, dl, MVT::i1, in Select()
5463 SDValue NotCAndF(CurDAG->getMachineNode(PPC::CRAND, dl, MVT::i1, in Select()
5466 CurDAG->SelectNodeTo(N, PPC::CROR, MVT::i1, CAndT, NotCAndF); in Select()
5475 SelectCCOp = PPC::SELECT_CC_I4; in Select()
5477 SelectCCOp = PPC::SELECT_CC_I8; in Select()
5480 SelectCCOp = PPC::SELECT_CC_VSSRC; in Select()
5482 SelectCCOp = PPC::SELECT_CC_SPE4; in Select()
5484 SelectCCOp = PPC::SELECT_CC_F4; in Select()
5487 SelectCCOp = PPC::SELECT_CC_VSFRC; in Select()
5489 SelectCCOp = PPC::SELECT_CC_SPE; in Select()
5491 SelectCCOp = PPC::SELECT_CC_F8; in Select()
5493 SelectCCOp = PPC::SELECT_CC_F16; in Select()
5495 SelectCCOp = PPC::SELECT_CC_SPE; in Select()
5498 SelectCCOp = PPC::SELECT_CC_VSRC; in Select()
5500 SelectCCOp = PPC::SELECT_CC_VRRC; in Select()
5535 SDNode *NewN = CurDAG->SelectNodeTo(N, PPC::LXVDSX, in Select()
5554 CurDAG->SelectNodeTo(N, PPC::XXPERMDI, N->getValueType(0), Ops); in Select()
5564 ? (IsPPC64 ? PPC::BDNZ8 : PPC::BDNZ) in Select()
5565 : (IsPPC64 ? PPC::BDZ8 : PPC::BDZ), in Select()
5583 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops); in Select()
5598 case PPC::PRED_LT: Opc = PPC::CRANDC; Swap = true; break; in Select()
5599 case PPC::PRED_LE: Opc = PPC::CRORC; Swap = true; break; in Select()
5600 case PPC::PRED_EQ: Opc = PPC::CREQV; Swap = false; break; in Select()
5601 case PPC::PRED_GE: Opc = PPC::CRORC; Swap = false; break; in Select()
5602 case PPC::PRED_GT: Opc = PPC::CRANDC; Swap = false; break; in Select()
5603 case PPC::PRED_NE: Opc = PPC::CRXOR; Swap = false; break; in Select()
5618 CurDAG->SelectNodeTo(N, PPC::BC, MVT::Other, BitComp, N->getOperand(4), in Select()
5629 CurDAG->SelectNodeTo(N, PPC::BCC, MVT::Other, Ops); in Select()
5636 unsigned Opc = Target.getValueType() == MVT::i32 ? PPC::MTCTR : PPC::MTCTR8; in Select()
5637 unsigned Reg = Target.getValueType() == MVT::i32 ? PPC::BCTR : PPC::BCTR8; in Select()
5678 replaceWith(PPC::LWZtoc, N); in Select()
5685 replaceWith(PPC::ADDItoc, N); in Select()
5687 replaceWith(PPC::LWZtoc, N); in Select()
5714 isPPC64 ? PPC::ADDIStocHA8 : PPC::ADDIStocHA, dl, VT, TOCbase, GA); in Select()
5720 isPPC64 ? PPC::LDtocL : PPC::LWZtocL, dl, VT, GA, SDValue(Tmp, 0)); in Select()
5728 ReplaceNode(N, CurDAG->getMachineNode(PPC::ADDItocL, dl, MVT::i64, in Select()
5736 CurDAG->SelectNodeTo(N, PPC::PPC32PICGOT, in Select()
5754 Opc1 = PPC::VSPLTISB; in Select()
5755 Opc2 = PPC::VADDUBM; in Select()
5756 Opc3 = PPC::VSUBUBM; in Select()
5759 Opc1 = PPC::VSPLTISH; in Select()
5760 Opc2 = PPC::VADDUHM; in Select()
5761 Opc3 = PPC::VSUBUHM; in Select()
5765 Opc1 = PPC::VSPLTISW; in Select()
5766 Opc2 = PPC::VADDUWM; in Select()
5767 Opc3 = PPC::VSUBUWM; in Select()
6161 if (User->getMachineOpcode() != PPC::SELECT_I4 && in AllUsersSelectZero()
6162 User->getMachineOpcode() != PPC::SELECT_I8) in AllUsersSelectZero()
6175 if (Op2->getMachineOpcode() != PPC::LI && in AllUsersSelectZero()
6176 Op2->getMachineOpcode() != PPC::LI8) in AllUsersSelectZero()
6195 assert((User->getMachineOpcode() == PPC::SELECT_I4 || in SwapAllSelectUsers()
6196 User->getMachineOpcode() == PPC::SELECT_I8) && in SwapAllSelectUsers()
6238 case PPC::CRAND: in PeepholeCROps()
6239 case PPC::CRNAND: in PeepholeCROps()
6240 case PPC::CROR: in PeepholeCROps()
6241 case PPC::CRXOR: in PeepholeCROps()
6242 case PPC::CRNOR: in PeepholeCROps()
6243 case PPC::CREQV: in PeepholeCROps()
6244 case PPC::CRANDC: in PeepholeCROps()
6245 case PPC::CRORC: { in PeepholeCROps()
6248 if (Op.getMachineOpcode() == PPC::CRSET) in PeepholeCROps()
6250 else if (Op.getMachineOpcode() == PPC::CRUNSET) in PeepholeCROps()
6252 else if (Op.getMachineOpcode() == PPC::CRNOR && in PeepholeCROps()
6258 case PPC::BC: in PeepholeCROps()
6259 case PPC::BCn: in PeepholeCROps()
6260 case PPC::SELECT_I4: in PeepholeCROps()
6261 case PPC::SELECT_I8: in PeepholeCROps()
6262 case PPC::SELECT_F4: in PeepholeCROps()
6263 case PPC::SELECT_F8: in PeepholeCROps()
6264 case PPC::SELECT_SPE: in PeepholeCROps()
6265 case PPC::SELECT_SPE4: in PeepholeCROps()
6266 case PPC::SELECT_VRRC: in PeepholeCROps()
6267 case PPC::SELECT_VSFRC: in PeepholeCROps()
6268 case PPC::SELECT_VSSRC: in PeepholeCROps()
6269 case PPC::SELECT_VSRC: { in PeepholeCROps()
6272 if (Op.getMachineOpcode() == PPC::CRSET) in PeepholeCROps()
6274 else if (Op.getMachineOpcode() == PPC::CRUNSET) in PeepholeCROps()
6276 else if (Op.getMachineOpcode() == PPC::CRNOR && in PeepholeCROps()
6287 case PPC::CRAND: in PeepholeCROps()
6299 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode), in PeepholeCROps()
6303 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode), in PeepholeCROps()
6309 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode), in PeepholeCROps()
6314 ResNode = CurDAG->getMachineNode(PPC::CRNAND, SDLoc(MachineNode), in PeepholeCROps()
6320 case PPC::CRNAND: in PeepholeCROps()
6323 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6328 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6333 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6338 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode), in PeepholeCROps()
6342 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode), in PeepholeCROps()
6348 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode), in PeepholeCROps()
6353 ResNode = CurDAG->getMachineNode(PPC::CRAND, SDLoc(MachineNode), in PeepholeCROps()
6359 case PPC::CROR: in PeepholeCROps()
6365 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode), in PeepholeCROps()
6375 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode), in PeepholeCROps()
6381 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode), in PeepholeCROps()
6386 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6392 case PPC::CRXOR: in PeepholeCROps()
6395 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode), in PeepholeCROps()
6399 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6404 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6415 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode), in PeepholeCROps()
6421 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode), in PeepholeCROps()
6426 ResNode = CurDAG->getMachineNode(PPC::CREQV, SDLoc(MachineNode), in PeepholeCROps()
6432 case PPC::CRNOR: in PeepholeCROps()
6435 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode), in PeepholeCROps()
6439 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6444 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6449 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode), in PeepholeCROps()
6455 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode), in PeepholeCROps()
6460 ResNode = CurDAG->getMachineNode(PPC::CROR, SDLoc(MachineNode), in PeepholeCROps()
6466 case PPC::CREQV: in PeepholeCROps()
6469 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode), in PeepholeCROps()
6479 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6484 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6489 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode), in PeepholeCROps()
6495 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode), in PeepholeCROps()
6500 ResNode = CurDAG->getMachineNode(PPC::CRXOR, SDLoc(MachineNode), in PeepholeCROps()
6506 case PPC::CRANDC: in PeepholeCROps()
6509 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode), in PeepholeCROps()
6513 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6518 ResNode = CurDAG->getMachineNode(PPC::CRUNSET, SDLoc(MachineNode), in PeepholeCROps()
6525 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6531 ResNode = CurDAG->getMachineNode(PPC::CRAND, SDLoc(MachineNode), in PeepholeCROps()
6536 ResNode = CurDAG->getMachineNode(PPC::CRORC, SDLoc(MachineNode), in PeepholeCROps()
6542 case PPC::CRORC: in PeepholeCROps()
6545 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode), in PeepholeCROps()
6549 ResNode = CurDAG->getMachineNode(PPC::CRSET, SDLoc(MachineNode), in PeepholeCROps()
6556 ResNode = CurDAG->getMachineNode(PPC::CRNOR, SDLoc(MachineNode), in PeepholeCROps()
6561 ResNode = CurDAG->getMachineNode(PPC::CRNAND, SDLoc(MachineNode), in PeepholeCROps()
6567 ResNode = CurDAG->getMachineNode(PPC::CROR, SDLoc(MachineNode), in PeepholeCROps()
6572 ResNode = CurDAG->getMachineNode(PPC::CRANDC, SDLoc(MachineNode), in PeepholeCROps()
6578 case PPC::SELECT_I4: in PeepholeCROps()
6579 case PPC::SELECT_I8: in PeepholeCROps()
6580 case PPC::SELECT_F4: in PeepholeCROps()
6581 case PPC::SELECT_F8: in PeepholeCROps()
6582 case PPC::SELECT_SPE: in PeepholeCROps()
6583 case PPC::SELECT_SPE4: in PeepholeCROps()
6584 case PPC::SELECT_VRRC: in PeepholeCROps()
6585 case PPC::SELECT_VSFRC: in PeepholeCROps()
6586 case PPC::SELECT_VSSRC: in PeepholeCROps()
6587 case PPC::SELECT_VSRC: in PeepholeCROps()
6601 case PPC::BC: in PeepholeCROps()
6602 case PPC::BCn: in PeepholeCROps()
6604 ResNode = CurDAG->getMachineNode(Opcode == PPC::BC ? PPC::BCn : in PeepholeCROps()
6605 PPC::BC, in PeepholeCROps()
6650 if ((Op32.getMachineOpcode() == PPC::RLWINM || in PeepholePPC64ZExtGather()
6651 Op32.getMachineOpcode() == PPC::RLWNM) && in PeepholePPC64ZExtGather()
6658 if (Op32.getMachineOpcode() == PPC::SLW || in PeepholePPC64ZExtGather()
6659 Op32.getMachineOpcode() == PPC::SRW) { in PeepholePPC64ZExtGather()
6666 if (Op32.getMachineOpcode() == PPC::LI || in PeepholePPC64ZExtGather()
6667 Op32.getMachineOpcode() == PPC::LIS) { in PeepholePPC64ZExtGather()
6676 if (Op32.getMachineOpcode() == PPC::LHBRX || in PeepholePPC64ZExtGather()
6677 Op32.getMachineOpcode() == PPC::LWBRX) { in PeepholePPC64ZExtGather()
6683 if (Op32.getMachineOpcode() == PPC::CNTLZW || in PeepholePPC64ZExtGather()
6684 Op32.getMachineOpcode() == PPC::CNTTZW) { in PeepholePPC64ZExtGather()
6693 if (Op32.getMachineOpcode() == PPC::RLWIMI && in PeepholePPC64ZExtGather()
6707 if (Op32.getMachineOpcode() == PPC::OR || in PeepholePPC64ZExtGather()
6708 Op32.getMachineOpcode() == PPC::SELECT_I4) { in PeepholePPC64ZExtGather()
6709 unsigned B = Op32.getMachineOpcode() == PPC::SELECT_I4 ? 1 : 0; in PeepholePPC64ZExtGather()
6724 if (Op32.getMachineOpcode() == PPC::ORI || in PeepholePPC64ZExtGather()
6725 Op32.getMachineOpcode() == PPC::ORIS) { in PeepholePPC64ZExtGather()
6739 if (Op32.getMachineOpcode() == PPC::AND) { in PeepholePPC64ZExtGather()
6762 if (Op32.getMachineOpcode() == PPC::ANDI_rec || in PeepholePPC64ZExtGather()
6763 Op32.getMachineOpcode() == PPC::ANDIS_rec) { in PeepholePPC64ZExtGather()
6804 if (N->getMachineOpcode() != PPC::RLDICL) in PeepholePPC64ZExt()
6819 if (ISR.getConstantOperandVal(2) != PPC::sub_32) in PeepholePPC64ZExt()
6869 case PPC::RLWINM: NewOpcode = PPC::RLWINM8; break; in PeepholePPC64ZExt()
6870 case PPC::RLWNM: NewOpcode = PPC::RLWNM8; break; in PeepholePPC64ZExt()
6871 case PPC::SLW: NewOpcode = PPC::SLW8; break; in PeepholePPC64ZExt()
6872 case PPC::SRW: NewOpcode = PPC::SRW8; break; in PeepholePPC64ZExt()
6873 case PPC::LI: NewOpcode = PPC::LI8; break; in PeepholePPC64ZExt()
6874 case PPC::LIS: NewOpcode = PPC::LIS8; break; in PeepholePPC64ZExt()
6875 case PPC::LHBRX: NewOpcode = PPC::LHBRX8; break; in PeepholePPC64ZExt()
6876 case PPC::LWBRX: NewOpcode = PPC::LWBRX8; break; in PeepholePPC64ZExt()
6877 case PPC::CNTLZW: NewOpcode = PPC::CNTLZW8; break; in PeepholePPC64ZExt()
6878 case PPC::CNTTZW: NewOpcode = PPC::CNTTZW8; break; in PeepholePPC64ZExt()
6879 case PPC::RLWIMI: NewOpcode = PPC::RLWIMI8; break; in PeepholePPC64ZExt()
6880 case PPC::OR: NewOpcode = PPC::OR8; break; in PeepholePPC64ZExt()
6881 case PPC::SELECT_I4: NewOpcode = PPC::SELECT_I8; break; in PeepholePPC64ZExt()
6882 case PPC::ORI: NewOpcode = PPC::ORI8; break; in PeepholePPC64ZExt()
6883 case PPC::ORIS: NewOpcode = PPC::ORIS8; break; in PeepholePPC64ZExt()
6884 case PPC::AND: NewOpcode = PPC::AND8; break; in PeepholePPC64ZExt()
6885 case PPC::ANDI_rec: in PeepholePPC64ZExt()
6886 NewOpcode = PPC::ANDI8_rec; in PeepholePPC64ZExt()
6888 case PPC::ANDIS_rec: in PeepholePPC64ZExt()
6889 NewOpcode = PPC::ANDIS8_rec; in PeepholePPC64ZExt()
6958 if (Opc == PPC::XXPERMDIs) { in isVSXSwap()
6961 } else if (Opc == PPC::XXPERMDI || Opc == PPC::XXSLDWI) { in isVSXSwap()
6979 case PPC::VAVGSB: in isLaneInsensitive()
6980 case PPC::VAVGUB: in isLaneInsensitive()
6981 case PPC::VAVGSH: in isLaneInsensitive()
6982 case PPC::VAVGUH: in isLaneInsensitive()
6983 case PPC::VAVGSW: in isLaneInsensitive()
6984 case PPC::VAVGUW: in isLaneInsensitive()
6985 case PPC::VMAXFP: in isLaneInsensitive()
6986 case PPC::VMAXSB: in isLaneInsensitive()
6987 case PPC::VMAXUB: in isLaneInsensitive()
6988 case PPC::VMAXSH: in isLaneInsensitive()
6989 case PPC::VMAXUH: in isLaneInsensitive()
6990 case PPC::VMAXSW: in isLaneInsensitive()
6991 case PPC::VMAXUW: in isLaneInsensitive()
6992 case PPC::VMINFP: in isLaneInsensitive()
6993 case PPC::VMINSB: in isLaneInsensitive()
6994 case PPC::VMINUB: in isLaneInsensitive()
6995 case PPC::VMINSH: in isLaneInsensitive()
6996 case PPC::VMINUH: in isLaneInsensitive()
6997 case PPC::VMINSW: in isLaneInsensitive()
6998 case PPC::VMINUW: in isLaneInsensitive()
6999 case PPC::VADDFP: in isLaneInsensitive()
7000 case PPC::VADDUBM: in isLaneInsensitive()
7001 case PPC::VADDUHM: in isLaneInsensitive()
7002 case PPC::VADDUWM: in isLaneInsensitive()
7003 case PPC::VSUBFP: in isLaneInsensitive()
7004 case PPC::VSUBUBM: in isLaneInsensitive()
7005 case PPC::VSUBUHM: in isLaneInsensitive()
7006 case PPC::VSUBUWM: in isLaneInsensitive()
7007 case PPC::VAND: in isLaneInsensitive()
7008 case PPC::VANDC: in isLaneInsensitive()
7009 case PPC::VOR: in isLaneInsensitive()
7010 case PPC::VORC: in isLaneInsensitive()
7011 case PPC::VXOR: in isLaneInsensitive()
7012 case PPC::VNOR: in isLaneInsensitive()
7013 case PPC::VMULUWM: in isLaneInsensitive()
7069 case PPC::LWA: in PeepholePPC64()
7070 case PPC::LD: in PeepholePPC64()
7071 case PPC::DFLOADf64: in PeepholePPC64()
7072 case PPC::DFLOADf32: in PeepholePPC64()
7075 case PPC::LBZ: in PeepholePPC64()
7076 case PPC::LBZ8: in PeepholePPC64()
7077 case PPC::LFD: in PeepholePPC64()
7078 case PPC::LFS: in PeepholePPC64()
7079 case PPC::LHA: in PeepholePPC64()
7080 case PPC::LHA8: in PeepholePPC64()
7081 case PPC::LHZ: in PeepholePPC64()
7082 case PPC::LHZ8: in PeepholePPC64()
7083 case PPC::LWZ: in PeepholePPC64()
7084 case PPC::LWZ8: in PeepholePPC64()
7088 case PPC::STD: in PeepholePPC64()
7089 case PPC::DFSTOREf64: in PeepholePPC64()
7090 case PPC::DFSTOREf32: in PeepholePPC64()
7093 case PPC::STB: in PeepholePPC64()
7094 case PPC::STB8: in PeepholePPC64()
7095 case PPC::STFD: in PeepholePPC64()
7096 case PPC::STFS: in PeepholePPC64()
7097 case PPC::STH: in PeepholePPC64()
7098 case PPC::STH8: in PeepholePPC64()
7099 case PPC::STW: in PeepholePPC64()
7100 case PPC::STW8: in PeepholePPC64()
7132 case PPC::ADDI8: in PeepholePPC64()
7133 case PPC::ADDI: in PeepholePPC64()
7146 case PPC::ADDIdtprelL: in PeepholePPC64()
7149 case PPC::ADDItlsldL: in PeepholePPC64()
7152 case PPC::ADDItocL: in PeepholePPC64()
7179 if (Base.getMachineOpcode() != PPC::ADDItocL) in PeepholePPC64()
7183 HBase.getMachineOpcode() != PPC::ADDIStocHA8) in PeepholePPC64()