Lines Matching refs:MVT
93 std::pair<int, MVT> LT = TLI->getTypeLegalizationCost(DL, Ty); in getArithmeticInstrCost()
119 { ISD::SRA, MVT::v4i64, 4 }, // 2 x psrad + shuffle. in getArithmeticInstrCost()
121 { ISD::SDIV, MVT::v16i16, 6 }, // vpmulhw sequence in getArithmeticInstrCost()
122 { ISD::UDIV, MVT::v16i16, 6 }, // vpmulhuw sequence in getArithmeticInstrCost()
123 { ISD::SDIV, MVT::v8i32, 15 }, // vpmuldq sequence in getArithmeticInstrCost()
124 { ISD::UDIV, MVT::v8i32, 15 }, // vpmuludq sequence in getArithmeticInstrCost()
135 { ISD::SHL, MVT::v16i32, 1 }, in getArithmeticInstrCost()
136 { ISD::SRL, MVT::v16i32, 1 }, in getArithmeticInstrCost()
137 { ISD::SRA, MVT::v16i32, 1 }, in getArithmeticInstrCost()
138 { ISD::SHL, MVT::v8i64, 1 }, in getArithmeticInstrCost()
139 { ISD::SRL, MVT::v8i64, 1 }, in getArithmeticInstrCost()
140 { ISD::SRA, MVT::v8i64, 1 }, in getArithmeticInstrCost()
151 { ISD::SHL, MVT::v4i32, 1 }, in getArithmeticInstrCost()
152 { ISD::SRL, MVT::v4i32, 1 }, in getArithmeticInstrCost()
153 { ISD::SRA, MVT::v4i32, 1 }, in getArithmeticInstrCost()
154 { ISD::SHL, MVT::v8i32, 1 }, in getArithmeticInstrCost()
155 { ISD::SRL, MVT::v8i32, 1 }, in getArithmeticInstrCost()
156 { ISD::SRA, MVT::v8i32, 1 }, in getArithmeticInstrCost()
157 { ISD::SHL, MVT::v2i64, 1 }, in getArithmeticInstrCost()
158 { ISD::SRL, MVT::v2i64, 1 }, in getArithmeticInstrCost()
159 { ISD::SHL, MVT::v4i64, 1 }, in getArithmeticInstrCost()
160 { ISD::SRL, MVT::v4i64, 1 }, in getArithmeticInstrCost()
165 if (ISD == ISD::SHL && LT.second == MVT::v16i16 && in getArithmeticInstrCost()
178 { ISD::SHL, MVT::v16i8, 1 }, in getArithmeticInstrCost()
179 { ISD::SRL, MVT::v16i8, 2 }, in getArithmeticInstrCost()
180 { ISD::SRA, MVT::v16i8, 2 }, in getArithmeticInstrCost()
181 { ISD::SHL, MVT::v8i16, 1 }, in getArithmeticInstrCost()
182 { ISD::SRL, MVT::v8i16, 2 }, in getArithmeticInstrCost()
183 { ISD::SRA, MVT::v8i16, 2 }, in getArithmeticInstrCost()
184 { ISD::SHL, MVT::v4i32, 1 }, in getArithmeticInstrCost()
185 { ISD::SRL, MVT::v4i32, 2 }, in getArithmeticInstrCost()
186 { ISD::SRA, MVT::v4i32, 2 }, in getArithmeticInstrCost()
187 { ISD::SHL, MVT::v2i64, 1 }, in getArithmeticInstrCost()
188 { ISD::SRL, MVT::v2i64, 2 }, in getArithmeticInstrCost()
189 { ISD::SRA, MVT::v2i64, 2 }, in getArithmeticInstrCost()
191 { ISD::SHL, MVT::v32i8, 2 }, in getArithmeticInstrCost()
192 { ISD::SRL, MVT::v32i8, 4 }, in getArithmeticInstrCost()
193 { ISD::SRA, MVT::v32i8, 4 }, in getArithmeticInstrCost()
194 { ISD::SHL, MVT::v16i16, 2 }, in getArithmeticInstrCost()
195 { ISD::SRL, MVT::v16i16, 4 }, in getArithmeticInstrCost()
196 { ISD::SRA, MVT::v16i16, 4 }, in getArithmeticInstrCost()
197 { ISD::SHL, MVT::v8i32, 2 }, in getArithmeticInstrCost()
198 { ISD::SRL, MVT::v8i32, 4 }, in getArithmeticInstrCost()
199 { ISD::SRA, MVT::v8i32, 4 }, in getArithmeticInstrCost()
200 { ISD::SHL, MVT::v4i64, 2 }, in getArithmeticInstrCost()
201 { ISD::SRL, MVT::v4i64, 4 }, in getArithmeticInstrCost()
202 { ISD::SRA, MVT::v4i64, 4 }, in getArithmeticInstrCost()
212 { ISD::SHL, MVT::v32i8, 11 }, // vpblendvb sequence. in getArithmeticInstrCost()
213 { ISD::SHL, MVT::v16i16, 10 }, // extend/vpsrlvd/pack sequence. in getArithmeticInstrCost()
215 { ISD::SRL, MVT::v32i8, 11 }, // vpblendvb sequence. in getArithmeticInstrCost()
216 { ISD::SRL, MVT::v16i16, 10 }, // extend/vpsrlvd/pack sequence. in getArithmeticInstrCost()
218 { ISD::SRA, MVT::v32i8, 24 }, // vpblendvb sequence. in getArithmeticInstrCost()
219 { ISD::SRA, MVT::v16i16, 10 }, // extend/vpsravd/pack sequence. in getArithmeticInstrCost()
220 { ISD::SRA, MVT::v2i64, 4 }, // srl/xor/sub sequence. in getArithmeticInstrCost()
221 { ISD::SRA, MVT::v4i64, 4 }, // srl/xor/sub sequence. in getArithmeticInstrCost()
224 { ISD::SDIV, MVT::v32i8, 32*20 }, in getArithmeticInstrCost()
225 { ISD::SDIV, MVT::v16i16, 16*20 }, in getArithmeticInstrCost()
226 { ISD::SDIV, MVT::v8i32, 8*20 }, in getArithmeticInstrCost()
227 { ISD::SDIV, MVT::v4i64, 4*20 }, in getArithmeticInstrCost()
228 { ISD::UDIV, MVT::v32i8, 32*20 }, in getArithmeticInstrCost()
229 { ISD::UDIV, MVT::v16i16, 16*20 }, in getArithmeticInstrCost()
230 { ISD::UDIV, MVT::v8i32, 8*20 }, in getArithmeticInstrCost()
231 { ISD::UDIV, MVT::v4i64, 4*20 }, in getArithmeticInstrCost()
246 { ISD::SHL, MVT::v16i8, 1 }, // psllw. in getArithmeticInstrCost()
247 { ISD::SHL, MVT::v32i8, 2 }, // psllw. in getArithmeticInstrCost()
248 { ISD::SHL, MVT::v8i16, 1 }, // psllw. in getArithmeticInstrCost()
249 { ISD::SHL, MVT::v16i16, 2 }, // psllw. in getArithmeticInstrCost()
250 { ISD::SHL, MVT::v4i32, 1 }, // pslld in getArithmeticInstrCost()
251 { ISD::SHL, MVT::v8i32, 2 }, // pslld in getArithmeticInstrCost()
252 { ISD::SHL, MVT::v2i64, 1 }, // psllq. in getArithmeticInstrCost()
253 { ISD::SHL, MVT::v4i64, 2 }, // psllq. in getArithmeticInstrCost()
255 { ISD::SRL, MVT::v16i8, 1 }, // psrlw. in getArithmeticInstrCost()
256 { ISD::SRL, MVT::v32i8, 2 }, // psrlw. in getArithmeticInstrCost()
257 { ISD::SRL, MVT::v8i16, 1 }, // psrlw. in getArithmeticInstrCost()
258 { ISD::SRL, MVT::v16i16, 2 }, // psrlw. in getArithmeticInstrCost()
259 { ISD::SRL, MVT::v4i32, 1 }, // psrld. in getArithmeticInstrCost()
260 { ISD::SRL, MVT::v8i32, 2 }, // psrld. in getArithmeticInstrCost()
261 { ISD::SRL, MVT::v2i64, 1 }, // psrlq. in getArithmeticInstrCost()
262 { ISD::SRL, MVT::v4i64, 2 }, // psrlq. in getArithmeticInstrCost()
264 { ISD::SRA, MVT::v16i8, 4 }, // psrlw, pand, pxor, psubb. in getArithmeticInstrCost()
265 { ISD::SRA, MVT::v32i8, 8 }, // psrlw, pand, pxor, psubb. in getArithmeticInstrCost()
266 { ISD::SRA, MVT::v8i16, 1 }, // psraw. in getArithmeticInstrCost()
267 { ISD::SRA, MVT::v16i16, 2 }, // psraw. in getArithmeticInstrCost()
268 { ISD::SRA, MVT::v4i32, 1 }, // psrad. in getArithmeticInstrCost()
269 { ISD::SRA, MVT::v8i32, 2 }, // psrad. in getArithmeticInstrCost()
270 { ISD::SRA, MVT::v2i64, 4 }, // 2 x psrad + shuffle. in getArithmeticInstrCost()
271 { ISD::SRA, MVT::v4i64, 8 }, // 2 x psrad + shuffle. in getArithmeticInstrCost()
273 { ISD::SDIV, MVT::v8i16, 6 }, // pmulhw sequence in getArithmeticInstrCost()
274 { ISD::UDIV, MVT::v8i16, 6 }, // pmulhuw sequence in getArithmeticInstrCost()
275 { ISD::SDIV, MVT::v4i32, 19 }, // pmuludq sequence in getArithmeticInstrCost()
276 { ISD::UDIV, MVT::v4i32, 15 }, // pmuludq sequence in getArithmeticInstrCost()
282 if (ISD == ISD::SDIV && LT.second == MVT::v4i32 && ST->hasSSE41()) in getArithmeticInstrCost()
292 MVT VT = LT.second; in getArithmeticInstrCost()
295 if ((VT == MVT::v8i16 && ST->hasSSE2()) || in getArithmeticInstrCost()
296 (VT == MVT::v4i32 && ST->hasSSE41())) in getArithmeticInstrCost()
301 if ((VT == MVT::v8i32 || VT == MVT::v16i16) && in getArithmeticInstrCost()
308 if (VT == MVT::v4i32 && ST->hasSSE2()) in getArithmeticInstrCost()
321 { ISD::SHL, MVT::v16i8, 26 }, // cmpgtb sequence. in getArithmeticInstrCost()
322 { ISD::SHL, MVT::v32i8, 2*26 }, // cmpgtb sequence. in getArithmeticInstrCost()
323 { ISD::SHL, MVT::v8i16, 32 }, // cmpgtb sequence. in getArithmeticInstrCost()
324 { ISD::SHL, MVT::v16i16, 2*32 }, // cmpgtb sequence. in getArithmeticInstrCost()
325 { ISD::SHL, MVT::v4i32, 2*5 }, // We optimized this using mul. in getArithmeticInstrCost()
326 { ISD::SHL, MVT::v8i32, 2*2*5 }, // We optimized this using mul. in getArithmeticInstrCost()
327 { ISD::SHL, MVT::v2i64, 4 }, // splat+shuffle sequence. in getArithmeticInstrCost()
328 { ISD::SHL, MVT::v4i64, 2*4 }, // splat+shuffle sequence. in getArithmeticInstrCost()
330 { ISD::SRL, MVT::v16i8, 26 }, // cmpgtb sequence. in getArithmeticInstrCost()
331 { ISD::SRL, MVT::v32i8, 2*26 }, // cmpgtb sequence. in getArithmeticInstrCost()
332 { ISD::SRL, MVT::v8i16, 32 }, // cmpgtb sequence. in getArithmeticInstrCost()
333 { ISD::SRL, MVT::v16i16, 2*32 }, // cmpgtb sequence. in getArithmeticInstrCost()
334 { ISD::SRL, MVT::v4i32, 16 }, // Shift each lane + blend. in getArithmeticInstrCost()
335 { ISD::SRL, MVT::v8i32, 2*16 }, // Shift each lane + blend. in getArithmeticInstrCost()
336 { ISD::SRL, MVT::v2i64, 4 }, // splat+shuffle sequence. in getArithmeticInstrCost()
337 { ISD::SRL, MVT::v4i64, 2*4 }, // splat+shuffle sequence. in getArithmeticInstrCost()
339 { ISD::SRA, MVT::v16i8, 54 }, // unpacked cmpgtb sequence. in getArithmeticInstrCost()
340 { ISD::SRA, MVT::v32i8, 2*54 }, // unpacked cmpgtb sequence. in getArithmeticInstrCost()
341 { ISD::SRA, MVT::v8i16, 32 }, // cmpgtb sequence. in getArithmeticInstrCost()
342 { ISD::SRA, MVT::v16i16, 2*32 }, // cmpgtb sequence. in getArithmeticInstrCost()
343 { ISD::SRA, MVT::v4i32, 16 }, // Shift each lane + blend. in getArithmeticInstrCost()
344 { ISD::SRA, MVT::v8i32, 2*16 }, // Shift each lane + blend. in getArithmeticInstrCost()
345 { ISD::SRA, MVT::v2i64, 12 }, // srl/xor/sub sequence. in getArithmeticInstrCost()
346 { ISD::SRA, MVT::v4i64, 2*12 }, // srl/xor/sub sequence. in getArithmeticInstrCost()
354 { ISD::SDIV, MVT::v16i8, 16*20 }, in getArithmeticInstrCost()
355 { ISD::SDIV, MVT::v8i16, 8*20 }, in getArithmeticInstrCost()
356 { ISD::SDIV, MVT::v4i32, 4*20 }, in getArithmeticInstrCost()
357 { ISD::SDIV, MVT::v2i64, 2*20 }, in getArithmeticInstrCost()
358 { ISD::UDIV, MVT::v16i8, 16*20 }, in getArithmeticInstrCost()
359 { ISD::UDIV, MVT::v8i16, 8*20 }, in getArithmeticInstrCost()
360 { ISD::UDIV, MVT::v4i32, 4*20 }, in getArithmeticInstrCost()
361 { ISD::UDIV, MVT::v2i64, 2*20 }, in getArithmeticInstrCost()
373 { ISD::MUL, MVT::v16i16, 4 }, in getArithmeticInstrCost()
374 { ISD::MUL, MVT::v8i32, 4 }, in getArithmeticInstrCost()
375 { ISD::SUB, MVT::v8i32, 4 }, in getArithmeticInstrCost()
376 { ISD::ADD, MVT::v8i32, 4 }, in getArithmeticInstrCost()
377 { ISD::SUB, MVT::v4i64, 4 }, in getArithmeticInstrCost()
378 { ISD::ADD, MVT::v4i64, 4 }, in getArithmeticInstrCost()
384 { ISD::MUL, MVT::v4i64, 18 }, in getArithmeticInstrCost()
389 MVT VT = LT.second; in getArithmeticInstrCost()
399 { ISD::MUL, MVT::v2i64, 9 }, in getArithmeticInstrCost()
400 { ISD::MUL, MVT::v4i64, 9 }, in getArithmeticInstrCost()
407 if (ISD == ISD::MUL && LT.second == MVT::v4i32 && ST->hasSSE2() && in getArithmeticInstrCost()
422 std::pair<int, MVT> LT = TLI->getTypeLegalizationCost(DL, Tp); in getShuffleCost()
434 std::pair<int, MVT> LT = TLI->getTypeLegalizationCost(DL, Tp); in getShuffleCost()
438 if (ST->hasAVX2() && LT.second == MVT::v16i16) in getShuffleCost()
442 {ISD::VECTOR_SHUFFLE, MVT::v4i64, 1}, // vblendpd in getShuffleCost()
443 {ISD::VECTOR_SHUFFLE, MVT::v4f64, 1}, // vblendpd in getShuffleCost()
445 {ISD::VECTOR_SHUFFLE, MVT::v8i32, 1}, // vblendps in getShuffleCost()
446 {ISD::VECTOR_SHUFFLE, MVT::v8f32, 1}, // vblendps in getShuffleCost()
450 {ISD::VECTOR_SHUFFLE, MVT::v16i16, 5}, in getShuffleCost()
454 {ISD::VECTOR_SHUFFLE, MVT::v32i8, 9} in getShuffleCost()
464 {ISD::VECTOR_SHUFFLE, MVT::v2i64, 1}, in getShuffleCost()
465 {ISD::VECTOR_SHUFFLE, MVT::v2f64, 1}, in getShuffleCost()
469 {ISD::VECTOR_SHUFFLE, MVT::v4i32, 1}, in getShuffleCost()
470 {ISD::VECTOR_SHUFFLE, MVT::v4f32, 1}, in getShuffleCost()
473 {ISD::VECTOR_SHUFFLE, MVT::v8i16, 1}, in getShuffleCost()
477 {ISD::VECTOR_SHUFFLE, MVT::v16i8, 3} in getShuffleCost()
486 {ISD::VECTOR_SHUFFLE, MVT::v2i64, 1}, // movsd in getShuffleCost()
487 {ISD::VECTOR_SHUFFLE, MVT::v2f64, 1}, // movsd in getShuffleCost()
491 {ISD::VECTOR_SHUFFLE, MVT::v4i32, 2}, in getShuffleCost()
492 {ISD::VECTOR_SHUFFLE, MVT::v4f32, 2}, in getShuffleCost()
494 {ISD::VECTOR_SHUFFLE, MVT::v8i16, 3}, // pshufb + pshufb + or in getShuffleCost()
495 {ISD::VECTOR_SHUFFLE, MVT::v16i8, 3} // pshufb + pshufb + or in getShuffleCost()
504 {ISD::VECTOR_SHUFFLE, MVT::v2i64, 1}, // movsd in getShuffleCost()
505 {ISD::VECTOR_SHUFFLE, MVT::v2f64, 1}, // movsd in getShuffleCost()
507 {ISD::VECTOR_SHUFFLE, MVT::v4i32, 2}, // shufps + pshufd in getShuffleCost()
508 {ISD::VECTOR_SHUFFLE, MVT::v4f32, 2}, // shufps + pshufd in getShuffleCost()
511 {ISD::VECTOR_SHUFFLE, MVT::v8i16, 8}, // 4 x pextrw + 4 pinsrw. in getShuffleCost()
514 {ISD::VECTOR_SHUFFLE, MVT::v16i8, 48} in getShuffleCost()
535 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i64, 1 }, in getCastInstrCost()
536 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i64, 1 }, in getCastInstrCost()
537 { ISD::UINT_TO_FP, MVT::v8f64, MVT::v8i64, 1 }, in getCastInstrCost()
538 { ISD::UINT_TO_FP, MVT::v2f32, MVT::v2i64, 1 }, in getCastInstrCost()
539 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i64, 1 }, in getCastInstrCost()
540 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i64, 1 }, in getCastInstrCost()
542 { ISD::FP_TO_UINT, MVT::v2i64, MVT::v2f64, 1 }, in getCastInstrCost()
543 { ISD::FP_TO_UINT, MVT::v4i64, MVT::v4f64, 1 }, in getCastInstrCost()
544 { ISD::FP_TO_UINT, MVT::v8i64, MVT::v8f64, 1 }, in getCastInstrCost()
545 { ISD::FP_TO_UINT, MVT::v2i64, MVT::v2f32, 1 }, in getCastInstrCost()
546 { ISD::FP_TO_UINT, MVT::v4i64, MVT::v4f32, 1 }, in getCastInstrCost()
547 { ISD::FP_TO_UINT, MVT::v8i64, MVT::v8f32, 1 }, in getCastInstrCost()
551 { ISD::FP_EXTEND, MVT::v8f64, MVT::v8f32, 1 }, in getCastInstrCost()
552 { ISD::FP_EXTEND, MVT::v8f64, MVT::v16f32, 3 }, in getCastInstrCost()
553 { ISD::FP_ROUND, MVT::v8f32, MVT::v8f64, 1 }, in getCastInstrCost()
555 { ISD::TRUNCATE, MVT::v16i8, MVT::v16i32, 1 }, in getCastInstrCost()
556 { ISD::TRUNCATE, MVT::v16i16, MVT::v16i32, 1 }, in getCastInstrCost()
557 { ISD::TRUNCATE, MVT::v8i16, MVT::v8i64, 1 }, in getCastInstrCost()
558 { ISD::TRUNCATE, MVT::v8i32, MVT::v8i64, 1 }, in getCastInstrCost()
561 { ISD::SIGN_EXTEND, MVT::v16i32, MVT::v16i1, 2 }, in getCastInstrCost()
562 { ISD::ZERO_EXTEND, MVT::v16i32, MVT::v16i1, 2 }, in getCastInstrCost()
564 { ISD::SIGN_EXTEND, MVT::v16i32, MVT::v16i8, 1 }, in getCastInstrCost()
565 { ISD::ZERO_EXTEND, MVT::v16i32, MVT::v16i8, 1 }, in getCastInstrCost()
566 { ISD::SIGN_EXTEND, MVT::v16i32, MVT::v16i16, 1 }, in getCastInstrCost()
567 { ISD::ZERO_EXTEND, MVT::v16i32, MVT::v16i16, 1 }, in getCastInstrCost()
568 { ISD::SIGN_EXTEND, MVT::v8i64, MVT::v8i32, 1 }, in getCastInstrCost()
569 { ISD::ZERO_EXTEND, MVT::v8i64, MVT::v8i32, 1 }, in getCastInstrCost()
570 { ISD::ZERO_EXTEND, MVT::v8i64, MVT::v8i16, 1 }, in getCastInstrCost()
571 { ISD::SIGN_EXTEND, MVT::v8i64, MVT::v8i16, 1 }, in getCastInstrCost()
573 { ISD::SINT_TO_FP, MVT::v16f32, MVT::v16i1, 3 }, in getCastInstrCost()
574 { ISD::SINT_TO_FP, MVT::v16f32, MVT::v16i8, 2 }, in getCastInstrCost()
575 { ISD::SINT_TO_FP, MVT::v16f32, MVT::v16i16, 2 }, in getCastInstrCost()
576 { ISD::SINT_TO_FP, MVT::v16f32, MVT::v16i32, 1 }, in getCastInstrCost()
577 { ISD::SINT_TO_FP, MVT::v8f64, MVT::v8i1, 4 }, in getCastInstrCost()
578 { ISD::SINT_TO_FP, MVT::v8f64, MVT::v8i8, 2 }, in getCastInstrCost()
579 { ISD::SINT_TO_FP, MVT::v8f64, MVT::v8i16, 2 }, in getCastInstrCost()
580 { ISD::SINT_TO_FP, MVT::v8f64, MVT::v8i32, 1 }, in getCastInstrCost()
582 { ISD::UINT_TO_FP, MVT::v16f32, MVT::v16i1, 3 }, in getCastInstrCost()
583 { ISD::UINT_TO_FP, MVT::v16f32, MVT::v16i8, 2 }, in getCastInstrCost()
584 { ISD::UINT_TO_FP, MVT::v16f32, MVT::v16i16, 2 }, in getCastInstrCost()
585 { ISD::UINT_TO_FP, MVT::v16f32, MVT::v16i32, 1 }, in getCastInstrCost()
586 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i32, 1 }, in getCastInstrCost()
587 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 1 }, in getCastInstrCost()
588 { ISD::UINT_TO_FP, MVT::v8f64, MVT::v8i1, 4 }, in getCastInstrCost()
589 { ISD::UINT_TO_FP, MVT::v8f64, MVT::v8i16, 2 }, in getCastInstrCost()
590 { ISD::UINT_TO_FP, MVT::v8f64, MVT::v8i32, 1 }, in getCastInstrCost()
591 { ISD::UINT_TO_FP, MVT::v8f64, MVT::v8i8, 2 }, in getCastInstrCost()
592 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i8, 2 }, in getCastInstrCost()
593 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i16, 2 }, in getCastInstrCost()
594 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i8, 2 }, in getCastInstrCost()
595 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i16, 2 }, in getCastInstrCost()
596 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i32, 1 }, in getCastInstrCost()
597 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i8, 2 }, in getCastInstrCost()
598 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i16, 5 }, in getCastInstrCost()
599 { ISD::UINT_TO_FP, MVT::v2f32, MVT::v2i32, 2 }, in getCastInstrCost()
600 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i64, 5 }, in getCastInstrCost()
601 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i64, 12 }, in getCastInstrCost()
602 { ISD::UINT_TO_FP, MVT::v8f64, MVT::v8i64, 26 }, in getCastInstrCost()
604 { ISD::FP_TO_UINT, MVT::v2i32, MVT::v2f32, 1 }, in getCastInstrCost()
605 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f32, 1 }, in getCastInstrCost()
606 { ISD::FP_TO_UINT, MVT::v8i32, MVT::v8f32, 1 }, in getCastInstrCost()
607 { ISD::FP_TO_UINT, MVT::v16i32, MVT::v16f32, 1 }, in getCastInstrCost()
611 { ISD::SIGN_EXTEND, MVT::v16i16, MVT::v16i8, 1 }, in getCastInstrCost()
612 { ISD::ZERO_EXTEND, MVT::v16i16, MVT::v16i8, 1 }, in getCastInstrCost()
613 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i1, 3 }, in getCastInstrCost()
614 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i1, 3 }, in getCastInstrCost()
615 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i8, 3 }, in getCastInstrCost()
616 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i8, 3 }, in getCastInstrCost()
617 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i16, 1 }, in getCastInstrCost()
618 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i16, 1 }, in getCastInstrCost()
619 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i1, 3 }, in getCastInstrCost()
620 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i1, 3 }, in getCastInstrCost()
621 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i8, 3 }, in getCastInstrCost()
622 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i8, 3 }, in getCastInstrCost()
623 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i16, 3 }, in getCastInstrCost()
624 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i16, 3 }, in getCastInstrCost()
625 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i32, 1 }, in getCastInstrCost()
626 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i32, 1 }, in getCastInstrCost()
628 { ISD::TRUNCATE, MVT::v4i8, MVT::v4i64, 2 }, in getCastInstrCost()
629 { ISD::TRUNCATE, MVT::v4i16, MVT::v4i64, 2 }, in getCastInstrCost()
630 { ISD::TRUNCATE, MVT::v4i32, MVT::v4i64, 2 }, in getCastInstrCost()
631 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i32, 2 }, in getCastInstrCost()
632 { ISD::TRUNCATE, MVT::v8i16, MVT::v8i32, 2 }, in getCastInstrCost()
633 { ISD::TRUNCATE, MVT::v8i32, MVT::v8i64, 4 }, in getCastInstrCost()
635 { ISD::FP_EXTEND, MVT::v8f64, MVT::v8f32, 3 }, in getCastInstrCost()
636 { ISD::FP_ROUND, MVT::v8f32, MVT::v8f64, 3 }, in getCastInstrCost()
638 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i32, 8 }, in getCastInstrCost()
642 { ISD::SIGN_EXTEND, MVT::v16i16, MVT::v16i8, 4 }, in getCastInstrCost()
643 { ISD::ZERO_EXTEND, MVT::v16i16, MVT::v16i8, 4 }, in getCastInstrCost()
644 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i1, 7 }, in getCastInstrCost()
645 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i1, 4 }, in getCastInstrCost()
646 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i8, 7 }, in getCastInstrCost()
647 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i8, 4 }, in getCastInstrCost()
648 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i16, 4 }, in getCastInstrCost()
649 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i16, 4 }, in getCastInstrCost()
650 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i1, 6 }, in getCastInstrCost()
651 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i1, 4 }, in getCastInstrCost()
652 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i8, 6 }, in getCastInstrCost()
653 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i8, 4 }, in getCastInstrCost()
654 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i16, 6 }, in getCastInstrCost()
655 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i16, 3 }, in getCastInstrCost()
656 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i32, 4 }, in getCastInstrCost()
657 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i32, 4 }, in getCastInstrCost()
659 { ISD::TRUNCATE, MVT::v4i8, MVT::v4i64, 4 }, in getCastInstrCost()
660 { ISD::TRUNCATE, MVT::v4i16, MVT::v4i64, 4 }, in getCastInstrCost()
661 { ISD::TRUNCATE, MVT::v4i32, MVT::v4i64, 4 }, in getCastInstrCost()
662 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i32, 4 }, in getCastInstrCost()
663 { ISD::TRUNCATE, MVT::v8i16, MVT::v8i32, 5 }, in getCastInstrCost()
664 { ISD::TRUNCATE, MVT::v16i8, MVT::v16i16, 4 }, in getCastInstrCost()
665 { ISD::TRUNCATE, MVT::v8i32, MVT::v8i64, 9 }, in getCastInstrCost()
667 { ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i1, 8 }, in getCastInstrCost()
668 { ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i8, 8 }, in getCastInstrCost()
669 { ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i16, 5 }, in getCastInstrCost()
670 { ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i32, 1 }, in getCastInstrCost()
671 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i1, 3 }, in getCastInstrCost()
672 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i8, 3 }, in getCastInstrCost()
673 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i16, 3 }, in getCastInstrCost()
674 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i32, 1 }, in getCastInstrCost()
675 { ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i1, 3 }, in getCastInstrCost()
676 { ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i8, 3 }, in getCastInstrCost()
677 { ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i16, 3 }, in getCastInstrCost()
678 { ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i32, 1 }, in getCastInstrCost()
680 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i1, 6 }, in getCastInstrCost()
681 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i8, 5 }, in getCastInstrCost()
682 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i16, 5 }, in getCastInstrCost()
683 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i32, 9 }, in getCastInstrCost()
684 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i1, 7 }, in getCastInstrCost()
685 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i8, 2 }, in getCastInstrCost()
686 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i16, 2 }, in getCastInstrCost()
687 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 6 }, in getCastInstrCost()
688 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i1, 7 }, in getCastInstrCost()
689 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i8, 2 }, in getCastInstrCost()
690 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i16, 2 }, in getCastInstrCost()
691 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i32, 6 }, in getCastInstrCost()
697 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i64, 2*10 }, in getCastInstrCost()
698 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i64, 4*10 }, in getCastInstrCost()
700 { ISD::FP_TO_SINT, MVT::v8i8, MVT::v8f32, 7 }, in getCastInstrCost()
701 { ISD::FP_TO_SINT, MVT::v4i8, MVT::v4f32, 1 }, in getCastInstrCost()
707 { ISD::FP_TO_UINT, MVT::v8i32, MVT::v8f32, 8*4 }, in getCastInstrCost()
708 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f64, 4*4 }, in getCastInstrCost()
712 { ISD::ZERO_EXTEND, MVT::v16i32, MVT::v16i16, 4 }, in getCastInstrCost()
713 { ISD::SIGN_EXTEND, MVT::v16i32, MVT::v16i16, 4 }, in getCastInstrCost()
714 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i16, 2 }, in getCastInstrCost()
715 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i16, 2 }, in getCastInstrCost()
716 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i16, 1 }, in getCastInstrCost()
717 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i16, 1 }, in getCastInstrCost()
718 { ISD::ZERO_EXTEND, MVT::v16i32, MVT::v16i8, 4 }, in getCastInstrCost()
719 { ISD::SIGN_EXTEND, MVT::v16i32, MVT::v16i8, 4 }, in getCastInstrCost()
720 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i8, 2 }, in getCastInstrCost()
721 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i8, 2 }, in getCastInstrCost()
722 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i8, 1 }, in getCastInstrCost()
723 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i8, 1 }, in getCastInstrCost()
724 { ISD::ZERO_EXTEND, MVT::v16i16, MVT::v16i8, 2 }, in getCastInstrCost()
725 { ISD::SIGN_EXTEND, MVT::v16i16, MVT::v16i8, 2 }, in getCastInstrCost()
726 { ISD::ZERO_EXTEND, MVT::v8i16, MVT::v8i8, 1 }, in getCastInstrCost()
727 { ISD::SIGN_EXTEND, MVT::v8i16, MVT::v8i8, 1 }, in getCastInstrCost()
728 { ISD::ZERO_EXTEND, MVT::v4i16, MVT::v4i8, 1 }, in getCastInstrCost()
729 { ISD::SIGN_EXTEND, MVT::v4i16, MVT::v4i8, 2 }, in getCastInstrCost()
731 { ISD::TRUNCATE, MVT::v16i16, MVT::v16i32, 6 }, in getCastInstrCost()
732 { ISD::TRUNCATE, MVT::v8i16, MVT::v8i32, 3 }, in getCastInstrCost()
733 { ISD::TRUNCATE, MVT::v4i16, MVT::v4i32, 1 }, in getCastInstrCost()
734 { ISD::TRUNCATE, MVT::v16i8, MVT::v16i32, 30 }, in getCastInstrCost()
735 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i32, 3 }, in getCastInstrCost()
736 { ISD::TRUNCATE, MVT::v4i8, MVT::v4i32, 1 }, in getCastInstrCost()
737 { ISD::TRUNCATE, MVT::v16i8, MVT::v16i16, 3 }, in getCastInstrCost()
738 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i16, 1 }, in getCastInstrCost()
739 { ISD::TRUNCATE, MVT::v4i8, MVT::v4i16, 2 }, in getCastInstrCost()
746 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i64, 2*10 }, in getCastInstrCost()
747 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v4i32, 4*10 }, in getCastInstrCost()
748 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v8i16, 8*10 }, in getCastInstrCost()
749 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v16i8, 16*10 }, in getCastInstrCost()
750 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v2i64, 2*10 }, in getCastInstrCost()
751 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v4i32, 4*10 }, in getCastInstrCost()
752 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v8i16, 8*10 }, in getCastInstrCost()
753 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v16i8, 16*10 }, in getCastInstrCost()
755 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v2i64, 15 }, in getCastInstrCost()
756 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 8 }, in getCastInstrCost()
757 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v8i16, 15 }, in getCastInstrCost()
758 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v16i8, 8 }, in getCastInstrCost()
759 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v2i64, 15 }, in getCastInstrCost()
760 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i32, 15 }, in getCastInstrCost()
761 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v8i16, 15 }, in getCastInstrCost()
762 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v16i8, 8 }, in getCastInstrCost()
764 { ISD::ZERO_EXTEND, MVT::v16i32, MVT::v16i16, 6 }, in getCastInstrCost()
765 { ISD::SIGN_EXTEND, MVT::v16i32, MVT::v16i16, 8 }, in getCastInstrCost()
766 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i16, 3 }, in getCastInstrCost()
767 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i16, 4 }, in getCastInstrCost()
768 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i16, 1 }, in getCastInstrCost()
769 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i16, 2 }, in getCastInstrCost()
770 { ISD::ZERO_EXTEND, MVT::v16i32, MVT::v16i8, 9 }, in getCastInstrCost()
771 { ISD::SIGN_EXTEND, MVT::v16i32, MVT::v16i8, 12 }, in getCastInstrCost()
772 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i8, 6 }, in getCastInstrCost()
773 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i8, 6 }, in getCastInstrCost()
774 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i8, 2 }, in getCastInstrCost()
775 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i8, 3 }, in getCastInstrCost()
776 { ISD::ZERO_EXTEND, MVT::v16i16, MVT::v16i8, 3 }, in getCastInstrCost()
777 { ISD::SIGN_EXTEND, MVT::v16i16, MVT::v16i8, 4 }, in getCastInstrCost()
778 { ISD::ZERO_EXTEND, MVT::v8i16, MVT::v8i8, 1 }, in getCastInstrCost()
779 { ISD::SIGN_EXTEND, MVT::v8i16, MVT::v8i8, 2 }, in getCastInstrCost()
780 { ISD::ZERO_EXTEND, MVT::v4i16, MVT::v4i8, 1 }, in getCastInstrCost()
781 { ISD::SIGN_EXTEND, MVT::v4i16, MVT::v4i8, 6 }, in getCastInstrCost()
783 { ISD::TRUNCATE, MVT::v16i16, MVT::v16i32, 10 }, in getCastInstrCost()
784 { ISD::TRUNCATE, MVT::v8i16, MVT::v8i32, 5 }, in getCastInstrCost()
785 { ISD::TRUNCATE, MVT::v4i16, MVT::v4i32, 3 }, in getCastInstrCost()
786 { ISD::TRUNCATE, MVT::v16i8, MVT::v16i32, 7 }, in getCastInstrCost()
787 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i32, 4 }, in getCastInstrCost()
788 { ISD::TRUNCATE, MVT::v4i8, MVT::v4i32, 3 }, in getCastInstrCost()
789 { ISD::TRUNCATE, MVT::v16i8, MVT::v16i16, 3 }, in getCastInstrCost()
790 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i16, 2 }, in getCastInstrCost()
791 { ISD::TRUNCATE, MVT::v4i8, MVT::v4i16, 4 }, in getCastInstrCost()
794 std::pair<int, MVT> LTSrc = TLI->getTypeLegalizationCost(DL, Src); in getCastInstrCost()
795 std::pair<int, MVT> LTDest = TLI->getTypeLegalizationCost(DL, Dst); in getCastInstrCost()
855 std::pair<int, MVT> LT = TLI->getTypeLegalizationCost(DL, ValTy); in getCmpSelInstrCost()
857 MVT MTy = LT.second; in getCmpSelInstrCost()
863 { ISD::SETCC, MVT::v2f64, 1 }, in getCmpSelInstrCost()
864 { ISD::SETCC, MVT::v4f32, 1 }, in getCmpSelInstrCost()
865 { ISD::SETCC, MVT::v2i64, 1 }, in getCmpSelInstrCost()
866 { ISD::SETCC, MVT::v4i32, 1 }, in getCmpSelInstrCost()
867 { ISD::SETCC, MVT::v8i16, 1 }, in getCmpSelInstrCost()
868 { ISD::SETCC, MVT::v16i8, 1 }, in getCmpSelInstrCost()
872 { ISD::SETCC, MVT::v4f64, 1 }, in getCmpSelInstrCost()
873 { ISD::SETCC, MVT::v8f32, 1 }, in getCmpSelInstrCost()
875 { ISD::SETCC, MVT::v4i64, 4 }, in getCmpSelInstrCost()
876 { ISD::SETCC, MVT::v8i32, 4 }, in getCmpSelInstrCost()
877 { ISD::SETCC, MVT::v16i16, 4 }, in getCmpSelInstrCost()
878 { ISD::SETCC, MVT::v32i8, 4 }, in getCmpSelInstrCost()
882 { ISD::SETCC, MVT::v4i64, 1 }, in getCmpSelInstrCost()
883 { ISD::SETCC, MVT::v8i32, 1 }, in getCmpSelInstrCost()
884 { ISD::SETCC, MVT::v16i16, 1 }, in getCmpSelInstrCost()
885 { ISD::SETCC, MVT::v32i8, 1 }, in getCmpSelInstrCost()
889 { ISD::SETCC, MVT::v8i64, 1 }, in getCmpSelInstrCost()
890 { ISD::SETCC, MVT::v16i32, 1 }, in getCmpSelInstrCost()
891 { ISD::SETCC, MVT::v8f64, 1 }, in getCmpSelInstrCost()
892 { ISD::SETCC, MVT::v16f32, 1 }, in getCmpSelInstrCost()
919 std::pair<int, MVT> LT = TLI->getTypeLegalizationCost(DL, Val); in getVectorInstrCost()
979 std::pair<int, MVT> LT = TLI->getTypeLegalizationCost(DL, Src); in getMemoryOpCost()
1024 std::pair<int, MVT> LT = TLI->getTypeLegalizationCost(DL, SrcVTy); in getMaskedMemoryOpCost()
1062 std::pair<int, MVT> LT = TLI->getTypeLegalizationCost(DL, ValTy); in getReductionCost()
1064 MVT MTy = LT.second; in getReductionCost()
1073 { ISD::FADD, MVT::v2f64, 2 }, in getReductionCost()
1074 { ISD::FADD, MVT::v4f32, 4 }, in getReductionCost()
1075 { ISD::ADD, MVT::v2i64, 2 }, // The data reported by the IACA tool is "1.6". in getReductionCost()
1076 { ISD::ADD, MVT::v4i32, 3 }, // The data reported by the IACA tool is "3.5". in getReductionCost()
1077 { ISD::ADD, MVT::v8i16, 5 }, in getReductionCost()
1081 { ISD::FADD, MVT::v4f32, 4 }, in getReductionCost()
1082 { ISD::FADD, MVT::v4f64, 5 }, in getReductionCost()
1083 { ISD::FADD, MVT::v8f32, 7 }, in getReductionCost()
1084 { ISD::ADD, MVT::v2i64, 1 }, // The data reported by the IACA tool is "1.5". in getReductionCost()
1085 { ISD::ADD, MVT::v4i32, 3 }, // The data reported by the IACA tool is "3.5". in getReductionCost()
1086 { ISD::ADD, MVT::v4i64, 5 }, // The data reported by the IACA tool is "4.8". in getReductionCost()
1087 { ISD::ADD, MVT::v8i16, 5 }, in getReductionCost()
1088 { ISD::ADD, MVT::v8i32, 5 }, in getReductionCost()
1092 { ISD::FADD, MVT::v2f64, 2 }, in getReductionCost()
1093 { ISD::FADD, MVT::v4f32, 4 }, in getReductionCost()
1094 { ISD::ADD, MVT::v2i64, 2 }, // The data reported by the IACA tool is "1.6". in getReductionCost()
1095 { ISD::ADD, MVT::v4i32, 3 }, // The data reported by the IACA tool is "3.3". in getReductionCost()
1096 { ISD::ADD, MVT::v8i16, 4 }, // The data reported by the IACA tool is "4.3". in getReductionCost()
1100 { ISD::FADD, MVT::v4f32, 3 }, in getReductionCost()
1101 { ISD::FADD, MVT::v4f64, 3 }, in getReductionCost()
1102 { ISD::FADD, MVT::v8f32, 4 }, in getReductionCost()
1103 { ISD::ADD, MVT::v2i64, 1 }, // The data reported by the IACA tool is "1.5". in getReductionCost()
1104 { ISD::ADD, MVT::v4i32, 3 }, // The data reported by the IACA tool is "2.8". in getReductionCost()
1105 { ISD::ADD, MVT::v4i64, 3 }, in getReductionCost()
1106 { ISD::ADD, MVT::v8i16, 4 }, in getReductionCost()
1107 { ISD::ADD, MVT::v8i32, 5 }, in getReductionCost()