[llvm-branch-commits] [llvm] ARM: Unconditionally set eabi libcall calling convs in RuntimeLibcalls (PR #146083)

Eli Friedman via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Jun 27 09:03:24 PDT 2025


================
@@ -98,6 +98,45 @@ static void setARMLibcallNames(RuntimeLibcallsInfo &Info, const Triple &TT,
     Info.setLibcallImpl(RTLIB::SDIVREM_I32, RTLIB::__divmodsi4);
     Info.setLibcallImpl(RTLIB::UDIVREM_I32, RTLIB::__udivmodsi4);
   }
+
+  static const RTLIB::LibcallImpl AAPCS_Libcalls[] = {
+      RTLIB::__aeabi_dadd,       RTLIB::__aeabi_ddiv,
+      RTLIB::__aeabi_dmul,       RTLIB::__aeabi_dsub,
+      RTLIB::__aeabi_dcmpeq__ne, RTLIB::__aeabi_dcmpeq__eq,
+      RTLIB::__aeabi_dcmplt,     RTLIB::__aeabi_dcmple,
+      RTLIB::__aeabi_dcmpge,     RTLIB::__aeabi_dcmpgt,
+      RTLIB::__aeabi_dcmpun,     RTLIB::__aeabi_fadd,
+      RTLIB::__aeabi_fdiv,       RTLIB::__aeabi_fmul,
+      RTLIB::__aeabi_fsub,       RTLIB::__aeabi_fcmpeq__ne,
+      RTLIB::__aeabi_fcmpeq__eq, RTLIB::__aeabi_fcmplt,
+      RTLIB::__aeabi_fcmple,     RTLIB::__aeabi_fcmpge,
+      RTLIB::__aeabi_fcmpgt,     RTLIB::__aeabi_fcmpun,
+      RTLIB::__aeabi_d2iz,       RTLIB::__aeabi_d2uiz,
+      RTLIB::__aeabi_d2lz,       RTLIB::__aeabi_d2ulz,
+      RTLIB::__aeabi_f2iz,       RTLIB::__aeabi_f2uiz,
+      RTLIB::__aeabi_f2lz,       RTLIB::__aeabi_f2ulz,
+      RTLIB::__aeabi_d2f,        RTLIB::__aeabi_d2h,
+      RTLIB::__aeabi_f2d,        RTLIB::__aeabi_i2d,
+      RTLIB::__aeabi_ui2d,       RTLIB::__aeabi_l2d,
+      RTLIB::__aeabi_ul2d,       RTLIB::__aeabi_i2f,
+      RTLIB::__aeabi_ui2f,       RTLIB::__aeabi_l2f,
+      RTLIB::__aeabi_ul2f,       RTLIB::__aeabi_lmul,
+      RTLIB::__aeabi_llsl,       RTLIB::__aeabi_llsr,
+      RTLIB::__aeabi_lasr,       RTLIB::__aeabi_idiv__i8,
+      RTLIB::__aeabi_idiv__i16,  RTLIB::__aeabi_idiv__i32,
+      RTLIB::__aeabi_ldivmod,    RTLIB::__aeabi_uidiv__i8,
+      RTLIB::__aeabi_uidiv__i16, RTLIB::__aeabi_uidiv__i32,
+      RTLIB::__aeabi_uldivmod,   RTLIB::__aeabi_f2h,
+      RTLIB::__aeabi_d2h,        RTLIB::__aeabi_h2f,
+      RTLIB::__aeabi_memcpy,     RTLIB::__aeabi_memmove,
+      RTLIB::__aeabi_memset,     RTLIB::__aeabi_memcpy4,
+      RTLIB::__aeabi_memcpy8,    RTLIB::__aeabi_memmove4,
+      RTLIB::__aeabi_memmove8,   RTLIB::__aeabi_memset4,
+      RTLIB::__aeabi_memset8,    RTLIB::__aeabi_memclr,
+      RTLIB::__aeabi_memclr4,    RTLIB::__aeabi_memclr8};
----------------
efriedma-quic wrote:

Did you also mean to move the code setting the calling convention for __aeabi_idivmod?

https://github.com/llvm/llvm-project/pull/146083


More information about the llvm-branch-commits mailing list