mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Cleanups for EABI standard functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149195 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f349cb8f33
commit
6edd5884c9
@ -386,8 +386,6 @@ ARMTargetLowering::ARMTargetLowering(TargetMachine &TM)
|
|||||||
// Long long helper functions
|
// Long long helper functions
|
||||||
// RTABI chapter 4.2, Table 9
|
// RTABI chapter 4.2, Table 9
|
||||||
setLibcallName(RTLIB::MUL_I64, "__aeabi_lmul");
|
setLibcallName(RTLIB::MUL_I64, "__aeabi_lmul");
|
||||||
setLibcallName(RTLIB::SDIV_I64, "__aeabi_ldivmod");
|
|
||||||
setLibcallName(RTLIB::UDIV_I64, "__aeabi_uldivmod");
|
|
||||||
setLibcallName(RTLIB::SHL_I64, "__aeabi_llsl");
|
setLibcallName(RTLIB::SHL_I64, "__aeabi_llsl");
|
||||||
setLibcallName(RTLIB::SRL_I64, "__aeabi_llsr");
|
setLibcallName(RTLIB::SRL_I64, "__aeabi_llsr");
|
||||||
setLibcallName(RTLIB::SRA_I64, "__aeabi_lasr");
|
setLibcallName(RTLIB::SRA_I64, "__aeabi_lasr");
|
||||||
@ -403,21 +401,28 @@ ARMTargetLowering::ARMTargetLowering(TargetMachine &TM)
|
|||||||
setLibcallName(RTLIB::SDIV_I8, "__aeabi_idiv");
|
setLibcallName(RTLIB::SDIV_I8, "__aeabi_idiv");
|
||||||
setLibcallName(RTLIB::SDIV_I16, "__aeabi_idiv");
|
setLibcallName(RTLIB::SDIV_I16, "__aeabi_idiv");
|
||||||
setLibcallName(RTLIB::SDIV_I32, "__aeabi_idiv");
|
setLibcallName(RTLIB::SDIV_I32, "__aeabi_idiv");
|
||||||
|
setLibcallName(RTLIB::SDIV_I64, "__aeabi_ldivmod");
|
||||||
setLibcallName(RTLIB::UDIV_I8, "__aeabi_uidiv");
|
setLibcallName(RTLIB::UDIV_I8, "__aeabi_uidiv");
|
||||||
setLibcallName(RTLIB::UDIV_I16, "__aeabi_uidiv");
|
setLibcallName(RTLIB::UDIV_I16, "__aeabi_uidiv");
|
||||||
setLibcallName(RTLIB::UDIV_I32, "__aeabi_uidiv");
|
setLibcallName(RTLIB::UDIV_I32, "__aeabi_uidiv");
|
||||||
|
setLibcallName(RTLIB::UDIV_I64, "__aeabi_uldivmod");
|
||||||
setLibcallCallingConv(RTLIB::SDIV_I8, CallingConv::ARM_AAPCS);
|
setLibcallCallingConv(RTLIB::SDIV_I8, CallingConv::ARM_AAPCS);
|
||||||
setLibcallCallingConv(RTLIB::SDIV_I16, CallingConv::ARM_AAPCS);
|
setLibcallCallingConv(RTLIB::SDIV_I16, CallingConv::ARM_AAPCS);
|
||||||
setLibcallCallingConv(RTLIB::SDIV_I32, CallingConv::ARM_AAPCS);
|
setLibcallCallingConv(RTLIB::SDIV_I32, CallingConv::ARM_AAPCS);
|
||||||
|
setLibcallCallingConv(RTLIB::SDIV_I64, CallingConv::ARM_AAPCS);
|
||||||
setLibcallCallingConv(RTLIB::UDIV_I8, CallingConv::ARM_AAPCS);
|
setLibcallCallingConv(RTLIB::UDIV_I8, CallingConv::ARM_AAPCS);
|
||||||
setLibcallCallingConv(RTLIB::UDIV_I16, CallingConv::ARM_AAPCS);
|
setLibcallCallingConv(RTLIB::UDIV_I16, CallingConv::ARM_AAPCS);
|
||||||
setLibcallCallingConv(RTLIB::UDIV_I32, CallingConv::ARM_AAPCS);
|
setLibcallCallingConv(RTLIB::UDIV_I32, CallingConv::ARM_AAPCS);
|
||||||
|
setLibcallCallingConv(RTLIB::UDIV_I64, CallingConv::ARM_AAPCS);
|
||||||
|
|
||||||
// Memory operations
|
// Memory operations
|
||||||
// RTABI chapter 4.3.4
|
// RTABI chapter 4.3.4
|
||||||
setLibcallName(RTLIB::MEMCPY, "__aeabi_memcpy");
|
setLibcallName(RTLIB::MEMCPY, "__aeabi_memcpy");
|
||||||
setLibcallName(RTLIB::MEMMOVE, "__aeabi_memmove");
|
setLibcallName(RTLIB::MEMMOVE, "__aeabi_memmove");
|
||||||
setLibcallName(RTLIB::MEMSET, "__aeabi_memset");
|
setLibcallName(RTLIB::MEMSET, "__aeabi_memset");
|
||||||
|
setLibcallCallingConv(RTLIB::MEMCPY, CallingConv::ARM_AAPCS);
|
||||||
|
setLibcallCallingConv(RTLIB::MEMMOVE, CallingConv::ARM_AAPCS);
|
||||||
|
setLibcallCallingConv(RTLIB::MEMSET, CallingConv::ARM_AAPCS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use divmod compiler-rt calls for iOS 5.0 and later.
|
// Use divmod compiler-rt calls for iOS 5.0 and later.
|
||||||
|
Loading…
Reference in New Issue
Block a user