Home | History | Annotate | Download | only in PowerPC

Lines Matching refs:Intrinsic

5122 /// BuildIntrinsicOp - Return a unary operator intrinsic node with the
5123 /// specified intrinsic ID.
5132 /// BuildIntrinsicOp - Return a binary operator intrinsic node with the
5133 /// specified intrinsic ID.
5142 /// BuildIntrinsicOp - Return a ternary operator intrinsic node with the
5143 /// specified intrinsic ID.
5238 // Make the VSLW intrinsic, computing 0x8000_0000.
5239 SDValue Res = BuildIntrinsicOp(Intrinsic::ppc_altivec_vslw, OnesV,
5265 static const unsigned IIDs[] = { // Intrinsic to use for each size.
5266 Intrinsic::ppc_altivec_vslb, Intrinsic::ppc_altivec_vslh, 0,
5267 Intrinsic::ppc_altivec_vslw
5276 static const unsigned IIDs[] = { // Intrinsic to use for each size.
5277 Intrinsic::ppc_altivec_vsrb, Intrinsic::ppc_altivec_vsrh, 0,
5278 Intrinsic::ppc_altivec_vsrw
5287 static const unsigned IIDs[] = { // Intrinsic to use for each size.
5288 Intrinsic::ppc_altivec_vsrab, Intrinsic::ppc_altivec_vsrah, 0,
5289 Intrinsic::ppc_altivec_vsraw
5299 static const unsigned IIDs[] = { // Intrinsic to use for each size.
5300 Intrinsic::ppc_altivec_vrlb, Intrinsic::ppc_altivec_vrlh, 0,
5301 Intrinsic::ppc_altivec_vrlw
5527 /// getAltivecCompareInfo - Given an intrinsic, return false if it is not an
5529 /// information about the intrinsic.
5539 case Intrinsic::ppc_altivec_vcmpbfp_p: CompareOpc = 966; isDot = 1; break;
5540 case Intrinsic::ppc_altivec_vcmpeqfp_p: CompareOpc = 198; isDot = 1; break;
5541 case Intrinsic::ppc_altivec_vcmpequb_p: CompareOpc = 6; isDot = 1; break;
5542 case Intrinsic::ppc_altivec_vcmpequh_p: CompareOpc = 70; isDot = 1; break;
5543 case Intrinsic::ppc_altivec_vcmpequw_p: CompareOpc = 134; isDot = 1; break;
5544 case Intrinsic::ppc_altivec_vcmpgefp_p: CompareOpc = 454; isDot = 1; break;
5545 case Intrinsic::ppc_altivec_vcmpgtfp_p: CompareOpc = 710; isDot = 1; break;
5546 case Intrinsic::ppc_altivec_vcmpgtsb_p: CompareOpc = 774; isDot = 1; break;
5547 case Intrinsic::ppc_altivec_vcmpgtsh_p: CompareOpc = 838; isDot = 1; break;
5548 case Intrinsic::ppc_altivec_vcmpgtsw_p: CompareOpc = 902; isDot = 1; break;
5549 case Intrinsic::ppc_altivec_vcmpgtub_p: CompareOpc = 518; isDot = 1; break;
5550 case Intrinsic::ppc_altivec_vcmpgtuh_p: CompareOpc = 582; isDot = 1; break;
5551 case Intrinsic::ppc_altivec_vcmpgtuw_p: CompareOpc = 646; isDot = 1; break;
5554 case Intrinsic::ppc_altivec_vcmpbfp: CompareOpc = 966; isDot = 0; break;
5555 case Intrinsic::ppc_altivec_vcmpeqfp: CompareOpc = 198; isDot = 0; break;
5556 case Intrinsic::ppc_altivec_vcmpequb: CompareOpc = 6; isDot = 0; break;
5557 case Intrinsic::ppc_altivec_vcmpequh: CompareOpc = 70; isDot = 0; break;
5558 case Intrinsic::ppc_altivec_vcmpequw: CompareOpc = 134; isDot = 0; break;
5559 case Intrinsic::ppc_altivec_vcmpgefp: CompareOpc = 454; isDot = 0; break;
5560 case Intrinsic::ppc_altivec_vcmpgtfp: CompareOpc = 710; isDot = 0; break;
5561 case Intrinsic::ppc_altivec_vcmpgtsb: CompareOpc = 774; isDot = 0; break;
5562 case Intrinsic::ppc_altivec_vcmpgtsh: CompareOpc = 838; isDot = 0; break;
5563 case Intrinsic::ppc_altivec_vcmpgtsw: CompareOpc = 902; isDot = 0; break;
5564 case Intrinsic::ppc_altivec_vcmpgtub: CompareOpc = 518; isDot = 0; break;
5565 case Intrinsic::ppc_altivec_vcmpgtuh: CompareOpc = 582; isDot = 0; break;
5566 case Intrinsic::ppc_altivec_vcmpgtuw: CompareOpc = 646; isDot = 0; break;
5571 /// LowerINTRINSIC_WO_CHAIN - If this is an intrinsic that we want to custom
5666 BuildIntrinsicOp(Intrinsic::ppc_altivec_vrlw, RHS, Neg16, DAG, dl);
5675 SDValue LoProd = BuildIntrinsicOp(Intrinsic::ppc_altivec_vmulouh,
5678 SDValue HiProd = BuildIntrinsicOp(Intrinsic::ppc_altivec_vmsumuhm,
5681 HiProd = BuildIntrinsicOp(Intrinsic::ppc_altivec_vslw, HiProd,
5689 return BuildIntrinsicOp(Intrinsic::ppc_altivec_vmladduhm,
5695 SDValue EvenParts = BuildIntrinsicOp(Intrinsic::ppc_altivec_vmuleub,
5700 SDValue OddParts = BuildIntrinsicOp(Intrinsic::ppc_altivec_vmuloub,
5784 Intrinsic::ppc_is_decremented_ctr_nonzero)
5788 "Unexpected result type for CTR decrement intrinsic");
6097 // intrinsic is called, Clang has already stored the frame address in the
7190 SDValue PermCntl = BuildIntrinsicOp(Intrinsic::ppc_altivec_lvsl, Ptr,
7240 SDValue Perm = BuildIntrinsicOp(Intrinsic::ppc_altivec_vperm,
7283 Intrinsic::ppc_altivec_lvsl &&
7295 Intrinsic::ppc_altivec_lvsl) {
7404 // Sometimes the promoted value of the intrinsic is ANDed by some non-zero
7405 // value. If so, pass-through the AND to get to the intrinsic.
7409 Intrinsic::ppc_is_decremented_ctr_nonzero &&
7417 Intrinsic::ppc_is_decremented_ctr_nonzero &&
7426 // We now need to make the intrinsic dead (it cannot be instruction
7517 case Intrinsic::ppc_altivec_vcmpbfp_p:
7518 Intrinsic::ppc_altivec_vcmpeqfp_p:
7519 case Intrinsic::ppc_altivec_vcmpequb_p:
7520 case Intrinsic::ppc_altivec_vcmpequh_p:
7521 case Intrinsic::ppc_altivec_vcmpequw_p:
7522 case Intrinsic::ppc_altivec_vcmpgefp_p:
7523 case Intrinsic::ppc_altivec_vcmpgtfp_p:
7524 case Intrinsic::ppc_altivec_vcmpgtsb_p:
7525 case Intrinsic::ppc_altivec_vcmpgtsh_p:
7526 case Intrinsic::ppc_altivec_vcmpgtsw_p:
7527 case Intrinsic::ppc_altivec_vcmpgtub_p:
7528 case Intrinsic::ppc_altivec_vcmpgtuh_p:
7529 case Intrinsic::ppc_altivec_vcmpgtuw_p: