Home | History | Annotate | Download | only in X86

Lines Matching refs:BITCAST

397     setOperationAction(ISD::BITCAST        , MVT::f32  , Expand);
398 setOperationAction(ISD::BITCAST
400 setOperationAction(ISD::BITCAST , MVT::f64 , Expand);
402 setOperationAction(ISD::BITCAST , MVT::i64 , Expand);
905 setOperationAction(ISD::BITCAST, MVT::v8i8, Expand);
906 setOperationAction(ISD::BITCAST, MVT::v4i16, Expand);
907 setOperationAction(ISD::BITCAST, MVT::v2i32, Expand);
908 setOperationAction(ISD::BITCAST, MVT::v1i64, Expand);
1806 ValToCopy = DAG.getNode(ISD::BITCAST, dl, VA.getLocVT(), ValToCopy);
1840 ValToCopy = DAG.getNode(ISD::BITCAST, dl, MVT::i64, ValToCopy);
1846 ValToCopy = DAG.getNode(ISD::BITCAST, dl, MVT::v4f32,ValToCopy);
2218 ArgValue = DAG.getNode(ISD::BITCAST, dl, VA.getValVT(), ArgValue);
2584 Arg = DAG.getNode(ISD::BITCAST, dl, MVT::i64, Arg);
2591 Arg = DAG.getNode(ISD::BITCAST, dl, RegVT, Arg);
4665 return DAG.getNode(ISD::BITCAST, dl, VT, Vec);
4671 /// Then bitcast to their original type, ensuring they get CSE'd.
4692 return DAG.getNode(ISD::BITCAST, dl, VT, Vec);
4768 V = DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, V);
4779 V = DAG.getNode(ISD::BITCAST, dl, MVT::v8f32, V);
4785 return DAG.getNode(ISD::BITCAST, dl, VT, V);
4972 if (Opcode == ISD::BITCAST) {
5176 return DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, V);
5219 SrcOp = DAG.getNode(ISD::BITCAST, dl, ShVT, SrcOp);
5220 return DAG.getNode(ISD::BITCAST, dl, VT,
5389 return DAG.getNode(ISD::BITCAST, DL, VT, ResNode);
5645 SDValue FullMask = DAG.getNode(ISD::BITCAST, dl, MVT::v16i1,
5693 return DAG.getNode(ISD::BITCAST, dl, VT, CmovOp);
5702 return DAG.getNode(ISD::BITCAST, dl, VT, CmovOp);
5804 return DAG.getNode(ISD::BITCAST, dl, VT, Item);
5839 return DAG.getNode(ISD::BITCAST, dl, VT, Item);
6116 V1 = DAG.getNode(ISD::BITCAST, dl, VT, V1);
6117 V2 = DAG.getNode(ISD::BITCAST, dl, VT, V2);
6122 return DAG.getNode(ISD::BITCAST, dl, VT, Ret);
6205 DAG.getNode(ISD::BITCAST, dl, MVT::v2i64, V1),
6206 DAG.getNode(ISD::BITCAST, dl, MVT::v2i64, V2), &MaskV[0]);
6207 NewV = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, NewV);
6279 V1 = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, V1);
6284 return DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, V1);
6296 V2 = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, V2);
6301 return DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, V1);
6446 V1 = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, V1);
6447 V2 = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, V2);
6509 return DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, NewV);
6595 SDValue V1 = DAG.getNode(ISD::BITCAST, dl, NewVT, SVOp->getOperand(0));
6596 SDValue V2 = DAG.getNode(ISD::BITCAST, dl, NewVT, SVOp->getOperand(1));
6615 SrcOp.getOperand(0).getOpcode() == ISD::BITCAST &&
6619 return DAG.getNode(ISD::BITCAST, dl, VT,
6629 return DAG.getNode(ISD::BITCAST, dl, VT,
6631 DAG.getNode(ISD::BITCAST, dl,
6892 while (V.hasOneUse() && V.getOpcode() == ISD::BITCAST)
6910 V1 = DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, V1);
6911 return DAG.getNode(ISD::BITCAST, dl, VT,
6929 return DAG.getNode(ISD::BITCAST, dl, VT,
6931 DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, V1),
6932 DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, V2), DAG));
7064 if (V1.getOpcode() == ISD::BITCAST &&
7069 // (bitcast (sclr2vec (ext_vec_elt x))) -> (bitcast x)
7080 // (bitcast (sclr2vec (ext_vec_elt x))) -> (bitcast (extract_subvector x)).
7089 V1 = DAG.getNode(ISD::BITCAST, DL, V1.getValueType(), V);
7093 return DAG.getNode(ISD::BITCAST, DL, VT,
7127 return DAG.getNode(ISD::BITCAST, dl, VT, NewOp);
7300 // FIXME: This should also accept a bitcast of a splat? Be careful, not
7423 // Bitcast is for VPERMPS since mask is v8i32 but node takes v8f32
7425 DAG.getNode(ISD::BITCAST, dl, VT, Mask), V1);
7490 DAG.getNode(ISD::BITCAST, dl,
7504 // result has a single use which is a store or a bitcast to i32. And in
7513 (User->getOpcode() != ISD::BITCAST ||
7517 DAG.getNode(ISD::BITCAST, dl, MVT::v4i32,
7520 return DAG.getNode(ISD::BITCAST, dl, MVT::f32, Extract);
7576 DAG.getNode(ISD::BITCAST, dl,
7752 return DAG.getNode(ISD::BITCAST, dl, OpVT,
8478 DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, XR1),
8484 SDValue XR2F = DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Unpck1);
8492 SDValue S2F = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Sub);
8496 DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Shuffle),
8520 DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Load),
8525 DAG.getNode(ISD::BITCAST, dl, MVT::v2i64,
8528 DAG.getNode(ISD::BITCAST, dl, MVT::v2i64,
8532 DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Or),
8787 OpLo = DAG.getNode(ISD::BITCAST, dl, HVT, OpLo);
8788 OpHi = DAG.getNode(ISD::BITCAST, dl, HVT, OpHi);
8846 In = DAG.getNode(ISD::BITCAST, DL, MVT::v8i32, In);
8859 OpLo = DAG.getNode(ISD::BITCAST, DL, MVT::v4i32, OpLo);
8860 OpHi = DAG.getNode(ISD::BITCAST, DL, MVT::v4i32, OpHi);
8876 In = DAG.getNode(ISD::BITCAST, DL, MVT::v32i8, In);
8894 In = DAG.getNode(ISD::BITCAST, DL, MVT::v4i64, In);
8901 return DAG.getNode(ISD::BITCAST, DL, VT, In);
8910 OpLo = DAG.getNode(ISD::BITCAST, DL, MVT::v16i8, OpLo);
8911 OpHi = DAG.getNode(ISD::BITCAST, DL, MVT::v16i8, OpHi);
8921 OpLo = DAG.getNode(ISD::BITCAST, DL, MVT::v4i32, OpLo);
8922 OpHi = DAG.getNode(ISD::BITCAST, DL, MVT::v4i32, OpHi);
8927 return DAG.getNode(ISD::BITCAST, DL, MVT::v8i16, res);
8947 DAG.getNode(ISD::BITCAST, DL, NVT, In),
9035 return DAG.getNode(ISD::BITCAST, dl, VT,
9037 DAG.getNode(ISD::BITCAST, dl, ANDVT,
9039 DAG.getNode(ISD::BITCAST, dl, ANDVT, Mask)));
9069 return DAG.getNode(ISD::BITCAST, dl, VT,
9071 DAG.getNode(ISD::BITCAST, dl, XORVT,
9073 DAG.getNode(ISD::BITCAST, dl, XORVT, Mask)));
9127 BITCAST, dl, MVT::v4f32, SignBit);
9247 VecIns[i] = DAG.getNode(ISD::BITCAST, DL, TestVT, VecIns[i]);
9759 Op0 = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Op0);
9760 Op1 = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Op1);
9794 return DAG.getNode(ISD::BITCAST, dl, VT, Result);
9803 Op0 = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Op0);
9804 Op1 = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Op1);
9817 return DAG.getNode(ISD::BITCAST, dl, VT, Result);
10742 ShAmt = DAG.getNode(ISD::BITCAST, dl, ShVT, ShAmt);
11907 Evens = DAG.getNode(ISD::BITCAST, dl, VT, Evens);
11908 Odds = DAG.getNode(ISD::BITCAST, dl, VT, Odds);
11937 A = DAG.getNode(ISD::BITCAST, dl, MulVT, A);
11938 B = DAG.getNode(ISD::BITCAST, dl, MulVT, B);
11939 Ahi = DAG.getNode(ISD::BITCAST, dl, MulVT, Ahi);
11940 Bhi = DAG.getNode(ISD::BITCAST, dl, MulVT, Bhi);
12030 SHL = DAG.getNode(ISD::BITCAST, dl, VT, SHL);
12042 SRL = DAG.getNode(ISD::BITCAST, dl, VT, SRL);
12074 SHL = DAG.getNode(ISD::BITCAST, dl, VT, SHL);
12086 SRL = DAG.getNode(ISD::BITCAST, dl, VT, SRL);
12118 Amt.getOpcode() == ISD::BITCAST &&
12272 Amt.getOpcode() == ISD::BITCAST &&
12338 Op = DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, Op);
12347 Op = DAG.getNode(ISD::BITCAST, dl, VT, Op);
12361 M = DAG.getNode(ISD::BITCAST, dl, VT, M);
12373 M = DAG.getNode(ISD::BITCAST, dl, VT, M);
12554 if (Op0.getOpcode() == ISD::BITCAST &&
12662 Subtarget->hasMMX() && "Unexpected custom BITCAST");
12665 "Unexpected custom BITCAST");
12869 case ISD::BITCAST: return LowerBITCAST(Op, DAG);
12975 DAG.getNode(ISD::BITCAST, dl, MVT::v2i64, VBias));
12976 Or = DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Or);
15585 return DAG.getNode(ISD::BITCAST, dl, VT, ResNode);
15675 if (InVec.getOpcode() == ISD::BITCAST) {
15709 if (LdNode.getOpcode() == ISD::BITCAST) {
15714 AllowedUses = 1; // only allow 1 load use if we have a bitcast
15727 // If there's a bitcast before the shuffle, check if the load type and
15747 Shuffle = DAG.getNode(ISD::BITCAST, dl, VT, Shuffle);
15762 // Detect whether we are trying to convert from mmx to i32 and the bitcast
15764 if (InputVector.getNode()->getOpcode() == llvm::ISD::BITCAST &&
16295 DAG.getNode(ISD::BITCAST, DL, IntVT, RHS));
16298 DAG.getNode(ISD::BITCAST, DL, IntVT, LHS));
16300 return DAG.getNode(ISD::BITCAST, DL, VT, Ret);
16857 SDValue OnesOrZeroesI = DAG.getNode(ISD::BITCAST, DL, MVT::i32,
16880 if (N->getOpcode() == ISD::BITCAST)
17088 // Look through mask bitcast.
17089 if (Mask.getOpcode() == ISD::BITCAST)
17091 if (X.getOpcode() == ISD::BITCAST)
17093 if (Y.getOpcode() == ISD::BITCAST)
17128 return DAG.getNode(ISD::BITCAST, DL, VT, Mask);
17136 X = DAG.getNode(ISD::BITCAST, DL, BlendVT, X);
17137 Y = DAG.getNode(ISD::BITCAST, DL, BlendVT, Y);
17138 Mask = DAG.getNode(ISD::BITCAST, DL, BlendVT, Mask);
17140 return DAG.getNode(ISD::BITCAST, DL, VT, Mask);
17415 // Bitcast the loaded value to a vector of the original element type, in
17417 SDValue SlicedVec = DAG.getNode(ISD::BITCAST, dl, WideVecVT, Res);
17442 Shuff = DAG.getNode(ISD::BITCAST, dl, RegVT, Shuff);
17462 // Bitcast to the requested type.
17463 Shuff = DAG.getNode(ISD::BITCAST, dl, RegVT, Shuff);
17537 SDValue WideVec = DAG.getNode(ISD::BITCAST, dl, WideVecVT, St->getValue());
17566 // Bitcast the original vector into a vector of store-size units
17570 SDValue ShuffWide = DAG.getNode(ISD::BITCAST, dl, StoreVecVT, Shuff);
17945 if (Op.getOpcode() == ISD::BITCAST)
17951 return DAG.getNode(ISD::BITCAST, SDLoc(N), VT, Op);
18336 // (vzext (bitcast (vzext (x)) -> (vzext x)
18338 while (In.getOpcode() == ISD::BITCAST)