Home | History | Annotate | Download | only in X86

Lines Matching refs:v4i32

208     { ISD::SHL,     MVT::v4i32,    1 },
209 { ISD::SRL, MVT::v4i32, 1 },
210 { ISD::SRA, MVT::v4i32, 1 },
261 { ISD::SHL, MVT::v4i32, 1 }, // pslld
266 { ISD::SRL, MVT::v4i32, 1 }, // psrld.
271 { ISD::SRA, MVT::v4i32, 1 }, // psrad.
275 { ISD::SDIV, MVT::v4i32, 19 }, // pmuludq sequence
276 { ISD::UDIV, MVT::v4i32, 15 }, // pmuludq sequence
282 if (ISD == ISD::SDIV && LT.second == MVT::v4i32 && ST->hasSSE41())
294 (VT == MVT::v4i32 && ST->hasSSE41()))
298 if (VT == MVT::v4i32 && ST->hasSSE2())
316 { ISD::SHL, MVT::v4i32, 2*5 }, // We optimized this using mul.
322 { ISD::SRL, MVT::v4i32, 4*10 }, // Scalarized.
327 { ISD::SRA, MVT::v4i32, 4*10 }, // Scalarized.
338 { ISD::SDIV, MVT::v4i32, 4*20 },
342 { ISD::UDIV, MVT::v4i32, 4*20 },
396 // Special lowering of v4i32 mul on sse2, sse3: Lower v4i32 mul as 2x shuffle,
398 if (ISD == ISD::MUL && LT.second == MVT::v4i32 && ST->hasSSE2() &&
461 // nodes. A v4i32/v4f32 BLENDI generates a single 'blendps'/'blendpd'.
462 {ISD::VECTOR_SHUFFLE, MVT::v4i32, 1},
485 {ISD::VECTOR_SHUFFLE, MVT::v4i32, 2},
502 {ISD::VECTOR_SHUFFLE, MVT::v4i32, 2}, // shufps + pshufd
535 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v4i32, 4*10 },
539 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v4i32, 4*10 },
544 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 15 },
548 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i32, 15 },
583 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i32, 1 },
584 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i32, 1 },
588 { ISD::TRUNCATE, MVT::v4i32, MVT::v4i64, 2 },
610 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i32, 4 },
611 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i32, 4 },
615 { ISD::TRUNCATE, MVT::v4i32, MVT::v4i64, 4 },
628 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i32, 1 },
632 { ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i32, 1 },
641 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 6 },
645 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i32, 6 },
662 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f64, 4*4 },
696 { ISD::SETCC, MVT::v4i32, 1 },
854 { ISD::ADD, MVT::v4i32, 3 }, // The data reported by the IACA tool is "3.5".
863 { ISD::ADD, MVT::v4i32, 3 }, // The data reported by the IACA tool is "3.5".
873 { ISD::ADD, MVT::v4i32, 3 }, // The data reported by the IACA tool is "3.3".
882 { ISD::ADD, MVT::v4i32, 3 }, // The data reported by the IACA tool is "2.8".