reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
37873 bool OptForMinSize = DAG.getMachineFunction().getFunction().hasMinSize(); 37878 if (!canReduceVMulWidth(N, DAG, Mode)) 37889 EVT ReducedVT = EVT::getVectorVT(*DAG.getContext(), MVT::i16, NumElts); 37892 SDValue NewN0 = DAG.getNode(ISD::TRUNCATE, DL, ReducedVT, N0); 37893 SDValue NewN1 = DAG.getNode(ISD::TRUNCATE, DL, ReducedVT, N1); 37897 SDValue MulLo = DAG.getNode(ISD::MUL, DL, ReducedVT, NewN0, NewN1); 37899 return DAG.getNode((Mode == MULU8) ? ISD::ZERO_EXTEND : ISD::SIGN_EXTEND, 37905 SDValue MulHi = DAG.getNode(Mode == MULS16 ? ISD::MULHS : ISD::MULHU, DL, 37917 DAG.getVectorShuffle(ReducedVT, DL, MulLo, MulHi, ShuffleMask); 37918 ResLo = DAG.getBitcast(ResVT, ResLo); 37925 DAG.getVectorShuffle(ReducedVT, DL, MulLo, MulHi, ShuffleMask); 37926 ResHi = DAG.getBitcast(ResVT, ResHi); 37927 return DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, ResLo, ResHi);