• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/AArch64/

Lines Matching refs:Custom

247   setOperationAction(ISD::GlobalAddress, MVT::i64, Custom);
248 setOperationAction(ISD::GlobalTLSAddress, MVT::i64, Custom);
249 setOperationAction(ISD::SETCC, MVT::i32, Custom);
250 setOperationAction(ISD::SETCC, MVT::i64, Custom);
251 setOperationAction(ISD::SETCC, MVT::f16, Custom);
252 setOperationAction(ISD::SETCC, MVT::f32, Custom);
253 setOperationAction(ISD::SETCC, MVT::f64, Custom);
254 setOperationAction(ISD::STRICT_FSETCC, MVT::f16, Custom);
255 setOperationAction(ISD::STRICT_FSETCC, MVT::f32, Custom);
256 setOperationAction(ISD::STRICT_FSETCC, MVT::f64, Custom);
257 setOperationAction(ISD::STRICT_FSETCCS, MVT::f16, Custom);
258 setOperationAction(ISD::STRICT_FSETCCS, MVT::f32, Custom);
259 setOperationAction(ISD::STRICT_FSETCCS, MVT::f64, Custom);
263 setOperationAction(ISD::BR_CC, MVT::i32, Custom);
264 setOperationAction(ISD::BR_CC, MVT::i64, Custom);
265 setOperationAction(ISD::BR_CC, MVT::f16, Custom);
266 setOperationAction(ISD::BR_CC, MVT::f32, Custom);
267 setOperationAction(ISD::BR_CC, MVT::f64, Custom);
268 setOperationAction(ISD::SELECT, MVT::i32, Custom);
269 setOperationAction(ISD::SELECT, MVT::i64, Custom);
270 setOperationAction(ISD::SELECT, MVT::f16, Custom);
271 setOperationAction(ISD::SELECT, MVT::f32, Custom);
272 setOperationAction(ISD::SELECT, MVT::f64, Custom);
273 setOperationAction(ISD::SELECT_CC, MVT::i32, Custom);
274 setOperationAction(ISD::SELECT_CC, MVT::i64, Custom);
275 setOperationAction(ISD::SELECT_CC, MVT::f16, Custom);
276 setOperationAction(ISD::SELECT_CC, MVT::f32, Custom);
277 setOperationAction(ISD::SELECT_CC, MVT::f64, Custom);
278 setOperationAction(ISD::BR_JT, MVT::Other, Custom);
279 setOperationAction(ISD::JumpTable, MVT::i64, Custom);
281 setOperationAction(ISD::SHL_PARTS, MVT::i64, Custom);
282 setOperationAction(ISD::SRA_PARTS, MVT::i64, Custom);
283 setOperationAction(ISD::SRL_PARTS, MVT::i64, Custom);
291 // Custom lowering hooks are needed for XOR
293 setOperationAction(ISD::XOR, MVT::i32, Custom);
294 setOperationAction(ISD::XOR, MVT::i64, Custom);
299 setOperationAction(ISD::FADD, MVT::f128, Custom);
302 setOperationAction(ISD::FDIV, MVT::f128, Custom);
304 setOperationAction(ISD::FMUL, MVT::f128, Custom);
312 setOperationAction(ISD::FSUB, MVT::f128, Custom);
314 setOperationAction(ISD::SETCC, MVT::f128, Custom);
315 setOperationAction(ISD::STRICT_FSETCC, MVT::f128, Custom);
316 setOperationAction(ISD::STRICT_FSETCCS, MVT::f128, Custom);
317 setOperationAction(ISD::BR_CC, MVT::f128, Custom);
318 setOperationAction(ISD::SELECT, MVT::f128, Custom);
319 setOperationAction(ISD::SELECT_CC, MVT::f128, Custom);
320 setOperationAction(ISD::FP_EXTEND, MVT::f128, Custom);
324 setOperationAction(ISD::FP_TO_SINT, MVT::i32, Custom);
325 setOperationAction(ISD::FP_TO_SINT, MVT::i64, Custom);
326 setOperationAction(ISD::FP_TO_SINT, MVT::i128, Custom);
327 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i32, Custom);
328 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i64, Custom);
329 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i128, Custom);
330 setOperationAction(ISD::FP_TO_UINT, MVT::i32, Custom);
331 setOperationAction(ISD::FP_TO_UINT, MVT::i64, Custom);
332 setOperationAction(ISD::FP_TO_UINT, MVT::i128, Custom);
333 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i32, Custom);
334 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i64, Custom);
335 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i128, Custom);
336 setOperationAction(ISD::SINT_TO_FP, MVT::i32, Custom);
337 setOperationAction(ISD::SINT_TO_FP, MVT::i64, Custom);
338 setOperationAction(ISD::SINT_TO_FP, MVT::i128, Custom);
339 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i32, Custom);
340 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i64, Custom);
341 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i128, Custom);
342 setOperationAction(ISD::UINT_TO_FP, MVT::i32, Custom);
343 setOperationAction(ISD::UINT_TO_FP, MVT::i64, Custom);
344 setOperationAction(ISD::UINT_TO_FP, MVT::i128, Custom);
345 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i32, Custom);
346 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i64, Custom);
347 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i128, Custom);
348 setOperationAction(ISD::FP_ROUND, MVT::f32, Custom);
349 setOperationAction(ISD::FP_ROUND, MVT::f64, Custom);
350 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f32, Custom);
351 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f64, Custom);
354 setOperationAction(ISD::VASTART, MVT::Other, Custom);
355 setOperationAction(ISD::VAARG, MVT::Other, Custom);
356 setOperationAction(ISD::VACOPY, MVT::Other, Custom);
364 setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i64, Custom);
369 setOperationAction(ISD::ConstantPool, MVT::i64, Custom);
372 setOperationAction(ISD::BlockAddress, MVT::i64, Custom);
375 setOperationAction(ISD::ADDC, MVT::i32, Custom);
376 setOperationAction(ISD::ADDE, MVT::i32, Custom);
377 setOperationAction(ISD::SUBC, MVT::i32, Custom);
378 setOperationAction(ISD::SUBE, MVT::i32, Custom);
379 setOperationAction(ISD::ADDC, MVT::i64, Custom);
380 setOperationAction(ISD::ADDE, MVT::i64, Custom);
381 setOperationAction(ISD::SUBC, MVT::i64, Custom);
382 setOperationAction(ISD::SUBE, MVT::i64, Custom);
400 setOperationAction(ISD::CTPOP, MVT::i32, Custom);
401 setOperationAction(ISD::CTPOP, MVT::i64, Custom);
402 setOperationAction(ISD::CTPOP, MVT::i128, Custom);
417 // Custom lower Add/Sub/Mul with overflow.
418 setOperationAction(ISD::SADDO, MVT::i32, Custom);
419 setOperationAction(ISD::SADDO, MVT::i64, Custom);
420 setOperationAction(ISD::UADDO, MVT::i32, Custom);
421 setOperationAction(ISD::UADDO, MVT::i64, Custom);
422 setOperationAction(ISD::SSUBO, MVT::i32, Custom);
423 setOperationAction(ISD::SSUBO, MVT::i64, Custom);
424 setOperationAction(ISD::USUBO, MVT::i32, Custom);
425 setOperationAction(ISD::USUBO, MVT::i64, Custom);
426 setOperationAction(ISD::SMULO, MVT::i32, Custom);
427 setOperationAction(ISD::SMULO, MVT::i64, Custom);
428 setOperationAction(ISD::UMULO, MVT::i32, Custom);
429 setOperationAction(ISD::UMULO, MVT::i64, Custom);
437 setOperationAction(ISD::FCOPYSIGN, MVT::f64, Custom);
438 setOperationAction(ISD::FCOPYSIGN, MVT::f32, Custom);
440 setOperationAction(ISD::FCOPYSIGN, MVT::f16, Custom);
581 setOperationAction(ISD::PREFETCH, MVT::Other, Custom);
583 setOperationAction(ISD::FLT_ROUNDS_, MVT::i32, Custom);
585 setOperationAction(ISD::ATOMIC_CMP_SWAP, MVT::i128, Custom);
586 setOperationAction(ISD::ATOMIC_LOAD_SUB, MVT::i32, Custom);
587 setOperationAction(ISD::ATOMIC_LOAD_SUB, MVT::i64, Custom);
588 setOperationAction(ISD::ATOMIC_LOAD_AND, MVT::i32, Custom);
589 setOperationAction(ISD::ATOMIC_LOAD_AND, MVT::i64, Custom);
592 setOperationAction(ISD::LOAD, MVT::i128, Custom);
593 setOperationAction(ISD::STORE, MVT::i128, Custom);
598 setOperationAction(ISD::STORE, MVT::v32i8, Custom);
599 setOperationAction(ISD::STORE, MVT::v16i16, Custom);
600 setOperationAction(ISD::STORE, MVT::v16f16, Custom);
601 setOperationAction(ISD::STORE, MVT::v8i32, Custom);
602 setOperationAction(ISD::STORE, MVT::v8f32, Custom);
603 setOperationAction(ISD::STORE, MVT::v4f64, Custom);
604 setOperationAction(ISD::STORE, MVT::v4i64, Custom);
614 setOperationAction(ISD::FSINCOS, MVT::f64, Custom);
615 setOperationAction(ISD::FSINCOS, MVT::f32, Custom);
653 setOperationAction(ISD::BITCAST, MVT::i16, Custom);
654 setOperationAction(ISD::BITCAST, MVT::f16, Custom);
655 setOperationAction(ISD::BITCAST, MVT::bf16, Custom);
759 setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);
806 setOperationAction(ISD::SINT_TO_FP, MVT::v2i32, Custom);
807 setOperationAction(ISD::UINT_TO_FP, MVT::v2i32, Custom);
808 setOperationAction(ISD::SINT_TO_FP, MVT::v2i64, Custom);
809 setOperationAction(ISD::UINT_TO_FP, MVT::v2i64, Custom);
812 setOperationAction(ISD::SINT_TO_FP, MVT::v4i32, Custom);
813 setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Custom);
816 setOperationAction(ISD::SINT_TO_FP, MVT::v4i16, Custom);
817 setOperationAction(ISD::UINT_TO_FP, MVT::v4i16, Custom);
818 setOperationAction(ISD::SINT_TO_FP, MVT::v8i16, Custom);
819 setOperationAction(ISD::UINT_TO_FP, MVT::v8i16, Custom);
834 // Custom handling for some quad-vector types to detect MULL.
835 setOperationAction(ISD::MUL, MVT::v8i16, Custom);
836 setOperationAction(ISD::MUL, MVT::v4i32, Custom);
837 setOperationAction(ISD::MUL, MVT::v2i64, Custom);
842 setOperationAction(ISD::VECREDUCE_ADD, VT, Custom);
843 setOperationAction(ISD::VECREDUCE_SMAX, VT, Custom);
844 setOperationAction(ISD::VECREDUCE_SMIN, VT, Custom);
845 setOperationAction(ISD::VECREDUCE_UMAX, VT, Custom);
846 setOperationAction(ISD::VECREDUCE_UMIN, VT, Custom);
854 setOperationAction(ISD::TRUNCATE, VT, Custom);
858 setOperationAction(ISD::VECREDUCE_FMAX, VT, Custom);
859 setOperationAction(ISD::VECREDUCE_FMIN, VT, Custom);
912 setOperationAction(ISD::VSCALE, MVT::i32, Custom);
914 setTruncStoreAction(MVT::v4i16, MVT::v4i8, Custom);
923 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Custom);
924 setOperationAction(ISD::SPLAT_VECTOR, VT, Custom);
925 setOperationAction(ISD::SELECT, VT, Custom);
926 setOperationAction(ISD::SDIV, VT, Custom);
927 setOperationAction(ISD::UDIV, VT, Custom);
928 setOperationAction(ISD::SMIN, VT, Custom);
929 setOperationAction(ISD::UMIN, VT, Custom);
930 setOperationAction(ISD::SMAX, VT, Custom);
931 setOperationAction(ISD::UMAX, VT, Custom);
932 setOperationAction(ISD::SHL, VT, Custom);
933 setOperationAction(ISD::SRL, VT, Custom);
934 setOperationAction(ISD::SRA, VT, Custom);
936 setOperationAction(ISD::SETCC, VT, Custom);
937 setOperationAction(ISD::TRUNCATE, VT, Custom);
944 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom);
946 setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::i8, Custom);
947 setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::i16, Custom);
951 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Custom);
952 setOperationAction(ISD::SPLAT_VECTOR, VT, Custom);
953 setOperationAction(ISD::SELECT, VT, Custom);
954 setOperationAction(ISD::FMA, VT, Custom);
970 setOperationAction(ISD::TRUNCATE, VT, Custom);
971 setOperationAction(ISD::FP_ROUND, MVT::v4f16, Custom);
975 setOperationAction(ISD::TRUNCATE, VT, Custom);
1005 setOperationAction(ISD::FCOPYSIGN, VT, Custom);
1008 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
1009 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom);
1010 setOperationAction(ISD::BUILD_VECTOR, VT, Custom);
1011 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom);
1012 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom);
1013 setOperationAction(ISD::SRA, VT, Custom);
1014 setOperationAction(ISD::SRL, VT, Custom);
1015 setOperationAction(ISD::SHL, VT, Custom);
1016 setOperationAction(ISD::OR, VT, Custom);
1017 setOperationAction(ISD::SETCC, VT, Custom);
1028 setOperationAction(ISD::CTPOP, VT, Custom);
1036 setOperationAction(ISD::FP_TO_SINT, VT, Custom);
1037 setOperationAction(ISD::FP_TO_UINT, VT, Custom);
1071 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom);
1074 setOperationAction(ISD::ADD, VT, Custom);
1075 setOperationAction(ISD::FADD, VT, Custom);
1076 setOperationAction(ISD::LOAD, VT, Custom);
1077 setOperationAction(ISD::STORE, VT, Custom);
1078 setOperationAction(ISD::TRUNCATE, VT, Custom);
3318 // Custom lower trunc store for v4i8 vectors, since it is promoted to v4i16.
3350 // Custom lowering for any store, vector or scalar and/or default or with
3424 LLVM_DEBUG(dbgs() << "Custom lowering: ");
13882 LLVM_DEBUG(dbgs() << "Custom combining: skipping\n");