|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/Target/ARM/ARMISelLowering.cpp 5458 SDValue Mask = DAG.getNode(ARMISD::VMOVIMM, dl, MVT::v2i32,
5459 DAG.getTargetConstant(EncodedVal, dl, MVT::i32));
5462 Mask = DAG.getNode(ARMISD::VSHLIMM, dl, OpVT,
5463 DAG.getNode(ISD::BITCAST, dl, OpVT, Mask),
5464 DAG.getConstant(32, dl, MVT::i32));
5466 Tmp0 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v2f32, Tmp0);
5468 Tmp1 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v2f32, Tmp1);
5470 Tmp1 = DAG.getNode(ARMISD::VSHLIMM, dl, OpVT,
5471 DAG.getNode(ISD::BITCAST, dl, OpVT, Tmp1),
5472 DAG.getConstant(32, dl, MVT::i32));
5474 Tmp1 = DAG.getNode(ARMISD::VSHRuIMM, dl, MVT::v1i64,
5475 DAG.getNode(ISD::BITCAST, dl, MVT::v1i64, Tmp1),
5476 DAG.getConstant(32, dl, MVT::i32));
5477 Tmp0 = DAG.getNode(ISD::BITCAST, dl, OpVT, Tmp0);
5478 Tmp1 = DAG.getNode(ISD::BITCAST, dl, OpVT, Tmp1);
5480 SDValue AllOnes = DAG.getTargetConstant(ARM_AM::createVMOVModImm(0xe, 0xff),
5482 AllOnes = DAG.getNode(ARMISD::VMOVIMM, dl, MVT::v8i8, AllOnes);
5483 SDValue MaskNot = DAG.getNode(ISD::XOR, dl, OpVT, Mask,
5484 DAG.getNode(ISD::BITCAST, dl, OpVT, AllOnes));
5486 SDValue Res = DAG.getNode(ISD::OR, dl, OpVT,
5487 DAG.getNode(ISD::AND, dl, OpVT, Tmp1, Mask),
5488 DAG.getNode(ISD::AND, dl, OpVT, Tmp0, MaskNot));
5490 Res = DAG.getNode(ISD::BITCAST, dl, MVT::v2f32, Res);
5491 Res = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::f32, Res,
5492 DAG.getConstant(0, dl, MVT::i32));
5494 Res = DAG.getNode(ISD::BITCAST, dl, MVT::f64, Res);
5502 Tmp1 = DAG.getNode(ARMISD::VMOVRRD, dl, DAG.getVTList(MVT::i32, MVT::i32),
5502 Tmp1 = DAG.getNode(ARMISD::VMOVRRD, dl, DAG.getVTList(MVT::i32, MVT::i32),
5504 Tmp1 = DAG.getNode(ISD::BITCAST, dl, MVT::i32, Tmp1);
5507 SDValue Mask1 = DAG.getConstant(0x80000000, dl, MVT::i32);
5508 SDValue Mask2 = DAG.getConstant(0x7fffffff, dl, MVT::i32);
5509 Tmp1 = DAG.getNode(ISD::AND, dl, MVT::i32, Tmp1, Mask1);
5511 Tmp0 = DAG.getNode(ISD::AND, dl, MVT::i32,
5512 DAG.getNode(ISD::BITCAST, dl, MVT::i32, Tmp0), Mask2);
5513 return DAG.getNode(ISD::BITCAST, dl, MVT::f32,
5514 DAG.getNode(ISD::OR, dl, MVT::i32, Tmp0, Tmp1));
5518 Tmp0 = DAG.getNode(ARMISD::VMOVRRD, dl, DAG.getVTList(MVT::i32, MVT::i32),
5518 Tmp0 = DAG.getNode(ARMISD::VMOVRRD, dl, DAG.getVTList(MVT::i32, MVT::i32),
5521 SDValue Hi = DAG.getNode(ISD::AND, dl, MVT::i32, Tmp0.getValue(1), Mask2);
5522 Hi = DAG.getNode(ISD::OR, dl, MVT::i32, Hi, Tmp1);
5523 return DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Lo, Hi);