Commit Graph

383 Commits

Author SHA1 Message Date
Matt Ickstadt
35d68d8ab2 Move integer functions to separate module 2016-08-20 15:55:06 -05:00
Jorge Aparicio
f96d56dc37 Merge pull request #44 from Amanieu/sdiv
Add signed division functions
2016-08-19 09:16:53 -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
Jorge Aparicio
3fddb6b427 rename muldi4 to muldi3
closes #42
2016-08-18 21:27:16 -05:00
Matt Ickstadt
22331947ea Disable mangling for msvc stack builtins
This prevents linker errors in test builds due to the `jmp` instruction in __alloca
2016-08-17 12:55:15 -05:00
Matt Ickstadt
7e238f9973 Use jmp to implement __alloca fallthrough 2016-08-17 12:11:38 -05:00
Matt Ickstadt
f0dbe4c07c Add x86_64 builtins 2016-08-16 19:55:17 -05:00
Jorge Aparicio
63a87352d8 add core_intrinsics feature gate 2016-08-15 21:08:04 -05:00
Jorge Aparicio
b193bf698d remove unused feature gates 2016-08-14 22:08:36 -05:00
Jorge Aparicio
ae75d02bdd use rlibc crate instead 2016-08-14 22:03:19 -05:00
Jorge Aparicio
a8c6135b38 exclude windows and macos 2016-08-14 22:01:15 -05:00
Jorge Aparicio
657a0cd18a add weak memcpy et al symbols
closes #28
2016-08-14 22:00:31 -05:00
Jorge Aparicio
ebb3175dc0 use wrapping_add in muldi4 2016-08-13 18:47:39 -05:00
Jorge Aparicio
f7864eb3cd fix a bug in udivmoddi4 2016-08-13 18:45:00 -05:00
Jorge Aparicio
5581cc40af quickcheck: better generation of input arguments
closes #31
2016-08-13 16:58:44 -05: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
Amanieu d'Antras
07afa89f10 Remove the absv implementation, it isn't needed by Rust 2016-08-13 09:54:58 +01:00
Jorge Aparicio
57a3f411dd address second row of review 2016-08-11 01:45:48 -05:00
Jorge Aparicio
01a8a996b5 don't transmute in test 2016-08-11 01:42:34 -05:00
Jorge Aparicio
bcd525fe61 put div intrinsics in their own module + some docs 2016-08-11 01:26:27 -05:00
Jorge Aparicio
24344f1dca refactor: use Int traits, words -> U64, fmt 2016-08-11 01:15:51 -05:00
Jorge Aparicio
d66ff75198 note about calling convention 2016-08-11 00:36:19 -05:00
Jorge Aparicio
6be47a3524 move return into if branches 2016-08-11 00:33:27 -05:00
Jorge Aparicio
6d663ebb9c *mut T -> Option<&mut T> 2016-08-11 00:31:49 -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
2880fd70ad Add traits for integer operations 2016-08-11 05:38:11 +01:00
Amanieu d'Antras
68e0b7657c Remove the x86-specific floating-point builtins 2016-08-08 08:36:59 +01: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