Alex Crichton
3eff54a4ee
Don't generate unmangled aeabi with gen-tests
...
The symbols they delgate to also don't exist...
2017-06-24 11:34:10 -07:00
Alex Crichton
6db18f6536
Handle aeabi aliasing
...
Objects in compiler-rt may have two symbols, so this makes sure that we don't
bring in those objects by accident by defining the aliases ourselves.
2017-06-23 15:55:11 -07:00
Alex Crichton
0e5562c38d
Remove executable bit on arm.rs
2017-06-23 11:21:15 -07:00
Jorge Aparicio
0869e5b93a
remove arm tests from the old test suite
2017-04-10 16:35:08 -05:00
Wilfried Chauveau
b3e33508a0
impl (unsigned/signed) int to single/double precision float conversion based on llvm algorithms.
2017-03-06 11:55:57 -05:00
Jorge Aparicio
9916fa670c
implement float subtraction
...
as a + (-b)
2017-02-08 10:10:40 -05:00
Jorge Aparicio
3a4e6ce2f4
use AAPCS calling convention on all aeabi intrinsics
...
also, on ARM, inline(always) the actual implementation of the intrinsics so we
end with code like this:
```
00000000 <__aeabi_dadd>:
(implementation here)
```
instead of "trampolines" like this:
```
00000000 <__aeabi_dadd>:
(shuffle registers)
(call __adddf3)
00000000 <__adddf3>:
(implementation here)
```
closes #116
2017-02-07 09:41:26 -05:00
Jorge Aparicio
b8d6652035
add implementations of memcpy et al
...
behind the "mem" Cargo feature, which used to be named "weak"
fixes #126
2016-12-17 23:06:37 -05:00
Jorge Aparicio
cb9b1f82e3
add an opt-in cargo feature to build intrinsics from compiler-rt source
...
closes #63
cc #66
2016-09-29 16:06:24 -05:00
homunkulus
bc07830e09
Auto merge of #71 - japaric:aeabi-aliases, r=japaric
...
add missing aeabi aliases
2016-09-22 22:55:43 +00:00
Jorge Aparicio
2d630eedfd
add missing aeabi aliases
2016-09-22 17:02:36 -05:00
Jorge Aparicio
a83c11232e
avoid division overflow in idivmod test
2016-09-22 10:32:15 -05:00
Matt Ickstadt
35d68d8ab2
Move integer functions to separate module
2016-08-20 15:55:06 -05:00
Amanieu d'Antras
59fe09c493
Add tests for ARM division builtins
2016-08-19 12:13:02 +01:00
Amanieu d'Antras
161234b8b3
Add signed division functions
2016-08-19 12:13:02 +01:00
Amanieu d'Antras
d668c385ac
Fix inline assembly to work on ARMv6-M
2016-08-13 17:29:38 +01:00
Amanieu d'Antras
1a60c3d52f
Various changes
2016-08-13 09:56:40 +01:00
Jorge Aparicio
d66ff75198
note about calling convention
2016-08-11 00:36:19 -05:00
Jorge Aparicio
4c93f05195
port __udivmodsi4, aeabi_uidivmod and udivsi3
...
also rewrite these last two new aeabi intrinsics as naked functions
2016-08-11 00:26:16 -05:00
Jorge Aparicio
2eb2ac115d
port udivmoddi4 and __aeabi_uldivmod
2016-08-11 00:26:12 -05:00
Amanieu d'Antras
6f22c85b25
Remove builtins that are not called by LLVM
2016-08-08 08:25:11 +01:00
Amanieu d'Antras
9fbd25b4cd
Rewrite the arm mem* builtins without asm and naked functions
2016-08-08 07:25:32 +01:00
Jorge Aparicio
773fd1a707
initial commit
2016-08-07 15:58:21 -05:00