Home | History | Annotate | Download | only in X86

Lines Matching refs:BITCAST

330     setOperationAction(ISD::BITCAST        , MVT::f32  , Expand);
331 setOperationAction(ISD::BITCAST , MVT::i32 , Expand);
333 setOperationAction(ISD::BITCAST , MVT::f64 , Expand);
335 setOperationAction(ISD::BITCAST , MVT::i64 , Expand);
811 setOperationAction(ISD::BITCAST, MVT::v8i8, Expand);
812 setOperationAction(ISD::BITCAST, MVT::v4i16, Expand);
813 setOperationAction(ISD::BITCAST, MVT::v2i32, Expand);
814 setOperationAction(ISD::BITCAST, MVT::v1i64, Expand);
1537 ValToCopy = DAG.getNode(ISD::BITCAST, dl, MVT::i64, ValToCopy);
1543 ValToCopy = DAG.getNode(ISD::BITCAST, dl, MVT::v4f32,ValToCopy);
1883 ArgValue = DAG.getNode(ISD::BITCAST, dl, VA.getValVT(), ArgValue);
2237 Arg = DAG.getNode(ISD::BITCAST, dl, MVT::i64, Arg);
2244 Arg = DAG.getNode(ISD::BITCAST, dl, RegVT, Arg);
4188 return DAG.getNode(ISD::BITCAST, dl, VT, Vec);
4194 /// Then bitcast to their original type, ensuring they get CSE'd.
4218 return DAG.getNode(ISD::BITCAST, dl, VT, Vec);
4297 V = DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, V);
4308 V = DAG.getNode(ISD::BITCAST, dl, MVT::v8f32, V);
4313 return DAG.getNode(ISD::BITCAST, dl, VT, V);
4496 if (Opcode == ISD::BITCAST) {
4690 return DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, V);
4733 SrcOp = DAG.getNode(ISD::BITCAST, dl, ShVT, SrcOp);
4734 return DAG.getNode(ISD::BITCAST, dl, VT,
4880 return DAG.getNode(ISD::BITCAST, DL, VT, ResNode);
5110 return DAG.getNode(ISD::BITCAST, dl, VT, Item);
5146 return DAG.getNode(ISD::BITCAST, dl, VT, Item);
5357 SDValue InVec = DAG.getNode(ISD::BITCAST,dl, MVT::v1i64, Op.getOperand(0));
5362 VecOp = DAG.getNode(ISD::BITCAST, dl, ResVT, VecOp);
5366 InVec = DAG.getNode(ISD::BITCAST, dl, MVT::v1i64, InVec);
5371 return DAG.getNode(ISD::BITCAST, dl, ResVT, VecOp);
5482 V1 = DAG.getNode(ISD::BITCAST, dl, OpTy, V1);
5483 V2 = DAG.getNode(ISD::BITCAST, dl, OpTy, V2);
5486 return DAG.getNode(ISD::BITCAST, dl, VT, Ret);
5569 DAG.getNode(ISD::BITCAST, dl, MVT::v2i64, V1),
5570 DAG.getNode(ISD::BITCAST, dl, MVT::v2i64, V2), &MaskV[0]);
5571 NewV = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, NewV);
5641 V1 = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, V1);
5646 return DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, V1);
5661 V2 = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, V2);
5666 return DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, V1);
5824 V1 = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, V1);
5825 V2 = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, V2);
5889 return DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, NewV);
5933 V1 = DAG.getNode(ISD::BITCAST, dl, NewVT, V1);
5934 V2 = DAG.getNode(ISD::BITCAST, dl, NewVT, V2);
5953 SrcOp.getOperand(0).getOpcode() == ISD::BITCAST &&
5957 return DAG.getNode(ISD::BITCAST, dl, VT,
5967 return DAG.getNode(ISD::BITCAST, dl, VT,
5969 DAG.getNode(ISD::BITCAST, dl,
6199 if (V.hasOneUse() && V.getOpcode() == ISD::BITCAST)
6220 if (V.hasOneUse() && V.getOpcode() == ISD::BITCAST)
6234 V1 = DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, V1);
6235 return DAG.getNode(ISD::BITCAST, dl, VT,
6253 return DAG.getNode(ISD::BITCAST, dl, VT,
6255 DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, V1),
6256 DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, V2), DAG));
6367 return DAG.getNode(ISD::BITCAST, dl, VT, NewOp);
6533 // FIXME: This should also accept a bitcast of a splat? Be careful, not
6662 // Bitcast is for VPERMPS since mask is v8i32 but node takes v8f32
6664 DAG.getNode(ISD::BITCAST, dl, VT, Mask), V1);
6724 DAG.getNode(ISD::BITCAST, dl,
6736 // result has a single use which is a store or a bitcast to i32. And in
6745 (User->getOpcode() != ISD::BITCAST ||
6749 DAG.getNode(ISD::BITCAST, dl, MVT::v4i32,
6752 return DAG.getNode(ISD::BITCAST, dl, MVT::f32, Extract);
6805 DAG.getNode(ISD::BITCAST, dl,
6979 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(),
7634 DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, XR1),
7640 SDValue XR2F = DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Unpck1);
7648 SDValue S2F = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Sub);
7652 DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Shuffle),
7676 DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Load),
7681 DAG.getNode(ISD::BITCAST, dl, MVT::v2i64,
7684 DAG.getNode(ISD::BITCAST, dl, MVT::v2i64,
7688 DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Or),
7970 return DAG.getNode(ISD::BITCAST, dl, VT,
7972 DAG.getNode(ISD::BITCAST, dl, XORVT,
7974 DAG.getNode(ISD::BITCAST, dl, XORVT, Mask)));
8026 SignBit = DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, SignBit);
9230 ShAmt = DAG.getNode(ISD::BITCAST, dl, VT, ShAmt);
9765 ShAmt = DAG.getNode(ISD::BITCAST, dl, VT, ShAmt);
10226 A = DAG.getNode(ISD::BITCAST, dl, MulVT, A);
10227 B = DAG.getNode(ISD::BITCAST, dl, MulVT, B);
10228 Ahi = DAG.getNode(ISD::BITCAST, dl, MulVT, Ahi);
10229 Bhi = DAG.getNode(ISD::BITCAST, dl, MulVT, Bhi);
10278 SHL = DAG.getNode(ISD::BITCAST, dl, VT, SHL);
10290 SRL = DAG.getNode(ISD::BITCAST, dl, VT, SRL);
10321 SHL = DAG.getNode(ISD::BITCAST, dl, VT, SHL);
10333 SRL = DAG.getNode(ISD::BITCAST, dl, VT, SRL);
10374 Op = DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, Op);
10384 Op = DAG.getNode(ISD::BITCAST, dl, VT, Op);
10398 M = DAG.getNode(ISD::BITCAST, dl, VT, M);
10410 M = DAG.getNode(ISD::BITCAST, dl, VT, M);
10737 Subtarget->hasMMX() && "Unexpected custom BITCAST");
10740 "Unexpected custom BITCAST");
10886 case ISD::BITCAST: return LowerBITCAST(Op, DAG);
12951 return DAG.getNode(ISD::BITCAST, dl, VT, ResNode);
13042 OpLo = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, OpLo);
13043 OpHi = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, OpHi);
13066 OpLo = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, OpLo);
13067 OpHi = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, OpHi);
13080 OpLo = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, OpLo);
13081 OpHi = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, OpHi);
13087 return DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, res);
13111 if (InVec.getOpcode() == ISD::BITCAST) {
13144 if (LdNode.getOpcode() == ISD::BITCAST) {
13149 AllowedUses = 1; // only allow 1 load use if we have a bitcast
13162 // If there's a bitcast before the shuffle, check if the load type and
13182 Shuffle = DAG.getNode(ISD::BITCAST, dl, VT, Shuffle);
13998 SDValue OnesOrZeroesI = DAG.getNode(ISD::BITCAST, DL, MVT::i32,
14021 if (N->getOpcode() == ISD::BITCAST)
14156 // Look through mask bitcast.
14157 if (Mask.getOpcode() == ISD::BITCAST)
14159 if (X.getOpcode() == ISD::BITCAST)
14161 if (Y.getOpcode() == ISD::BITCAST)
14190 return DAG.getNode(ISD::BITCAST, DL, VT, Mask);
14198 X = DAG.getNode(ISD::BITCAST, DL, BlendVT, X);
14199 Y = DAG.getNode(ISD::BITCAST, DL, BlendVT, Y);
14200 Mask = DAG.getNode(ISD::BITCAST, DL, BlendVT, Mask);
14202 return DAG.getNode(ISD::BITCAST, DL, VT, Mask);
14355 // Bitcast the loaded value to a vector of the original element type, in
14357 SDValue SlicedVec = DAG.getNode(ISD::BITCAST, dl, WideVecVT,
14369 // Bitcast to the requested type.
14370 Shuff = DAG.getNode(ISD::BITCAST, dl, RegVT, Shuff);
14440 SDValue WideVec = DAG.getNode(ISD::BITCAST, dl, WideVecVT, St->getValue());
14462 // Bitcast the original vector into a vector of store-size units
14466 SDValue ShuffWide = DAG.getNode(ISD::BITCAST, dl, StoreVecVT, Shuff);
14805 if (Op.getOpcode() == ISD::BITCAST)
14811 return DAG.getNode(ISD::BITCAST, N->getDebugLoc(), VT, Op);
14915 OpLo = DAG.getNode(ISD::BITCAST, dl, HVT, OpLo);
14916 OpHi = DAG.getNode(ISD::BITCAST, dl, HVT, OpHi);