aboutsummaryrefslogtreecommitdiff
path: root/tcctok.h
diff options
context:
space:
mode:
authorgrischka <grischka>2007-12-04 20:38:09 +0000
committergrischka <grischka>2007-12-04 20:38:09 +0000
commitf99d3de221db23e322c6c18c8249282e27726c25 (patch)
tree5cb3bd1c8188707210eee2f89b03f7a13619479e /tcctok.h
parent2de1b2d14cc920e2c698ff0086f5558c2da7f569 (diff)
downloadtinycc-f99d3de221db23e322c6c18c8249282e27726c25.tar.gz
tinycc-f99d3de221db23e322c6c18c8249282e27726c25.tar.bz2
Import 409,410: ARM EABI by Daniel Glöckner
Diffstat (limited to 'tcctok.h')
-rw-r--r--tcctok.h33
1 files changed, 31 insertions, 2 deletions
diff --git a/tcctok.h b/tcctok.h
index dab5942..e019476 100644
--- a/tcctok.h
+++ b/tcctok.h
@@ -121,17 +121,36 @@
#endif
/* builtin functions or variables */
+#ifdef TCC_ARM_EABI
+ DEF(TOK_memcpy, "__aeabi_memcpy")
+ DEF(TOK_memcpy4, "__aeabi_memcpy4")
+ DEF(TOK_memcpy8, "__aeabi_memcpy8")
+ DEF(TOK_memset, "__aeabi_memset")
+#else
DEF(TOK_memcpy, "memcpy")
DEF(TOK_memset, "memset")
+#endif
DEF(TOK___divdi3, "__divdi3")
DEF(TOK___moddi3, "__moddi3")
DEF(TOK___udivdi3, "__udivdi3")
DEF(TOK___umoddi3, "__umoddi3")
#if defined(TCC_TARGET_ARM)
- DEF(TOK___divsi3, "__divsi3")
DEF(TOK___modsi3, "__modsi3")
- DEF(TOK___udivsi3, "__udivsi3")
DEF(TOK___umodsi3, "__umodsi3")
+#ifdef TCC_ARM_EABI
+ DEF(TOK___divsi3, "__aeabi_idiv")
+ DEF(TOK___udivsi3, "__aeabi_uidiv")
+ DEF(TOK___sardi3, "__aeabi_lasr")
+ DEF(TOK___shrdi3, "__aeabi_llsr")
+ DEF(TOK___shldi3, "__aeabi_llsl")
+ DEF(TOK___slltof, "__aeabi_l2f")
+ DEF(TOK___slltold, "__aeabi_l2d")
+ DEF(TOK___fixsfdi, "__aeabi_f2lz")
+ DEF(TOK___fixdfdi, "__aeabi_d2lz")
+ DEF(TOK___fixxfdi, "__aeabi_d2lz")
+#else
+ DEF(TOK___divsi3, "__divsi3")
+ DEF(TOK___udivsi3, "__udivsi3")
DEF(TOK___sardi3, "__ashrdi3")
DEF(TOK___shrdi3, "__lshrdi3")
DEF(TOK___shldi3, "__ashldi3")
@@ -142,6 +161,7 @@
DEF(TOK___fixsfdi, "__fixsfdi")
DEF(TOK___fixdfdi, "__fixdfdi")
DEF(TOK___fixxfdi, "__fixxfdi")
+#endif
#elif defined(TCC_TARGET_C67)
DEF(TOK__divi, "_divi")
DEF(TOK__divu, "_divu")
@@ -160,12 +180,21 @@
#endif
DEF(TOK___tcc_int_fpu_control, "__tcc_int_fpu_control")
DEF(TOK___tcc_fpu_control, "__tcc_fpu_control")
+#ifdef TCC_ARM_EABI
+ DEF(TOK___ulltof, "__aeabi_ul2f")
+ DEF(TOK___ulltod, "__aeabi_ul2d")
+ DEF(TOK___ulltold, "__aeabi_ul2d")
+ DEF(TOK___fixunssfdi, "__aeabi_f2ulz")
+ DEF(TOK___fixunsdfdi, "__aeabi_d2ulz")
+ DEF(TOK___fixunsxfdi, "__aeabi_d2ulz")
+#else
DEF(TOK___ulltof, "__ulltof")
DEF(TOK___ulltod, "__ulltod")
DEF(TOK___ulltold, "__ulltold")
DEF(TOK___fixunssfdi, "__fixunssfdi")
DEF(TOK___fixunsdfdi, "__fixunsdfdi")
DEF(TOK___fixunsxfdi, "__fixunsxfdi")
+#endif
DEF(TOK___chkstk, "__chkstk")
/* bound checking symbols */