Home | History | Annotate | Download | only in AArch64

Lines Matching defs:ISD

180   int ISD = TLI->InstructionOpcodeToISD(Opcode);
181 assert(ISD && "Invalid opcode");
191 { ISD::TRUNCATE, MVT::v4i16, MVT::v4i32, 1 },
192 { ISD::TRUNCATE, MVT::v4i32, MVT::v4i64, 0 },
193 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i32, 3 },
194 { ISD::TRUNCATE, MVT::v16i8, MVT::v16i32, 6 },
197 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i16, 3 },
198 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i16, 3 },
199 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i32, 2 },
200 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i32, 2 },
201 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i8, 3 },
202 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i8, 3 },
203 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i16, 2 },
204 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i16, 2 },
205 { ISD::SIGN_EXTEND, MVT::v8i64, MVT::v8i8, 7 },
206 { ISD::ZERO_EXTEND, MVT::v8i64, MVT::v8i8, 7 },
207 { ISD::SIGN_EXTEND, MVT::v8i64, MVT::v8i16, 6 },
208 { ISD::ZERO_EXTEND, MVT::v8i64, MVT::v8i16, 6 },
209 { ISD::SIGN_EXTEND, MVT::v16i16, MVT::v16i8, 2 },
210 { ISD::ZERO_EXTEND, MVT::v16i16, MVT::v16i8, 2 },
211 { ISD::SIGN_EXTEND, MVT::v16i32, MVT::v16i8, 6 },
212 { ISD::ZERO_EXTEND, MVT::v16i32, MVT::v16i8, 6 },
215 { ISD::SINT_TO_FP, MVT::v2f32, MVT::v2i32, 1 },
216 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i32, 1 },
217 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v2i64, 1 },
218 { ISD::UINT_TO_FP, MVT::v2f32, MVT::v2i32, 1 },
219 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 1 },
220 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i64, 1 },
223 { ISD::SINT_TO_FP, MVT::v2f32, MVT::v2i8, 3 },
224 { ISD::SINT_TO_FP, MVT::v2f32, MVT::v2i16, 3 },
225 { ISD::SINT_TO_FP, MVT::v2f32, MVT::v2i64, 2 },
226 { ISD::UINT_TO_FP, MVT::v2f32, MVT::v2i8, 3 },
227 { ISD::UINT_TO_FP, MVT::v2f32, MVT::v2i16, 3 },
228 { ISD::UINT_TO_FP, MVT::v2f32, MVT::v2i64, 2 },
231 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i8, 4 },
232 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i16, 2 },
233 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i8, 3 },
234 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i16, 2 },
237 { ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i8, 10 },
238 { ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i16, 4 },
239 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i8, 10 },
240 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i16, 4 },
243 { ISD::SINT_TO_FP, MVT::v16f32, MVT::v16i8, 21 },
244 { ISD::UINT_TO_FP, MVT::v16f32, MVT::v16i8, 21 },
247 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v2i8, 4 },
248 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v2i16, 4 },
249 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v2i32, 2 },
250 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i8, 4 },
251 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i16, 4 },
252 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i32, 2 },
256 { ISD::FP_TO_SINT, MVT::v2i32, MVT::v2f32, 1 },
257 { ISD::FP_TO_SINT, MVT::v4i32, MVT::v4f32, 1 },
258 { ISD::FP_TO_SINT, MVT::v2i64, MVT::v2f64, 1 },
259 { ISD::FP_TO_UINT, MVT::v2i32, MVT::v2f32, 1 },
260 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f32, 1 },
261 { ISD::FP_TO_UINT, MVT::v2i64, MVT::v2f64, 1 },
264 { ISD::FP_TO_SINT, MVT::v2i64, MVT::v2f32, 2 },
265 { ISD::FP_TO_SINT, MVT::v2i16, MVT::v2f32, 1 },
266 { ISD::FP_TO_SINT, MVT::v2i8, MVT::v2f32, 1 },
267 { ISD::FP_TO_UINT, MVT::v2i64, MVT::v2f32, 2 },
268 { ISD::FP_TO_UINT, MVT::v2i16, MVT::v2f32, 1 },
269 { ISD::FP_TO_UINT, MVT::v2i8, MVT::v2f32, 1 },
272 { ISD::FP_TO_SINT, MVT::v4i16, MVT::v4f32, 2 },
273 { ISD::FP_TO_SINT, MVT::v4i8, MVT::v4f32, 2 },
274 { ISD::FP_TO_UINT, MVT::v4i16, MVT::v4f32, 2 },
275 { ISD::FP_TO_UINT, MVT::v4i8, MVT::v4f32, 2 },
278 { ISD::FP_TO_SINT, MVT::v2i32, MVT::v2f64, 2 },
279 { ISD::FP_TO_SINT, MVT::v2i16, MVT::v2f64, 2 },
280 { ISD::FP_TO_SINT, MVT::v2i8, MVT::v2f64, 2 },
281 { ISD::FP_TO_UINT, MVT::v2i32, MVT::v2f64, 2 },
282 { ISD::FP_TO_UINT, MVT::v2i16, MVT::v2f64, 2 },
283 { ISD::FP_TO_UINT, MVT::v2i8, MVT::v2f64, 2 },
286 if (const auto *Entry = ConvertCostTableLookup(ConversionTbl, ISD,
326 int ISD = TLI->InstructionOpcodeToISD(Opcode);
328 if (ISD == ISD::SDIV &&
350 switch (ISD) {
354 case ISD::ADD:
355 case ISD::MUL:
356 case ISD::XOR:
357 case ISD::OR:
358 case ISD::AND:
383 int ISD = TLI->InstructionOpcodeToISD(Opcode);
386 if (ValTy->isVectorTy() && ISD == ISD::SELECT) {
391 { ISD::SELECT, MVT::v16i1, MVT::v16i16, 16 },
392 { ISD::SELECT, MVT::v8i1, MVT::v8i32, 8 },
393 { ISD::SELECT, MVT::v16i1, MVT::v16i32, 16 },
394 { ISD::SELECT, MVT::v4i1, MVT::v4i64, 4 * AmortizationCost },
395 { ISD::SELECT, MVT::v8i1, MVT::v8i64, 8 * AmortizationCost },
396 { ISD::SELECT, MVT::v16i1, MVT::v16i64, 16 * AmortizationCost }
402 if (const auto *Entry = ConvertCostTableLookup(VectorSelectTbl, ISD,