406 NEON::BI__builtin_neon_splat_lane_bf16,
407 NEON::BI__builtin_neon_splat_lane_v,
410 NEON::BI__builtin_neon_splat_laneq_bf16,
411 NEON::BI__builtin_neon_splat_laneq_v,
414 NEON::BI__builtin_neon_splatq_lane_bf16,
415 NEON::BI__builtin_neon_splatq_lane_v,
418 NEON::BI__builtin_neon_splatq_laneq_bf16,
419 NEON::BI__builtin_neon_splatq_laneq_v,
422 NEON::BI__builtin_neon_vabd_f16,
423 NEON::BI__builtin_neon_vabd_v,
426 NEON::BI__builtin_neon_vabdq_f16,
427 NEON::BI__builtin_neon_vabdq_v,
430 NEON::BI__builtin_neon_vabs_f16,
431 NEON::BI__builtin_neon_vabs_v,
434 NEON::BI__builtin_neon_vabsq_f16,
435 NEON::BI__builtin_neon_vabsq_v,
438 NEON::BI__builtin_neon_vcage_f16,
439 NEON::BI__builtin_neon_vcage_v,
442 NEON::BI__builtin_neon_vcageq_f16,
443 NEON::BI__builtin_neon_vcageq_v,
446 NEON::BI__builtin_neon_vcagt_f16,
447 NEON::BI__builtin_neon_vcagt_v,
450 NEON::BI__builtin_neon_vcagtq_f16,
451 NEON::BI__builtin_neon_vcagtq_v,
454 NEON::BI__builtin_neon_vcale_f16,
455 NEON::BI__builtin_neon_vcale_v,
458 NEON::BI__builtin_neon_vcaleq_f16,
459 NEON::BI__builtin_neon_vcaleq_v,
462 NEON::BI__builtin_neon_vcalt_f16,
463 NEON::BI__builtin_neon_vcalt_v,
466 NEON::BI__builtin_neon_vcaltq_f16,
467 NEON::BI__builtin_neon_vcaltq_v,
470 NEON::BI__builtin_neon_vceqz_f16,
471 NEON::BI__builtin_neon_vceqz_v,
474 NEON::BI__builtin_neon_vceqzq_f16,
475 NEON::BI__builtin_neon_vceqzq_v,
478 NEON::BI__builtin_neon_vcgez_f16,
479 NEON::BI__builtin_neon_vcgez_v,
482 NEON::BI__builtin_neon_vcgezq_f16,
483 NEON::BI__builtin_neon_vcgezq_v,
486 NEON::BI__builtin_neon_vcgtz_f16,
487 NEON::BI__builtin_neon_vcgtz_v,
490 NEON::BI__builtin_neon_vcgtzq_f16,
491 NEON::BI__builtin_neon_vcgtzq_v,
494 NEON::BI__builtin_neon_vclez_f16,
495 NEON::BI__builtin_neon_vclez_v,
498 NEON::BI__builtin_neon_vclezq_f16,
499 NEON::BI__builtin_neon_vclezq_v,
502 NEON::BI__builtin_neon_vcltz_f16,
503 NEON::BI__builtin_neon_vcltz_v,
506 NEON::BI__builtin_neon_vcltzq_f16,
507 NEON::BI__builtin_neon_vcltzq_v,
510 NEON::BI__builtin_neon_vfma_f16,
511 NEON::BI__builtin_neon_vfma_v,
514 NEON::BI__builtin_neon_vfma_lane_f16,
515 NEON::BI__builtin_neon_vfma_lane_v,
518 NEON::BI__builtin_neon_vfma_laneq_f16,
519 NEON::BI__builtin_neon_vfma_laneq_v,
522 NEON::BI__builtin_neon_vfmaq_f16,
523 NEON::BI__builtin_neon_vfmaq_v,
526 NEON::BI__builtin_neon_vfmaq_lane_f16,
527 NEON::BI__builtin_neon_vfmaq_lane_v,
530 NEON::BI__builtin_neon_vfmaq_laneq_f16,
531 NEON::BI__builtin_neon_vfmaq_laneq_v,
533 {NEON::BI__builtin_neon_vld1_bf16_x2, NEON::BI__builtin_neon_vld1_x2_v},
534 {NEON::BI__builtin_neon_vld1_bf16_x3, NEON::BI__builtin_neon_vld1_x3_v},
535 {NEON::BI__builtin_neon_vld1_bf16_x4, NEON::BI__builtin_neon_vld1_x4_v},
536 {NEON::BI__builtin_neon_vld1_bf16, NEON::BI__builtin_neon_vld1_v},
537 {NEON::BI__builtin_neon_vld1_dup_bf16, NEON::BI__builtin_neon_vld1_dup_v},
538 {NEON::BI__builtin_neon_vld1_lane_bf16, NEON::BI__builtin_neon_vld1_lane_v},
539 {NEON::BI__builtin_neon_vld1q_bf16_x2, NEON::BI__builtin_neon_vld1q_x2_v},
540 {NEON::BI__builtin_neon_vld1q_bf16_x3, NEON::BI__builtin_neon_vld1q_x3_v},
541 {NEON::BI__builtin_neon_vld1q_bf16_x4, NEON::BI__builtin_neon_vld1q_x4_v},
542 {NEON::BI__builtin_neon_vld1q_bf16, NEON::BI__builtin_neon_vld1q_v},
543 {NEON::BI__builtin_neon_vld1q_dup_bf16, NEON::BI__builtin_neon_vld1q_dup_v},
544 {NEON::BI__builtin_neon_vld1q_lane_bf16,
545 NEON::BI__builtin_neon_vld1q_lane_v},
546 {NEON::BI__builtin_neon_vld2_bf16, NEON::BI__builtin_neon_vld2_v},
547 {NEON::BI__builtin_neon_vld2_dup_bf16, NEON::BI__builtin_neon_vld2_dup_v},
548 {NEON::BI__builtin_neon_vld2_lane_bf16, NEON::BI__builtin_neon_vld2_lane_v},
549 {NEON::BI__builtin_neon_vld2q_bf16, NEON::BI__builtin_neon_vld2q_v},
550 {NEON::BI__builtin_neon_vld2q_dup_bf16, NEON::BI__builtin_neon_vld2q_dup_v},
551 {NEON::BI__builtin_neon_vld2q_lane_bf16,
552 NEON::BI__builtin_neon_vld2q_lane_v},
553 {NEON::BI__builtin_neon_vld3_bf16, NEON::BI__builtin_neon_vld3_v},
554 {NEON::BI__builtin_neon_vld3_dup_bf16, NEON::BI__builtin_neon_vld3_dup_v},
555 {NEON::BI__builtin_neon_vld3_lane_bf16, NEON::BI__builtin_neon_vld3_lane_v},
556 {NEON::BI__builtin_neon_vld3q_bf16, NEON::BI__builtin_neon_vld3q_v},
557 {NEON::BI__builtin_neon_vld3q_dup_bf16, NEON::BI__builtin_neon_vld3q_dup_v},
558 {NEON::BI__builtin_neon_vld3q_lane_bf16,
559 NEON::BI__builtin_neon_vld3q_lane_v},
560 {NEON::BI__builtin_neon_vld4_bf16, NEON::BI__builtin_neon_vld4_v},
561 {NEON::BI__builtin_neon_vld4_dup_bf16, NEON::BI__builtin_neon_vld4_dup_v},
562 {NEON::BI__builtin_neon_vld4_lane_bf16, NEON::BI__builtin_neon_vld4_lane_v},
563 {NEON::BI__builtin_neon_vld4q_bf16, NEON::BI__builtin_neon_vld4q_v},
564 {NEON::BI__builtin_neon_vld4q_dup_bf16, NEON::BI__builtin_neon_vld4q_dup_v},
565 {NEON::BI__builtin_neon_vld4q_lane_bf16,
566 NEON::BI__builtin_neon_vld4q_lane_v},
568 NEON::BI__builtin_neon_vmax_f16,
569 NEON::BI__builtin_neon_vmax_v,
572 NEON::BI__builtin_neon_vmaxnm_f16,
573 NEON::BI__builtin_neon_vmaxnm_v,
576 NEON::BI__builtin_neon_vmaxnmq_f16,
577 NEON::BI__builtin_neon_vmaxnmq_v,
580 NEON::BI__builtin_neon_vmaxq_f16,
581 NEON::BI__builtin_neon_vmaxq_v,
584 NEON::BI__builtin_neon_vmin_f16,
585 NEON::BI__builtin_neon_vmin_v,
588 NEON::BI__builtin_neon_vminnm_f16,
589 NEON::BI__builtin_neon_vminnm_v,
592 NEON::BI__builtin_neon_vminnmq_f16,
593 NEON::BI__builtin_neon_vminnmq_v,
596 NEON::BI__builtin_neon_vminq_f16,
597 NEON::BI__builtin_neon_vminq_v,
600 NEON::BI__builtin_neon_vmulx_f16,
601 NEON::BI__builtin_neon_vmulx_v,
604 NEON::BI__builtin_neon_vmulxq_f16,
605 NEON::BI__builtin_neon_vmulxq_v,
608 NEON::BI__builtin_neon_vpadd_f16,
609 NEON::BI__builtin_neon_vpadd_v,
612 NEON::BI__builtin_neon_vpaddq_f16,
613 NEON::BI__builtin_neon_vpaddq_v,
616 NEON::BI__builtin_neon_vpmax_f16,
617 NEON::BI__builtin_neon_vpmax_v,
620 NEON::BI__builtin_neon_vpmaxnm_f16,
621 NEON::BI__builtin_neon_vpmaxnm_v,
624 NEON::BI__builtin_neon_vpmaxnmq_f16,
625 NEON::BI__builtin_neon_vpmaxnmq_v,
628 NEON::BI__builtin_neon_vpmaxq_f16,
629 NEON::BI__builtin_neon_vpmaxq_v,
632 NEON::BI__builtin_neon_vpmin_f16,
633 NEON::BI__builtin_neon_vpmin_v,
636 NEON::BI__builtin_neon_vpminnm_f16,
637 NEON::BI__builtin_neon_vpminnm_v,
640 NEON::BI__builtin_neon_vpminnmq_f16,
641 NEON::BI__builtin_neon_vpminnmq_v,
644 NEON::BI__builtin_neon_vpminq_f16,
645 NEON::BI__builtin_neon_vpminq_v,
648 NEON::BI__builtin_neon_vrecpe_f16,
649 NEON::BI__builtin_neon_vrecpe_v,
652 NEON::BI__builtin_neon_vrecpeq_f16,
653 NEON::BI__builtin_neon_vrecpeq_v,
656 NEON::BI__builtin_neon_vrecps_f16,
657 NEON::BI__builtin_neon_vrecps_v,
660 NEON::BI__builtin_neon_vrecpsq_f16,
661 NEON::BI__builtin_neon_vrecpsq_v,
664 NEON::BI__builtin_neon_vrnd_f16,
665 NEON::BI__builtin_neon_vrnd_v,
668 NEON::BI__builtin_neon_vrnda_f16,
669 NEON::BI__builtin_neon_vrnda_v,
672 NEON::BI__builtin_neon_vrndaq_f16,
673 NEON::BI__builtin_neon_vrndaq_v,
676 NEON::BI__builtin_neon_vrndi_f16,
677 NEON::BI__builtin_neon_vrndi_v,
680 NEON::BI__builtin_neon_vrndiq_f16,
681 NEON::BI__builtin_neon_vrndiq_v,
684 NEON::BI__builtin_neon_vrndm_f16,
685 NEON::BI__builtin_neon_vrndm_v,
688 NEON::BI__builtin_neon_vrndmq_f16,
689 NEON::BI__builtin_neon_vrndmq_v,
692 NEON::BI__builtin_neon_vrndn_f16,
693 NEON::BI__builtin_neon_vrndn_v,
696 NEON::BI__builtin_neon_vrndnq_f16,
697 NEON::BI__builtin_neon_vrndnq_v,
700 NEON::BI__builtin_neon_vrndp_f16,
701 NEON::BI__builtin_neon_vrndp_v,
704 NEON::BI__builtin_neon_vrndpq_f16,
705 NEON::BI__builtin_neon_vrndpq_v,
708 NEON::BI__builtin_neon_vrndq_f16,
709 NEON::BI__builtin_neon_vrndq_v,
712 NEON::BI__builtin_neon_vrndx_f16,
713 NEON::BI__builtin_neon_vrndx_v,
716 NEON::BI__builtin_neon_vrndxq_f16,
717 NEON::BI__builtin_neon_vrndxq_v,
720 NEON::BI__builtin_neon_vrsqrte_f16,
721 NEON::BI__builtin_neon_vrsqrte_v,
724 NEON::BI__builtin_neon_vrsqrteq_f16,
725 NEON::BI__builtin_neon_vrsqrteq_v,
728 NEON::BI__builtin_neon_vrsqrts_f16,
729 NEON::BI__builtin_neon_vrsqrts_v,
732 NEON::BI__builtin_neon_vrsqrtsq_f16,
733 NEON::BI__builtin_neon_vrsqrtsq_v,
736 NEON::BI__builtin_neon_vsqrt_f16,
737 NEON::BI__builtin_neon_vsqrt_v,
740 NEON::BI__builtin_neon_vsqrtq_f16,
741 NEON::BI__builtin_neon_vsqrtq_v,
743 {NEON::BI__builtin_neon_vst1_bf16_x2, NEON::BI__builtin_neon_vst1_x2_v},
744 {NEON::BI__builtin_neon_vst1_bf16_x3, NEON::BI__builtin_neon_vst1_x3_v},
745 {NEON::BI__builtin_neon_vst1_bf16_x4, NEON::BI__builtin_neon_vst1_x4_v},
746 {NEON::BI__builtin_neon_vst1_bf16, NEON::BI__builtin_neon_vst1_v},
747 {NEON::BI__builtin_neon_vst1_lane_bf16, NEON::BI__builtin_neon_vst1_lane_v},
748 {NEON::BI__builtin_neon_vst1q_bf16_x2, NEON::BI__builtin_neon_vst1q_x2_v},
749 {NEON::BI__builtin_neon_vst1q_bf16_x3, NEON::BI__builtin_neon_vst1q_x3_v},
750 {NEON::BI__builtin_neon_vst1q_bf16_x4, NEON::BI__builtin_neon_vst1q_x4_v},
751 {NEON::BI__builtin_neon_vst1q_bf16, NEON::BI__builtin_neon_vst1q_v},
752 {NEON::BI__builtin_neon_vst1q_lane_bf16,
753 NEON::BI__builtin_neon_vst1q_lane_v},
754 {NEON::BI__builtin_neon_vst2_bf16, NEON::BI__builtin_neon_vst2_v},
755 {NEON::BI__builtin_neon_vst2_lane_bf16, NEON::BI__builtin_neon_vst2_lane_v},
756 {NEON::BI__builtin_neon_vst2q_bf16, NEON::BI__builtin_neon_vst2q_v},
757 {NEON::BI__builtin_neon_vst2q_lane_bf16,
758 NEON::BI__builtin_neon_vst2q_lane_v},
759 {NEON::BI__builtin_neon_vst3_bf16, NEON::BI__builtin_neon_vst3_v},
760 {NEON::BI__builtin_neon_vst3_lane_bf16, NEON::BI__builtin_neon_vst3_lane_v},
761 {NEON::BI__builtin_neon_vst3q_bf16, NEON::BI__builtin_neon_vst3q_v},
762 {NEON::BI__builtin_neon_vst3q_lane_bf16,
763 NEON::BI__builtin_neon_vst3q_lane_v},
764 {NEON::BI__builtin_neon_vst4_bf16, NEON::BI__builtin_neon_vst4_v},
765 {NEON::BI__builtin_neon_vst4_lane_bf16, NEON::BI__builtin_neon_vst4_lane_v},
766 {NEON::BI__builtin_neon_vst4q_bf16, NEON::BI__builtin_neon_vst4q_v},
767 {NEON::BI__builtin_neon_vst4q_lane_bf16,
768 NEON::BI__builtin_neon_vst4q_lane_v},
772 {NEON::BI__builtin_neon_vldap1_lane_u64,
773 NEON::BI__builtin_neon_vldap1_lane_s64},
774 {NEON::BI__builtin_neon_vldap1_lane_f64,
775 NEON::BI__builtin_neon_vldap1_lane_s64},
776 {NEON::BI__builtin_neon_vldap1_lane_p64,
777 NEON::BI__builtin_neon_vldap1_lane_s64},
778 {NEON::BI__builtin_neon_vldap1q_lane_u64,
779 NEON::BI__builtin_neon_vldap1q_lane_s64},
780 {NEON::BI__builtin_neon_vldap1q_lane_f64,
781 NEON::BI__builtin_neon_vldap1q_lane_s64},
782 {NEON::BI__builtin_neon_vldap1q_lane_p64,
783 NEON::BI__builtin_neon_vldap1q_lane_s64},
784 {NEON::BI__builtin_neon_vstl1_lane_u64,
785 NEON::BI__builtin_neon_vstl1_lane_s64},
786 {NEON::BI__builtin_neon_vstl1_lane_f64,
787 NEON::BI__builtin_neon_vstl1_lane_s64},
788 {NEON::BI__builtin_neon_vstl1_lane_p64,
789 NEON::BI__builtin_neon_vstl1_lane_s64},
790 {NEON::BI__builtin_neon_vstl1q_lane_u64,
791 NEON::BI__builtin_neon_vstl1q_lane_s64},
792 {NEON::BI__builtin_neon_vstl1q_lane_f64,
793 NEON::BI__builtin_neon_vstl1q_lane_s64},
794 {NEON::BI__builtin_neon_vstl1q_lane_p64,
795 NEON::BI__builtin_neon_vstl1q_lane_s64},
801 llvm::Triple::ArchType arch) {
810 if (builtinID == Builtin::BI__builtin_cpu_supports) {
811 cgm.errorNYI(
expr->getSourceRange(),
812 std::string(
"unimplemented AArch64 builtin call: ") +
814 return mlir::Value{};
820 case clang::AArch64::BI__builtin_arm_nop:
821 case clang::AArch64::BI__builtin_arm_yield:
822 case clang::AArch64::BI__yield:
823 case clang::AArch64::BI__builtin_arm_wfe:
824 case clang::AArch64::BI__wfe:
825 case clang::AArch64::BI__builtin_arm_wfi:
826 case clang::AArch64::BI__wfi:
827 case clang::AArch64::BI__builtin_arm_sev:
828 case clang::AArch64::BI__sev:
829 case clang::AArch64::BI__builtin_arm_sevl:
830 case clang::AArch64::BI__sevl:
831 cgm.errorNYI(
expr->getSourceRange(),
832 std::string(
"unimplemented AArch64 builtin call: ") +
834 return mlir::Value{};
837 if (builtinID == clang::AArch64::BI__builtin_arm_trap) {
838 cgm.errorNYI(
expr->getSourceRange(),
839 std::string(
"unimplemented AArch64 builtin call: ") +
841 return mlir::Value{};
844 if (builtinID == clang::AArch64::BI__builtin_arm_get_sme_state) {
845 cgm.errorNYI(
expr->getSourceRange(),
846 std::string(
"unimplemented AArch64 builtin call: ") +
848 return mlir::Value{};
851 if (builtinID == clang::AArch64::BI__builtin_arm_rbit) {
852 cgm.errorNYI(
expr->getSourceRange(),
853 std::string(
"unimplemented AArch64 builtin call: ") +
855 return mlir::Value{};
857 if (builtinID == clang::AArch64::BI__builtin_arm_rbit64) {
858 cgm.errorNYI(
expr->getSourceRange(),
859 std::string(
"unimplemented AArch64 builtin call: ") +
861 return mlir::Value{};
864 if (builtinID == clang::AArch64::BI__builtin_arm_clz ||
865 builtinID == clang::AArch64::BI__builtin_arm_clz64) {
866 cgm.errorNYI(
expr->getSourceRange(),
867 std::string(
"unimplemented AArch64 builtin call: ") +
869 return mlir::Value{};
872 if (builtinID == clang::AArch64::BI__builtin_arm_cls) {
873 cgm.errorNYI(
expr->getSourceRange(),
874 std::string(
"unimplemented AArch64 builtin call: ") +
876 return mlir::Value{};
878 if (builtinID == clang::AArch64::BI__builtin_arm_cls64) {
879 cgm.errorNYI(
expr->getSourceRange(),
880 std::string(
"unimplemented AArch64 builtin call: ") +
882 return mlir::Value{};
885 if (builtinID == clang::AArch64::BI__builtin_arm_rint32zf ||
886 builtinID == clang::AArch64::BI__builtin_arm_rint32z) {
887 cgm.errorNYI(
expr->getSourceRange(),
888 std::string(
"unimplemented AArch64 builtin call: ") +
890 return mlir::Value{};
893 if (builtinID == clang::AArch64::BI__builtin_arm_rint64zf ||
894 builtinID == clang::AArch64::BI__builtin_arm_rint64z) {
895 cgm.errorNYI(
expr->getSourceRange(),
896 std::string(
"unimplemented AArch64 builtin call: ") +
898 return mlir::Value{};
901 if (builtinID == clang::AArch64::BI__builtin_arm_rint32xf ||
902 builtinID == clang::AArch64::BI__builtin_arm_rint32x) {
903 cgm.errorNYI(
expr->getSourceRange(),
904 std::string(
"unimplemented AArch64 builtin call: ") +
906 return mlir::Value{};
909 if (builtinID == clang::AArch64::BI__builtin_arm_rint64xf ||
910 builtinID == clang::AArch64::BI__builtin_arm_rint64x) {
911 cgm.errorNYI(
expr->getSourceRange(),
912 std::string(
"unimplemented AArch64 builtin call: ") +
914 return mlir::Value{};
917 if (builtinID == clang::AArch64::BI__builtin_arm_jcvt) {
918 cgm.errorNYI(
expr->getSourceRange(),
919 std::string(
"unimplemented AArch64 builtin call: ") +
921 return mlir::Value{};
924 if (builtinID == clang::AArch64::BI__builtin_arm_ld64b ||
925 builtinID == clang::AArch64::BI__builtin_arm_st64b ||
926 builtinID == clang::AArch64::BI__builtin_arm_st64bv ||
927 builtinID == clang::AArch64::BI__builtin_arm_st64bv0) {
928 cgm.errorNYI(
expr->getSourceRange(),
929 std::string(
"unimplemented AArch64 builtin call: ") +
931 return mlir::Value{};
934 if (builtinID == clang::AArch64::BI__builtin_arm_rndr ||
935 builtinID == clang::AArch64::BI__builtin_arm_rndrrs) {
936 cgm.errorNYI(
expr->getSourceRange(),
937 std::string(
"unimplemented AArch64 builtin call: ") +
939 return mlir::Value{};
942 if (builtinID == clang::AArch64::BI__clear_cache) {
943 cgm.errorNYI(
expr->getSourceRange(),
944 std::string(
"unimplemented AArch64 builtin call: ") +
946 return mlir::Value{};
949 if ((builtinID == clang::AArch64::BI__builtin_arm_ldrex ||
950 builtinID == clang::AArch64::BI__builtin_arm_ldaex) &&
952 cgm.errorNYI(
expr->getSourceRange(),
953 std::string(
"unimplemented AArch64 builtin call: ") +
955 return mlir::Value{};
957 if (builtinID == clang::AArch64::BI__builtin_arm_ldrex ||
958 builtinID == clang::AArch64::BI__builtin_arm_ldaex) {
959 cgm.errorNYI(
expr->getSourceRange(),
960 std::string(
"unimplemented AArch64 builtin call: ") +
962 return mlir::Value{};
965 if ((builtinID == clang::AArch64::BI__builtin_arm_strex ||
966 builtinID == clang::AArch64::BI__builtin_arm_stlex) &&
968 cgm.errorNYI(
expr->getSourceRange(),
969 std::string(
"unimplemented AArch64 builtin call: ") +
971 return mlir::Value{};
974 if (builtinID == clang::AArch64::BI__builtin_arm_strex ||
975 builtinID == clang::AArch64::BI__builtin_arm_stlex) {
976 cgm.errorNYI(
expr->getSourceRange(),
977 std::string(
"unimplemented AArch64 builtin call: ") +
979 return mlir::Value{};
982 if (builtinID == clang::AArch64::BI__getReg) {
983 cgm.errorNYI(
expr->getSourceRange(),
984 std::string(
"unimplemented AArch64 builtin call: ") +
986 return mlir::Value{};
989 if (builtinID == clang::AArch64::BI__break) {
990 cgm.errorNYI(
expr->getSourceRange(),
991 std::string(
"unimplemented AArch64 builtin call: ") +
993 return mlir::Value{};
996 if (builtinID == clang::AArch64::BI__builtin_arm_clrex) {
997 cgm.errorNYI(
expr->getSourceRange(),
998 std::string(
"unimplemented AArch64 builtin call: ") +
1000 return mlir::Value{};
1003 if (builtinID == clang::AArch64::BI_ReadWriteBarrier) {
1004 cgm.errorNYI(
expr->getSourceRange(),
1005 std::string(
"unimplemented AArch64 builtin call: ") +
1006 getContext().BuiltinInfo.getName(builtinID));
1007 return mlir::Value{};
1011 Intrinsic::ID crcIntrinsicID = Intrinsic::not_intrinsic;
1012 switch (builtinID) {
1013 case clang::AArch64::BI__builtin_arm_crc32b:
1014 crcIntrinsicID = Intrinsic::aarch64_crc32b;
1016 case clang::AArch64::BI__builtin_arm_crc32cb:
1017 crcIntrinsicID = Intrinsic::aarch64_crc32cb;
1019 case clang::AArch64::BI__builtin_arm_crc32h:
1020 crcIntrinsicID = Intrinsic::aarch64_crc32h;
1022 case clang::AArch64::BI__builtin_arm_crc32ch:
1023 crcIntrinsicID = Intrinsic::aarch64_crc32ch;
1025 case clang::AArch64::BI__builtin_arm_crc32w:
1026 crcIntrinsicID = Intrinsic::aarch64_crc32w;
1028 case clang::AArch64::BI__builtin_arm_crc32cw:
1029 crcIntrinsicID = Intrinsic::aarch64_crc32cw;
1031 case clang::AArch64::BI__builtin_arm_crc32d:
1032 crcIntrinsicID = Intrinsic::aarch64_crc32x;
1034 case clang::AArch64::BI__builtin_arm_crc32cd:
1035 crcIntrinsicID = Intrinsic::aarch64_crc32cx;
1039 if (crcIntrinsicID != Intrinsic::not_intrinsic) {
1040 cgm.errorNYI(
expr->getSourceRange(),
1041 std::string(
"unimplemented AArch64 builtin call: ") +
1042 getContext().BuiltinInfo.getName(builtinID));
1043 return mlir::Value{};
1047 if (builtinID == AArch64::BI__builtin_arm_mops_memset_tag) {
1048 cgm.errorNYI(
expr->getSourceRange(),
1049 std::string(
"unimplemented AArch64 builtin call: ") +
1050 getContext().BuiltinInfo.getName(builtinID));
1051 return mlir::Value{};
1055 Intrinsic::ID mteIntrinsicID = Intrinsic::not_intrinsic;
1056 switch (builtinID) {
1057 case clang::AArch64::BI__builtin_arm_irg:
1058 mteIntrinsicID = Intrinsic::aarch64_irg;
1060 case clang::AArch64::BI__builtin_arm_addg:
1061 mteIntrinsicID = Intrinsic::aarch64_addg;
1063 case clang::AArch64::BI__builtin_arm_gmi:
1064 mteIntrinsicID = Intrinsic::aarch64_gmi;
1066 case clang::AArch64::BI__builtin_arm_ldg:
1067 mteIntrinsicID = Intrinsic::aarch64_ldg;
1069 case clang::AArch64::BI__builtin_arm_stg:
1070 mteIntrinsicID = Intrinsic::aarch64_stg;
1072 case clang::AArch64::BI__builtin_arm_subp:
1073 mteIntrinsicID = Intrinsic::aarch64_subp;
1077 if (mteIntrinsicID != Intrinsic::not_intrinsic) {
1078 cgm.errorNYI(
expr->getSourceRange(),
1079 std::string(
"unimplemented AArch64 builtin call: ") +
1080 getContext().BuiltinInfo.getName(builtinID));
1081 return mlir::Value{};
1084 if (builtinID == clang::AArch64::BI__builtin_arm_rsr ||
1085 builtinID == clang::AArch64::BI__builtin_arm_rsr64 ||
1086 builtinID == clang::AArch64::BI__builtin_arm_rsr128 ||
1087 builtinID == clang::AArch64::BI__builtin_arm_rsrp ||
1088 builtinID == clang::AArch64::BI__builtin_arm_wsr ||
1089 builtinID == clang::AArch64::BI__builtin_arm_wsr64 ||
1090 builtinID == clang::AArch64::BI__builtin_arm_wsr128 ||
1091 builtinID == clang::AArch64::BI__builtin_arm_wsrp) {
1092 cgm.errorNYI(
expr->getSourceRange(),
1093 std::string(
"unimplemented AArch64 builtin call: ") +
1094 getContext().BuiltinInfo.getName(builtinID));
1095 return mlir::Value{};
1098 if (builtinID == clang::AArch64::BI_ReadStatusReg ||
1099 builtinID == clang::AArch64::BI_WriteStatusReg ||
1100 builtinID == clang::AArch64::BI__sys) {
1101 cgm.errorNYI(
expr->getSourceRange(),
1102 std::string(
"unimplemented AArch64 builtin call: ") +
1103 getContext().BuiltinInfo.getName(builtinID));
1104 return mlir::Value{};
1107 if (builtinID == clang::AArch64::BI_AddressOfReturnAddress) {
1108 cgm.errorNYI(
expr->getSourceRange(),
1109 std::string(
"unimplemented AArch64 builtin call: ") +
1110 getContext().BuiltinInfo.getName(builtinID));
1111 return mlir::Value{};
1114 if (builtinID == clang::AArch64::BI__builtin_sponentry) {
1115 cgm.errorNYI(
expr->getSourceRange(),
1116 std::string(
"unimplemented AArch64 builtin call: ") +
1117 getContext().BuiltinInfo.getName(builtinID));
1118 return mlir::Value{};
1121 if (builtinID == clang::AArch64::BI__mulh ||
1122 builtinID == clang::AArch64::BI__umulh) {
1123 cgm.errorNYI(
expr->getSourceRange(),
1124 std::string(
"unimplemented AArch64 builtin call: ") +
1125 getContext().BuiltinInfo.getName(builtinID));
1126 return mlir::Value{};
1129 if (builtinID == AArch64::BI__writex18byte ||
1130 builtinID == AArch64::BI__writex18word ||
1131 builtinID == AArch64::BI__writex18dword ||
1132 builtinID == AArch64::BI__writex18qword) {
1133 cgm.errorNYI(
expr->getSourceRange(),
1134 std::string(
"unimplemented AArch64 builtin call: ") +
1135 getContext().BuiltinInfo.getName(builtinID));
1136 return mlir::Value{};
1139 if (builtinID == AArch64::BI__readx18byte ||
1140 builtinID == AArch64::BI__readx18word ||
1141 builtinID == AArch64::BI__readx18dword ||
1142 builtinID == AArch64::BI__readx18qword) {
1143 cgm.errorNYI(
expr->getSourceRange(),
1144 std::string(
"unimplemented AArch64 builtin call: ") +
1145 getContext().BuiltinInfo.getName(builtinID));
1146 return mlir::Value{};
1149 if (builtinID == AArch64::BI__addx18byte ||
1150 builtinID == AArch64::BI__addx18word ||
1151 builtinID == AArch64::BI__addx18dword ||
1152 builtinID == AArch64::BI__addx18qword ||
1153 builtinID == AArch64::BI__incx18byte ||
1154 builtinID == AArch64::BI__incx18word ||
1155 builtinID == AArch64::BI__incx18dword ||
1156 builtinID == AArch64::BI__incx18qword) {
1157 cgm.errorNYI(
expr->getSourceRange(),
1158 std::string(
"unimplemented AArch64 builtin call: ") +
1159 getContext().BuiltinInfo.getName(builtinID));
1160 return mlir::Value{};
1163 if (builtinID == AArch64::BI_CopyDoubleFromInt64 ||
1164 builtinID == AArch64::BI_CopyFloatFromInt32 ||
1165 builtinID == AArch64::BI_CopyInt32FromFloat ||
1166 builtinID == AArch64::BI_CopyInt64FromDouble) {
1167 cgm.errorNYI(
expr->getSourceRange(),
1168 std::string(
"unimplemented AArch64 builtin call: ") +
1169 getContext().BuiltinInfo.getName(builtinID));
1170 return mlir::Value{};
1173 if (builtinID == AArch64::BI_CountLeadingOnes ||
1174 builtinID == AArch64::BI_CountLeadingOnes64 ||
1175 builtinID == AArch64::BI_CountLeadingZeros ||
1176 builtinID == AArch64::BI_CountLeadingZeros64) {
1177 cgm.errorNYI(
expr->getSourceRange(),
1178 std::string(
"unimplemented AArch64 builtin call: ") +
1179 getContext().BuiltinInfo.getName(builtinID));
1180 return mlir::Value{};
1183 if (builtinID == AArch64::BI_CountLeadingSigns ||
1184 builtinID == AArch64::BI_CountLeadingSigns64) {
1185 cgm.errorNYI(
expr->getSourceRange(),
1186 std::string(
"unimplemented AArch64 builtin call: ") +
1187 getContext().BuiltinInfo.getName(builtinID));
1188 return mlir::Value{};
1191 if (builtinID == AArch64::BI_CountOneBits ||
1192 builtinID == AArch64::BI_CountOneBits64) {
1193 cgm.errorNYI(
expr->getSourceRange(),
1194 std::string(
"unimplemented AArch64 builtin call: ") +
1195 getContext().BuiltinInfo.getName(builtinID));
1196 return mlir::Value{};
1199 if (builtinID == AArch64::BI__prefetch) {
1200 cgm.errorNYI(
expr->getSourceRange(),
1201 std::string(
"unimplemented AArch64 builtin call: ") +
1202 getContext().BuiltinInfo.getName(builtinID));
1203 return mlir::Value{};
1206 if (builtinID == AArch64::BI__hlt) {
1207 cgm.errorNYI(
expr->getSourceRange(),
1208 std::string(
"unimplemented AArch64 builtin call: ") +
1209 getContext().BuiltinInfo.getName(builtinID));
1210 return mlir::Value{};
1213 if (builtinID == NEON::BI__builtin_neon_vcvth_bf16_f32) {
1214 cgm.errorNYI(
expr->getSourceRange(),
1215 std::string(
"unimplemented AArch64 builtin call: ") +
1216 getContext().BuiltinInfo.getName(builtinID));
1217 return mlir::Value{};
1226 return p.first == builtinID;
1229 builtinID = it->second;
1238 mlir::Location loc =
getLoc(
expr->getExprLoc());
1241 switch (builtinID) {
1244 case NEON::BI__builtin_neon_vabsh_f16: {
1246 return cir::FAbsOp::create(builder, loc, ops);
1248 case NEON::BI__builtin_neon_vaddq_p128:
1249 case NEON::BI__builtin_neon_vldrq_p128:
1250 case NEON::BI__builtin_neon_vstrq_p128:
1251 case NEON::BI__builtin_neon_vcvts_f32_u32:
1252 case NEON::BI__builtin_neon_vcvtd_f64_u64:
1253 case NEON::BI__builtin_neon_vcvts_f32_s32:
1254 case NEON::BI__builtin_neon_vcvtd_f64_s64:
1255 case NEON::BI__builtin_neon_vcvth_f16_u16:
1256 case NEON::BI__builtin_neon_vcvth_f16_u32:
1257 case NEON::BI__builtin_neon_vcvth_f16_u64:
1258 case NEON::BI__builtin_neon_vcvth_f16_s16:
1259 case NEON::BI__builtin_neon_vcvth_f16_s32:
1260 case NEON::BI__builtin_neon_vcvth_f16_s64:
1261 case NEON::BI__builtin_neon_vcvtah_u16_f16:
1262 case NEON::BI__builtin_neon_vcvtmh_u16_f16:
1263 case NEON::BI__builtin_neon_vcvtnh_u16_f16:
1264 case NEON::BI__builtin_neon_vcvtph_u16_f16:
1265 case NEON::BI__builtin_neon_vcvth_u16_f16:
1266 case NEON::BI__builtin_neon_vcvtah_s16_f16:
1267 case NEON::BI__builtin_neon_vcvtmh_s16_f16:
1268 case NEON::BI__builtin_neon_vcvtnh_s16_f16:
1269 case NEON::BI__builtin_neon_vcvtph_s16_f16:
1270 case NEON::BI__builtin_neon_vcvth_s16_f16:
1271 case NEON::BI__builtin_neon_vcaleh_f16:
1272 case NEON::BI__builtin_neon_vcalth_f16:
1273 case NEON::BI__builtin_neon_vcageh_f16:
1274 case NEON::BI__builtin_neon_vcagth_f16:
1275 case NEON::BI__builtin_neon_vcvth_n_s16_f16:
1276 case NEON::BI__builtin_neon_vcvth_n_u16_f16:
1277 case NEON::BI__builtin_neon_vcvth_n_f16_s16:
1278 case NEON::BI__builtin_neon_vcvth_n_f16_u16:
1279 case NEON::BI__builtin_neon_vpaddd_s64:
1280 case NEON::BI__builtin_neon_vpaddd_f64:
1281 case NEON::BI__builtin_neon_vpadds_f32:
1282 case NEON::BI__builtin_neon_vceqzd_s64:
1283 case NEON::BI__builtin_neon_vceqzd_f64:
1284 case NEON::BI__builtin_neon_vceqzs_f32:
1285 case NEON::BI__builtin_neon_vceqzh_f16:
1286 case NEON::BI__builtin_neon_vcgezd_s64:
1287 case NEON::BI__builtin_neon_vcgezd_f64:
1288 case NEON::BI__builtin_neon_vcgezs_f32:
1289 case NEON::BI__builtin_neon_vcgezh_f16:
1290 case NEON::BI__builtin_neon_vclezd_s64:
1291 case NEON::BI__builtin_neon_vclezd_f64:
1292 case NEON::BI__builtin_neon_vclezs_f32:
1293 case NEON::BI__builtin_neon_vclezh_f16:
1294 case NEON::BI__builtin_neon_vcgtzd_s64:
1295 case NEON::BI__builtin_neon_vcgtzd_f64:
1296 case NEON::BI__builtin_neon_vcgtzs_f32:
1297 case NEON::BI__builtin_neon_vcgtzh_f16:
1298 case NEON::BI__builtin_neon_vcltzd_s64:
1299 case NEON::BI__builtin_neon_vcltzd_f64:
1300 case NEON::BI__builtin_neon_vcltzs_f32:
1301 case NEON::BI__builtin_neon_vcltzh_f16:
1302 case NEON::BI__builtin_neon_vceqzd_u64:
1303 case NEON::BI__builtin_neon_vceqd_f64:
1304 case NEON::BI__builtin_neon_vcled_f64:
1305 case NEON::BI__builtin_neon_vcltd_f64:
1306 case NEON::BI__builtin_neon_vcged_f64:
1307 case NEON::BI__builtin_neon_vcgtd_f64:
1308 case NEON::BI__builtin_neon_vceqs_f32:
1309 case NEON::BI__builtin_neon_vcles_f32:
1310 case NEON::BI__builtin_neon_vclts_f32:
1311 case NEON::BI__builtin_neon_vcges_f32:
1312 case NEON::BI__builtin_neon_vcgts_f32:
1313 case NEON::BI__builtin_neon_vceqh_f16:
1314 case NEON::BI__builtin_neon_vcleh_f16:
1315 case NEON::BI__builtin_neon_vclth_f16:
1316 case NEON::BI__builtin_neon_vcgeh_f16:
1317 case NEON::BI__builtin_neon_vcgth_f16:
1318 case NEON::BI__builtin_neon_vceqd_s64:
1319 case NEON::BI__builtin_neon_vceqd_u64:
1320 case NEON::BI__builtin_neon_vcgtd_s64:
1321 case NEON::BI__builtin_neon_vcgtd_u64:
1322 case NEON::BI__builtin_neon_vcltd_s64:
1323 case NEON::BI__builtin_neon_vcltd_u64:
1324 case NEON::BI__builtin_neon_vcged_u64:
1325 case NEON::BI__builtin_neon_vcged_s64:
1326 case NEON::BI__builtin_neon_vcled_u64:
1327 case NEON::BI__builtin_neon_vcled_s64:
1328 case NEON::BI__builtin_neon_vtstd_s64:
1329 case NEON::BI__builtin_neon_vtstd_u64:
1330 case NEON::BI__builtin_neon_vset_lane_i8:
1331 case NEON::BI__builtin_neon_vset_lane_i16:
1332 case NEON::BI__builtin_neon_vset_lane_i32:
1333 case NEON::BI__builtin_neon_vset_lane_i64:
1334 case NEON::BI__builtin_neon_vset_lane_bf16:
1335 case NEON::BI__builtin_neon_vset_lane_f32:
1336 case NEON::BI__builtin_neon_vsetq_lane_i8:
1337 case NEON::BI__builtin_neon_vsetq_lane_i16:
1338 case NEON::BI__builtin_neon_vsetq_lane_i32:
1339 case NEON::BI__builtin_neon_vsetq_lane_i64:
1340 case NEON::BI__builtin_neon_vsetq_lane_bf16:
1341 case NEON::BI__builtin_neon_vsetq_lane_f32:
1342 case NEON::BI__builtin_neon_vset_lane_f64:
1343 case NEON::BI__builtin_neon_vset_lane_mf8:
1344 case NEON::BI__builtin_neon_vsetq_lane_mf8:
1345 case NEON::BI__builtin_neon_vsetq_lane_f64:
1346 case NEON::BI__builtin_neon_vget_lane_i8:
1347 case NEON::BI__builtin_neon_vdupb_lane_i8:
1348 case NEON::BI__builtin_neon_vgetq_lane_i8:
1349 case NEON::BI__builtin_neon_vdupb_laneq_i8:
1350 case NEON::BI__builtin_neon_vget_lane_mf8:
1351 case NEON::BI__builtin_neon_vdupb_lane_mf8:
1352 case NEON::BI__builtin_neon_vgetq_lane_mf8:
1353 case NEON::BI__builtin_neon_vdupb_laneq_mf8:
1354 case NEON::BI__builtin_neon_vget_lane_i16:
1355 case NEON::BI__builtin_neon_vduph_lane_i16:
1356 case NEON::BI__builtin_neon_vgetq_lane_i16:
1357 case NEON::BI__builtin_neon_vduph_laneq_i16:
1358 case NEON::BI__builtin_neon_vget_lane_i32:
1359 case NEON::BI__builtin_neon_vdups_lane_i32:
1360 case NEON::BI__builtin_neon_vdups_lane_f32:
1361 case NEON::BI__builtin_neon_vgetq_lane_i32:
1362 case NEON::BI__builtin_neon_vdups_laneq_i32:
1363 case NEON::BI__builtin_neon_vget_lane_i64:
1364 case NEON::BI__builtin_neon_vdupd_lane_i64:
1365 case NEON::BI__builtin_neon_vdupd_lane_f64:
1366 case NEON::BI__builtin_neon_vgetq_lane_i64:
1367 case NEON::BI__builtin_neon_vdupd_laneq_i64:
1368 case NEON::BI__builtin_neon_vget_lane_f32:
1369 case NEON::BI__builtin_neon_vget_lane_f64:
1370 case NEON::BI__builtin_neon_vgetq_lane_f32:
1371 case NEON::BI__builtin_neon_vdups_laneq_f32:
1372 case NEON::BI__builtin_neon_vgetq_lane_f64:
1373 case NEON::BI__builtin_neon_vdupd_laneq_f64:
1374 case NEON::BI__builtin_neon_vaddh_f16:
1375 case NEON::BI__builtin_neon_vsubh_f16:
1376 case NEON::BI__builtin_neon_vmulh_f16:
1377 case NEON::BI__builtin_neon_vdivh_f16:
1378 case NEON::BI__builtin_neon_vfmah_f16:
1379 case NEON::BI__builtin_neon_vfmsh_f16:
1380 case NEON::BI__builtin_neon_vaddd_s64:
1381 case NEON::BI__builtin_neon_vaddd_u64:
1382 case NEON::BI__builtin_neon_vsubd_s64:
1383 case NEON::BI__builtin_neon_vsubd_u64:
1384 case NEON::BI__builtin_neon_vqdmlalh_s16:
1385 case NEON::BI__builtin_neon_vqdmlslh_s16:
1386 case NEON::BI__builtin_neon_vqshlud_n_s64:
1387 case NEON::BI__builtin_neon_vqshld_n_u64:
1388 case NEON::BI__builtin_neon_vqshld_n_s64:
1389 case NEON::BI__builtin_neon_vrshrd_n_u64:
1390 case NEON::BI__builtin_neon_vrshrd_n_s64:
1391 case NEON::BI__builtin_neon_vrsrad_n_u64:
1392 case NEON::BI__builtin_neon_vrsrad_n_s64:
1393 case NEON::BI__builtin_neon_vshld_n_s64:
1394 case NEON::BI__builtin_neon_vshld_n_u64:
1395 case NEON::BI__builtin_neon_vshrd_n_s64:
1396 case NEON::BI__builtin_neon_vshrd_n_u64:
1397 case NEON::BI__builtin_neon_vsrad_n_s64:
1398 case NEON::BI__builtin_neon_vsrad_n_u64:
1399 case NEON::BI__builtin_neon_vqdmlalh_lane_s16:
1400 case NEON::BI__builtin_neon_vqdmlalh_laneq_s16:
1401 case NEON::BI__builtin_neon_vqdmlslh_lane_s16:
1402 case NEON::BI__builtin_neon_vqdmlslh_laneq_s16:
1403 case NEON::BI__builtin_neon_vqdmlals_s32:
1404 case NEON::BI__builtin_neon_vqdmlsls_s32:
1405 case NEON::BI__builtin_neon_vqdmlals_lane_s32:
1406 case NEON::BI__builtin_neon_vqdmlals_laneq_s32:
1407 case NEON::BI__builtin_neon_vqdmlsls_lane_s32:
1408 case NEON::BI__builtin_neon_vqdmlsls_laneq_s32:
1409 case NEON::BI__builtin_neon_vget_lane_bf16:
1410 case NEON::BI__builtin_neon_vduph_lane_bf16:
1411 case NEON::BI__builtin_neon_vduph_lane_f16:
1412 case NEON::BI__builtin_neon_vgetq_lane_bf16:
1413 case NEON::BI__builtin_neon_vduph_laneq_bf16:
1414 case NEON::BI__builtin_neon_vduph_laneq_f16:
1415 case NEON::BI__builtin_neon_vcvt_bf16_f32:
1416 case NEON::BI__builtin_neon_vcvtq_low_bf16_f32:
1417 case NEON::BI__builtin_neon_vcvtq_high_bf16_f32:
1418 case clang::AArch64::BI_InterlockedAdd:
1419 case clang::AArch64::BI_InterlockedAdd_acq:
1420 case clang::AArch64::BI_InterlockedAdd_rel:
1421 case clang::AArch64::BI_InterlockedAdd_nf:
1422 case clang::AArch64::BI_InterlockedAdd64:
1423 case clang::AArch64::BI_InterlockedAdd64_acq:
1424 case clang::AArch64::BI_InterlockedAdd64_rel:
1425 case clang::AArch64::BI_InterlockedAdd64_nf:
1426 cgm.errorNYI(
expr->getSourceRange(),
1427 std::string(
"unimplemented AArch64 builtin call: ") +
1428 getContext().BuiltinInfo.getName(builtinID));
1429 return mlir::Value{};
1438 switch (builtinID) {
1440 return std::nullopt;
1441 case NEON::BI__builtin_neon_vbsl_v:
1442 case NEON::BI__builtin_neon_vbslq_v:
1443 case NEON::BI__builtin_neon_vfma_lane_v:
1444 case NEON::BI__builtin_neon_vfmaq_lane_v:
1445 case NEON::BI__builtin_neon_vfma_laneq_v:
1446 case NEON::BI__builtin_neon_vfmaq_laneq_v:
1447 case NEON::BI__builtin_neon_vfmah_lane_f16:
1448 case NEON::BI__builtin_neon_vfmas_lane_f32:
1449 case NEON::BI__builtin_neon_vfmah_laneq_f16:
1450 case NEON::BI__builtin_neon_vfmas_laneq_f32:
1451 case NEON::BI__builtin_neon_vfmad_lane_f64:
1452 case NEON::BI__builtin_neon_vfmad_laneq_f64:
1453 case NEON::BI__builtin_neon_vmull_v:
1454 case NEON::BI__builtin_neon_vmax_v:
1455 case NEON::BI__builtin_neon_vmaxq_v:
1456 case NEON::BI__builtin_neon_vmaxh_f16:
1457 case NEON::BI__builtin_neon_vmin_v:
1458 case NEON::BI__builtin_neon_vminq_v:
1459 case NEON::BI__builtin_neon_vminh_f16:
1460 case NEON::BI__builtin_neon_vabd_v:
1461 case NEON::BI__builtin_neon_vabdq_v:
1462 case NEON::BI__builtin_neon_vpadal_v:
1463 case NEON::BI__builtin_neon_vpadalq_v:
1464 case NEON::BI__builtin_neon_vpmin_v:
1465 case NEON::BI__builtin_neon_vpminq_v:
1466 case NEON::BI__builtin_neon_vpmax_v:
1467 case NEON::BI__builtin_neon_vpmaxq_v:
1468 case NEON::BI__builtin_neon_vminnm_v:
1469 case NEON::BI__builtin_neon_vminnmq_v:
1470 case NEON::BI__builtin_neon_vminnmh_f16:
1471 case NEON::BI__builtin_neon_vmaxnm_v:
1472 case NEON::BI__builtin_neon_vmaxnmq_v:
1473 case NEON::BI__builtin_neon_vmaxnmh_f16:
1474 case NEON::BI__builtin_neon_vrecpss_f32:
1475 case NEON::BI__builtin_neon_vrecpsd_f64:
1476 case NEON::BI__builtin_neon_vrecpsh_f16:
1477 case NEON::BI__builtin_neon_vqshrun_n_v:
1478 case NEON::BI__builtin_neon_vqrshrun_n_v:
1479 case NEON::BI__builtin_neon_vqshrn_n_v:
1480 case NEON::BI__builtin_neon_vrshrn_n_v:
1481 case NEON::BI__builtin_neon_vqrshrn_n_v:
1482 case NEON::BI__builtin_neon_vrndah_f16:
1483 case NEON::BI__builtin_neon_vrnda_v:
1484 case NEON::BI__builtin_neon_vrndaq_v:
1485 case NEON::BI__builtin_neon_vrndih_f16:
1486 case NEON::BI__builtin_neon_vrndmh_f16:
1487 case NEON::BI__builtin_neon_vrndm_v:
1488 case NEON::BI__builtin_neon_vrndmq_v:
1489 case NEON::BI__builtin_neon_vrndnh_f16:
1490 case NEON::BI__builtin_neon_vrndn_v:
1491 case NEON::BI__builtin_neon_vrndnq_v:
1492 case NEON::BI__builtin_neon_vrndns_f32:
1493 case NEON::BI__builtin_neon_vrndph_f16:
1494 case NEON::BI__builtin_neon_vrndp_v:
1495 case NEON::BI__builtin_neon_vrndpq_v:
1496 case NEON::BI__builtin_neon_vrndxh_f16:
1497 case NEON::BI__builtin_neon_vrndx_v:
1498 case NEON::BI__builtin_neon_vrndxq_v:
1499 case NEON::BI__builtin_neon_vrndh_f16:
1500 case NEON::BI__builtin_neon_vrnd32x_f32:
1501 case NEON::BI__builtin_neon_vrnd32xq_f32:
1502 case NEON::BI__builtin_neon_vrnd32x_f64:
1503 case NEON::BI__builtin_neon_vrnd32xq_f64:
1504 case NEON::BI__builtin_neon_vrnd32z_f32:
1505 case NEON::BI__builtin_neon_vrnd32zq_f32:
1506 case NEON::BI__builtin_neon_vrnd32z_f64:
1507 case NEON::BI__builtin_neon_vrnd32zq_f64:
1508 case NEON::BI__builtin_neon_vrnd64x_f32:
1509 case NEON::BI__builtin_neon_vrnd64xq_f32:
1510 case NEON::BI__builtin_neon_vrnd64x_f64:
1511 case NEON::BI__builtin_neon_vrnd64xq_f64:
1512 case NEON::BI__builtin_neon_vrnd64z_f32:
1513 case NEON::BI__builtin_neon_vrnd64zq_f32:
1514 case NEON::BI__builtin_neon_vrnd64z_f64:
1515 case NEON::BI__builtin_neon_vrnd64zq_f64:
1516 case NEON::BI__builtin_neon_vrnd_v:
1517 case NEON::BI__builtin_neon_vrndq_v:
1518 case NEON::BI__builtin_neon_vcvt_f64_v:
1519 case NEON::BI__builtin_neon_vcvtq_f64_v:
1520 case NEON::BI__builtin_neon_vcvt_f64_f32:
1521 case NEON::BI__builtin_neon_vcvt_f32_f64:
1522 case NEON::BI__builtin_neon_vcvt_s32_v:
1523 case NEON::BI__builtin_neon_vcvt_u32_v:
1524 case NEON::BI__builtin_neon_vcvt_s64_v:
1525 case NEON::BI__builtin_neon_vcvt_u64_v:
1526 case NEON::BI__builtin_neon_vcvt_s16_f16:
1527 case NEON::BI__builtin_neon_vcvt_u16_f16:
1528 case NEON::BI__builtin_neon_vcvtq_s32_v:
1529 case NEON::BI__builtin_neon_vcvtq_u32_v:
1530 case NEON::BI__builtin_neon_vcvtq_s64_v:
1531 case NEON::BI__builtin_neon_vcvtq_u64_v:
1532 case NEON::BI__builtin_neon_vcvtq_s16_f16:
1533 case NEON::BI__builtin_neon_vcvtq_u16_f16:
1534 case NEON::BI__builtin_neon_vcvta_s16_f16:
1535 case NEON::BI__builtin_neon_vcvta_u16_f16:
1536 case NEON::BI__builtin_neon_vcvta_s32_v:
1537 case NEON::BI__builtin_neon_vcvtaq_s16_f16:
1538 case NEON::BI__builtin_neon_vcvtaq_s32_v:
1539 case NEON::BI__builtin_neon_vcvta_u32_v:
1540 case NEON::BI__builtin_neon_vcvtaq_u16_f16:
1541 case NEON::BI__builtin_neon_vcvtaq_u32_v:
1542 case NEON::BI__builtin_neon_vcvta_s64_v:
1543 case NEON::BI__builtin_neon_vcvtaq_s64_v:
1544 case NEON::BI__builtin_neon_vcvta_u64_v:
1545 case NEON::BI__builtin_neon_vcvtaq_u64_v:
1546 case NEON::BI__builtin_neon_vcvtm_s16_f16:
1547 case NEON::BI__builtin_neon_vcvtm_s32_v:
1548 case NEON::BI__builtin_neon_vcvtmq_s16_f16:
1549 case NEON::BI__builtin_neon_vcvtmq_s32_v:
1550 case NEON::BI__builtin_neon_vcvtm_u16_f16:
1551 case NEON::BI__builtin_neon_vcvtm_u32_v:
1552 case NEON::BI__builtin_neon_vcvtmq_u16_f16:
1553 case NEON::BI__builtin_neon_vcvtmq_u32_v:
1554 case NEON::BI__builtin_neon_vcvtm_s64_v:
1555 case NEON::BI__builtin_neon_vcvtmq_s64_v:
1556 case NEON::BI__builtin_neon_vcvtm_u64_v:
1557 case NEON::BI__builtin_neon_vcvtmq_u64_v:
1558 case NEON::BI__builtin_neon_vcvtn_s16_f16:
1559 case NEON::BI__builtin_neon_vcvtn_s32_v:
1560 case NEON::BI__builtin_neon_vcvtnq_s16_f16:
1561 case NEON::BI__builtin_neon_vcvtnq_s32_v:
1562 case NEON::BI__builtin_neon_vcvtn_u16_f16:
1563 case NEON::BI__builtin_neon_vcvtn_u32_v:
1564 case NEON::BI__builtin_neon_vcvtnq_u16_f16:
1565 case NEON::BI__builtin_neon_vcvtnq_u32_v:
1566 case NEON::BI__builtin_neon_vcvtn_s64_v:
1567 case NEON::BI__builtin_neon_vcvtnq_s64_v:
1568 case NEON::BI__builtin_neon_vcvtn_u64_v:
1569 case NEON::BI__builtin_neon_vcvtnq_u64_v:
1570 case NEON::BI__builtin_neon_vcvtp_s16_f16:
1571 case NEON::BI__builtin_neon_vcvtp_s32_v:
1572 case NEON::BI__builtin_neon_vcvtpq_s16_f16:
1573 case NEON::BI__builtin_neon_vcvtpq_s32_v:
1574 case NEON::BI__builtin_neon_vcvtp_u16_f16:
1575 case NEON::BI__builtin_neon_vcvtp_u32_v:
1576 case NEON::BI__builtin_neon_vcvtpq_u16_f16:
1577 case NEON::BI__builtin_neon_vcvtpq_u32_v:
1578 case NEON::BI__builtin_neon_vcvtp_s64_v:
1579 case NEON::BI__builtin_neon_vcvtpq_s64_v:
1580 case NEON::BI__builtin_neon_vcvtp_u64_v:
1581 case NEON::BI__builtin_neon_vcvtpq_u64_v:
1582 case NEON::BI__builtin_neon_vmulx_v:
1583 case NEON::BI__builtin_neon_vmulxq_v:
1584 case NEON::BI__builtin_neon_vmulxh_lane_f16:
1585 case NEON::BI__builtin_neon_vmulxh_laneq_f16:
1586 case NEON::BI__builtin_neon_vmul_lane_v:
1587 case NEON::BI__builtin_neon_vmul_laneq_v:
1588 case NEON::BI__builtin_neon_vnegd_s64:
1589 case NEON::BI__builtin_neon_vnegh_f16:
1590 case NEON::BI__builtin_neon_vpmaxnm_v:
1591 case NEON::BI__builtin_neon_vpmaxnmq_v:
1592 case NEON::BI__builtin_neon_vpminnm_v:
1593 case NEON::BI__builtin_neon_vpminnmq_v:
1594 case NEON::BI__builtin_neon_vsqrth_f16:
1595 case NEON::BI__builtin_neon_vsqrt_v:
1596 case NEON::BI__builtin_neon_vsqrtq_v:
1597 case NEON::BI__builtin_neon_vrbit_v:
1598 case NEON::BI__builtin_neon_vrbitq_v:
1599 case NEON::BI__builtin_neon_vmaxv_f16:
1600 case NEON::BI__builtin_neon_vmaxvq_f16:
1601 case NEON::BI__builtin_neon_vminv_f16:
1602 case NEON::BI__builtin_neon_vminvq_f16:
1603 case NEON::BI__builtin_neon_vmaxnmv_f16:
1604 case NEON::BI__builtin_neon_vmaxnmvq_f16:
1605 case NEON::BI__builtin_neon_vminnmv_f16:
1606 case NEON::BI__builtin_neon_vminnmvq_f16:
1607 case NEON::BI__builtin_neon_vmul_n_f64:
1608 case NEON::BI__builtin_neon_vaddlv_u8:
1609 case NEON::BI__builtin_neon_vaddlv_u16:
1610 case NEON::BI__builtin_neon_vaddlvq_u8:
1611 case NEON::BI__builtin_neon_vaddlvq_u16:
1612 case NEON::BI__builtin_neon_vaddlv_s8:
1613 case NEON::BI__builtin_neon_vaddlv_s16:
1614 case NEON::BI__builtin_neon_vaddlvq_s8:
1615 case NEON::BI__builtin_neon_vaddlvq_s16:
1616 case NEON::BI__builtin_neon_vsri_n_v:
1617 case NEON::BI__builtin_neon_vsriq_n_v:
1618 case NEON::BI__builtin_neon_vsli_n_v:
1619 case NEON::BI__builtin_neon_vsliq_n_v:
1620 case NEON::BI__builtin_neon_vsra_n_v:
1621 case NEON::BI__builtin_neon_vsraq_n_v:
1622 case NEON::BI__builtin_neon_vrsra_n_v:
1623 case NEON::BI__builtin_neon_vrsraq_n_v:
1624 case NEON::BI__builtin_neon_vld1_v:
1625 case NEON::BI__builtin_neon_vld1q_v:
1626 case NEON::BI__builtin_neon_vst1_v:
1627 case NEON::BI__builtin_neon_vst1q_v:
1628 case NEON::BI__builtin_neon_vld1_lane_v:
1629 case NEON::BI__builtin_neon_vld1q_lane_v:
1630 case NEON::BI__builtin_neon_vldap1_lane_s64:
1631 case NEON::BI__builtin_neon_vldap1q_lane_s64:
1632 case NEON::BI__builtin_neon_vld1_dup_v:
1633 case NEON::BI__builtin_neon_vld1q_dup_v:
1634 case NEON::BI__builtin_neon_vst1_lane_v:
1635 case NEON::BI__builtin_neon_vst1q_lane_v:
1636 case NEON::BI__builtin_neon_vstl1_lane_s64:
1637 case NEON::BI__builtin_neon_vstl1q_lane_s64:
1638 case NEON::BI__builtin_neon_vld2_v:
1639 case NEON::BI__builtin_neon_vld2q_v:
1640 case NEON::BI__builtin_neon_vld3_v:
1641 case NEON::BI__builtin_neon_vld3q_v:
1642 case NEON::BI__builtin_neon_vld4_v:
1643 case NEON::BI__builtin_neon_vld4q_v:
1644 case NEON::BI__builtin_neon_vld2_dup_v:
1645 case NEON::BI__builtin_neon_vld2q_dup_v:
1646 case NEON::BI__builtin_neon_vld3_dup_v:
1647 case NEON::BI__builtin_neon_vld3q_dup_v:
1648 case NEON::BI__builtin_neon_vld4_dup_v:
1649 case NEON::BI__builtin_neon_vld4q_dup_v:
1650 case NEON::BI__builtin_neon_vld2_lane_v:
1651 case NEON::BI__builtin_neon_vld2q_lane_v:
1652 case NEON::BI__builtin_neon_vld3_lane_v:
1653 case NEON::BI__builtin_neon_vld3q_lane_v:
1654 case NEON::BI__builtin_neon_vld4_lane_v:
1655 case NEON::BI__builtin_neon_vld4q_lane_v:
1656 case NEON::BI__builtin_neon_vst2_v:
1657 case NEON::BI__builtin_neon_vst2q_v:
1658 case NEON::BI__builtin_neon_vst2_lane_v:
1659 case NEON::BI__builtin_neon_vst2q_lane_v:
1660 case NEON::BI__builtin_neon_vst3_v:
1661 case NEON::BI__builtin_neon_vst3q_v:
1662 case NEON::BI__builtin_neon_vst3_lane_v:
1663 case NEON::BI__builtin_neon_vst3q_lane_v:
1664 case NEON::BI__builtin_neon_vst4_v:
1665 case NEON::BI__builtin_neon_vst4q_v:
1666 case NEON::BI__builtin_neon_vst4_lane_v:
1667 case NEON::BI__builtin_neon_vst4q_lane_v:
1668 case NEON::BI__builtin_neon_vtrn_v:
1669 case NEON::BI__builtin_neon_vtrnq_v:
1670 case NEON::BI__builtin_neon_vuzp_v:
1671 case NEON::BI__builtin_neon_vuzpq_v:
1672 case NEON::BI__builtin_neon_vzip_v:
1673 case NEON::BI__builtin_neon_vzipq_v:
1674 case NEON::BI__builtin_neon_vqtbl1q_v:
1675 case NEON::BI__builtin_neon_vqtbl2q_v:
1676 case NEON::BI__builtin_neon_vqtbl3q_v:
1677 case NEON::BI__builtin_neon_vqtbl4q_v:
1678 case NEON::BI__builtin_neon_vqtbx1q_v:
1679 case NEON::BI__builtin_neon_vqtbx2q_v:
1680 case NEON::BI__builtin_neon_vqtbx3q_v:
1681 case NEON::BI__builtin_neon_vqtbx4q_v:
1682 case NEON::BI__builtin_neon_vsqadd_v:
1683 case NEON::BI__builtin_neon_vsqaddq_v:
1684 case NEON::BI__builtin_neon_vuqadd_v:
1685 case NEON::BI__builtin_neon_vuqaddq_v:
1686 case NEON::BI__builtin_neon_vluti2_laneq_mf8:
1687 case NEON::BI__builtin_neon_vluti2_laneq_bf16:
1688 case NEON::BI__builtin_neon_vluti2_laneq_f16:
1689 case NEON::BI__builtin_neon_vluti2_laneq_p16:
1690 case NEON::BI__builtin_neon_vluti2_laneq_p8:
1691 case NEON::BI__builtin_neon_vluti2_laneq_s16:
1692 case NEON::BI__builtin_neon_vluti2_laneq_s8:
1693 case NEON::BI__builtin_neon_vluti2_laneq_u16:
1694 case NEON::BI__builtin_neon_vluti2_laneq_u8:
1695 case NEON::BI__builtin_neon_vluti2q_laneq_mf8:
1696 case NEON::BI__builtin_neon_vluti2q_laneq_bf16:
1697 case NEON::BI__builtin_neon_vluti2q_laneq_f16:
1698 case NEON::BI__builtin_neon_vluti2q_laneq_p16:
1699 case NEON::BI__builtin_neon_vluti2q_laneq_p8:
1700 case NEON::BI__builtin_neon_vluti2q_laneq_s16:
1701 case NEON::BI__builtin_neon_vluti2q_laneq_s8:
1702 case NEON::BI__builtin_neon_vluti2q_laneq_u16:
1703 case NEON::BI__builtin_neon_vluti2q_laneq_u8:
1704 case NEON::BI__builtin_neon_vluti2_lane_mf8:
1705 case NEON::BI__builtin_neon_vluti2_lane_bf16:
1706 case NEON::BI__builtin_neon_vluti2_lane_f16:
1707 case NEON::BI__builtin_neon_vluti2_lane_p16:
1708 case NEON::BI__builtin_neon_vluti2_lane_p8:
1709 case NEON::BI__builtin_neon_vluti2_lane_s16:
1710 case NEON::BI__builtin_neon_vluti2_lane_s8:
1711 case NEON::BI__builtin_neon_vluti2_lane_u16:
1712 case NEON::BI__builtin_neon_vluti2_lane_u8:
1713 case NEON::BI__builtin_neon_vluti2q_lane_mf8:
1714 case NEON::BI__builtin_neon_vluti2q_lane_bf16:
1715 case NEON::BI__builtin_neon_vluti2q_lane_f16:
1716 case NEON::BI__builtin_neon_vluti2q_lane_p16:
1717 case NEON::BI__builtin_neon_vluti2q_lane_p8:
1718 case NEON::BI__builtin_neon_vluti2q_lane_s16:
1719 case NEON::BI__builtin_neon_vluti2q_lane_s8:
1720 case NEON::BI__builtin_neon_vluti2q_lane_u16:
1721 case NEON::BI__builtin_neon_vluti2q_lane_u8:
1722 case NEON::BI__builtin_neon_vluti4q_lane_mf8:
1723 case NEON::BI__builtin_neon_vluti4q_lane_p8:
1724 case NEON::BI__builtin_neon_vluti4q_lane_s8:
1725 case NEON::BI__builtin_neon_vluti4q_lane_u8:
1726 case NEON::BI__builtin_neon_vluti4q_laneq_mf8:
1727 case NEON::BI__builtin_neon_vluti4q_laneq_p8:
1728 case NEON::BI__builtin_neon_vluti4q_laneq_s8:
1729 case NEON::BI__builtin_neon_vluti4q_laneq_u8:
1730 case NEON::BI__builtin_neon_vluti4q_lane_bf16_x2:
1731 case NEON::BI__builtin_neon_vluti4q_lane_f16_x2:
1732 case NEON::BI__builtin_neon_vluti4q_lane_p16_x2:
1733 case NEON::BI__builtin_neon_vluti4q_lane_s16_x2:
1734 case NEON::BI__builtin_neon_vluti4q_lane_u16_x2:
1735 case NEON::BI__builtin_neon_vluti4q_laneq_bf16_x2:
1736 case NEON::BI__builtin_neon_vluti4q_laneq_f16_x2:
1737 case NEON::BI__builtin_neon_vluti4q_laneq_p16_x2:
1738 case NEON::BI__builtin_neon_vluti4q_laneq_s16_x2:
1739 case NEON::BI__builtin_neon_vluti4q_laneq_u16_x2:
1740 case NEON::BI__builtin_neon_vmmlaq_f16_mf8_fpm:
1741 case NEON::BI__builtin_neon_vmmlaq_f32_mf8_fpm:
1742 case NEON::BI__builtin_neon_vcvt1_low_bf16_mf8_fpm:
1743 case NEON::BI__builtin_neon_vcvt1_bf16_mf8_fpm:
1744 case NEON::BI__builtin_neon_vcvt1_high_bf16_mf8_fpm:
1745 case NEON::BI__builtin_neon_vcvt2_low_bf16_mf8_fpm:
1746 case NEON::BI__builtin_neon_vcvt2_bf16_mf8_fpm:
1747 case NEON::BI__builtin_neon_vcvt2_high_bf16_mf8_fpm:
1748 case NEON::BI__builtin_neon_vcvt1_low_f16_mf8_fpm:
1749 case NEON::BI__builtin_neon_vcvt1_f16_mf8_fpm:
1750 case NEON::BI__builtin_neon_vcvt1_high_f16_mf8_fpm:
1751 case NEON::BI__builtin_neon_vcvt2_low_f16_mf8_fpm:
1752 case NEON::BI__builtin_neon_vcvt2_f16_mf8_fpm:
1753 case NEON::BI__builtin_neon_vcvt2_high_f16_mf8_fpm:
1754 case NEON::BI__builtin_neon_vcvt_mf8_f32_fpm:
1755 case NEON::BI__builtin_neon_vcvt_mf8_f16_fpm:
1756 case NEON::BI__builtin_neon_vcvtq_mf8_f16_fpm:
1757 case NEON::BI__builtin_neon_vcvt_high_mf8_f32_fpm:
1758 case NEON::BI__builtin_neon_vdot_f16_mf8_fpm:
1759 case NEON::BI__builtin_neon_vdotq_f16_mf8_fpm:
1760 case NEON::BI__builtin_neon_vdot_lane_f16_mf8_fpm:
1761 case NEON::BI__builtin_neon_vdotq_lane_f16_mf8_fpm:
1762 case NEON::BI__builtin_neon_vdot_laneq_f16_mf8_fpm:
1763 case NEON::BI__builtin_neon_vdotq_laneq_f16_mf8_fpm:
1764 case NEON::BI__builtin_neon_vdot_f32_mf8_fpm:
1765 case NEON::BI__builtin_neon_vdotq_f32_mf8_fpm:
1766 case NEON::BI__builtin_neon_vdot_lane_f32_mf8_fpm:
1767 case NEON::BI__builtin_neon_vdotq_lane_f32_mf8_fpm:
1768 case NEON::BI__builtin_neon_vdot_laneq_f32_mf8_fpm:
1769 case NEON::BI__builtin_neon_vdotq_laneq_f32_mf8_fpm:
1770 case NEON::BI__builtin_neon_vmlalbq_f16_mf8_fpm:
1771 case NEON::BI__builtin_neon_vmlaltq_f16_mf8_fpm:
1772 case NEON::BI__builtin_neon_vmlallbbq_f32_mf8_fpm:
1773 case NEON::BI__builtin_neon_vmlallbtq_f32_mf8_fpm:
1774 case NEON::BI__builtin_neon_vmlalltbq_f32_mf8_fpm:
1775 case NEON::BI__builtin_neon_vmlallttq_f32_mf8_fpm:
1776 case NEON::BI__builtin_neon_vmlalbq_lane_f16_mf8_fpm:
1777 case NEON::BI__builtin_neon_vmlalbq_laneq_f16_mf8_fpm:
1778 case NEON::BI__builtin_neon_vmlaltq_lane_f16_mf8_fpm:
1779 case NEON::BI__builtin_neon_vmlaltq_laneq_f16_mf8_fpm:
1780 case NEON::BI__builtin_neon_vmlallbbq_lane_f32_mf8_fpm:
1781 case NEON::BI__builtin_neon_vmlallbbq_laneq_f32_mf8_fpm:
1782 case NEON::BI__builtin_neon_vmlallbtq_lane_f32_mf8_fpm:
1783 case NEON::BI__builtin_neon_vmlallbtq_laneq_f32_mf8_fpm:
1784 case NEON::BI__builtin_neon_vmlalltbq_lane_f32_mf8_fpm:
1785 case NEON::BI__builtin_neon_vmlalltbq_laneq_f32_mf8_fpm:
1786 case NEON::BI__builtin_neon_vmlallttq_lane_f32_mf8_fpm:
1787 case NEON::BI__builtin_neon_vmlallttq_laneq_f32_mf8_fpm:
1788 case NEON::BI__builtin_neon_vamin_f16:
1789 case NEON::BI__builtin_neon_vaminq_f16:
1790 case NEON::BI__builtin_neon_vamin_f32:
1791 case NEON::BI__builtin_neon_vaminq_f32:
1792 case NEON::BI__builtin_neon_vaminq_f64:
1793 case NEON::BI__builtin_neon_vamax_f16:
1794 case NEON::BI__builtin_neon_vamaxq_f16:
1795 case NEON::BI__builtin_neon_vamax_f32:
1796 case NEON::BI__builtin_neon_vamaxq_f32:
1797 case NEON::BI__builtin_neon_vamaxq_f64:
1798 case NEON::BI__builtin_neon_vscale_f16:
1799 case NEON::BI__builtin_neon_vscaleq_f16:
1800 case NEON::BI__builtin_neon_vscale_f32:
1801 case NEON::BI__builtin_neon_vscaleq_f32:
1802 case NEON::BI__builtin_neon_vscaleq_f64:
1803 cgm.errorNYI(
expr->getSourceRange(),
1804 std::string(
"unimplemented AArch64 builtin call: ") +
1805 getContext().BuiltinInfo.getName(builtinID));
1806 return mlir::Value{};