Commit Graph

120 Commits

Author SHA1 Message Date
whitequark
07b446a9ab comparesf2/comparedf2: fix a signedness bug and add tests. 2017-12-29 07:58:34 +00:00
whitequark
3d1600b654 comparesf2/comparedf2: do not build the C versions of intrinsics. 2017-12-29 06:16:35 +00:00
Marco A L Barbosa
f4edcf7b24 Use kernel user helpers for armv4t
Rename armv5te cfg to kernel_user_helpers and enable it for armv4t
2017-12-26 13:02:05 -02:00
bors
200c94eebf Auto merge of #212 - tamird:fomit-frame-pointer-not-supported-arm, r=alexcrichton
Avoid warning spew

...when the compiler doesn't support '-fomit-frame-pointer' on the
target architecture.
2017-11-28 17:31:37 +00:00
Tamir Duberstein
55e57a3762
Avoid warning spew
...when the compiler doesn't support '-fomit-frame-pointer' on the
target architecture.
2017-11-27 17:41:54 -05:00
Jan Teske
047406083a Remove mulsf3.c and muldf3.c from compiler-rt.
mulsf3 and muldf3 have Rust implementations since 8970485. Remove the
C implementations to avoid conflicts.
2017-11-26 21:53:57 +01:00
Scott McMurray
ba750103a3 Another attempt at making MIPS happy
(I really don't understand how arithmetic makes it segfault...)
2017-11-25 07:00:26 -08:00
Scott McMurray
bcc41a9b8d Autogenerate the add/sub tests 2017-11-25 06:25:19 -08:00
Alex Crichton
02b3734a5b Remove divsf3.c from compiler-rt
We implement this now!
2017-11-19 09:08:27 -08:00
Oliver Geller
8bb30026c7 Implement divsf3 and divdf3 2017-11-13 20:22:27 -05:00
Oliver Geller
897048543f Implement mulsf3 and muldf3 2017-11-08 17:36:34 -05:00
Alex Crichton
45cd956acc Prepare this crate for more wasm32 compatibility
This commit prepares the build script for a wasm32 target that doesn't use
Emcripten, notably forcing the `mem` feature to get activated and forcibly
ignoring the `c` feature, even if activated, for the wasm32 target.
2017-11-01 19:29:41 -07:00
Amanieu d'Antras
73e38dcf2f Add atomic support for pre-ARMv6 on Linux 2017-10-05 12:44:12 +01:00
Alex Crichton
6cf8fe7932 Update to the cc dependency 2017-09-22 21:30:12 -07:00
Alex Crichton
1be538be1e Disable empty intrinsics on i686-apple-darwin
These all currently just produce empty object files
2017-09-17 15:25:34 -07:00
Matt Ickstadt
b3679bcfba Implement x86 chkstk in "rust" 2017-09-15 18:04:59 -05:00
Tamir Duberstein
a32e76eaea
Update rustbuild commentary
Also use `cfg!(feature = "rustbuild")` instead of the environment
variable to ease grep-ability.
2017-09-12 20:54:32 -04:00
est31
02ea9e5f54 Update the gcc crate to 0.3.53 and disable compilation warnings
They are inside the compiler-rt submodule, about which we don't have
direct control over.
2017-09-07 07:49:34 +02:00
Alex Crichton
91eaa85902 Don't mangle probes all the time 2017-07-07 20:35:14 -07:00
Alex Crichton
a1700f9da9 Fix a typo in the build script 2017-07-03 15:28:03 -07:00
Alex Crichton
070990f10a Compile ffsdi2 with rustbuild feature
This is not used by LLVM/Rust, but is apparently used by gcc/C which jemalloc
can require at least.
2017-07-03 15:00:51 -07:00
Alex Crichton
681aaa914d Use the Rust implementation of udivsi3 on ARM
Although compiler-rt presumably has a more optimized implementation written in
assembly, it appears buggy for whatever reason, causing #173.

For now let's see if integration into rust-lang/rust will work with the
Rust-defined implementation!
2017-07-03 09:48:11 -07:00
Alex Crichton
4859aba5f4 Don't build gcc_personality_v0 2017-06-24 11:36:05 -07:00
Alex Crichton
b42d267065 Don't compile assembly on x86_64 Windows
They've all got the wrong ABI...
2017-06-23 21:09:24 -07:00
Alex Crichton
94bc9953a1 Don't build chkstk on x86_64 2017-06-23 20:43:51 -07:00
Alex Crichton
a839d53a02 Deal with floatdidf on x86_64
Apparently LLVM will lower this down to just an instruction
2017-06-23 13:28:24 -07:00
Alex Crichton
ac3715de0f Remove defined intrinsics from build.rs
No need to load these from C!
2017-06-23 11:14:50 -07:00
est31
258feadae4 Build.rs: better debug output 2017-05-10 02:41:29 +02:00
est31
6047cdf1e8 floattidf, floatuntidf: ignore differences smaller than 2 in test
Its possible that the generated f64 is different from the expected one
by one bit. This is legal when both values are equally close to the i128/u128.
2017-05-08 01:26:30 +02:00
est31
191c0be298 Print generated files 2017-05-07 04:40:00 +02:00
est31
e24673b6c7 Fix test name gotten wrong 2017-05-06 15:47:38 +02:00
est31
b870667509 Adjust for changed cast function 2017-05-06 15:47:38 +02:00
est31
b91c39da73 Implement tests for floatuntidf and floatuntisf 2017-05-06 05:37:24 +02:00
est31
2d2bf21f73 Implement tests for fixunsdfti and fixunssfti 2017-05-06 05:37:24 +02:00
est31
d188d3dc12 Implement tests for fixdfti and fixsfti 2017-05-06 05:37:24 +02:00
est31
f9b5297ccc Implement tests for floattidf and floattisf 2017-05-06 05:37:24 +02:00
Jorge Aparicio
63f91a0c31 Revert "i128 test: transmute intrinsic output before comparing"
This reverts commit 46085a2313.
2017-04-11 15:03:21 -05:00
Jorge Aparicio
46085a2313 i128 test: transmute intrinsic output before comparing
on Windows, these intrinsics return a U64x2 type because of ABI requirements
2017-04-11 14:47:23 -05:00
Jorge Aparicio
55294baf7a put test generation behind a Cargo feature
to reduce build time for the most common case of not running tests
2017-04-10 17:27:25 -05:00
Jorge Aparicio
3fa223505a make float* intrinsics testable on thumb
there are no intrinsics for float equality atm, so transmute to an integer
before comparing
2017-04-10 17:13:07 -05:00
Jorge Aparicio
9e2c2b6447 test float/conv.rs 2017-04-10 16:12:49 -05:00
Jorge Aparicio
b8e8c7f693 no_std compatible tester 2017-04-10 14:38:17 -05:00
Jorge Aparicio
a88ea4011b rustfmt 2017-04-10 11:29:31 -05:00
Jorge Aparicio
bce5fb5a6e move the compiler-rt submodule to the root 2017-04-10 11:23:03 -05:00
Jorge Aparicio
dbcec72ca1 refactor build.rs to not depend on rustc-cfg
it now uses the CARGO_CFG_TARGET variables provided by Cargo
2017-04-10 11:19:16 -05:00
Jorge Aparicio
a2e6591be9 make the gcc crate optional
it's only required when the "c" feature is enabled
2017-02-19 15:49:59 -05:00
Jorge Aparicio
5bb969d8f5 implement float subtraction
as a + (-b)
2017-02-08 10:10:40 -05:00
Jorge Aparicio
f7bd48ee94 target.contains -> target_os == 2017-02-06 15:16:16 -05:00
Jorge Aparicio
7cac9625b5 std: Remove unused objects from compiler-builtins
rust-lang/rust#38623
2017-02-06 15:13:40 -05:00
Jorge Aparicio
03aa2ef390 travis: Expand the cross linux image
rust-lang/rust#39111
2017-02-06 15:12:34 -05:00
Jorge Aparicio
6d3cab2ba0 libcompiler_builtins: Don't build emutls.c
Rather than improving the check, let's ditch emutls.c entirely.

rust-lang/rust#38877
2017-02-06 15:11:51 -05:00
Jorge Aparicio
c30dcb0d30 Don't build any native compiler-builtin components for emscripten
rust-lang/rust#36339
2017-02-06 15:11:09 -05:00
Jorge Aparicio
b9149051f7 Don't build gcc_personality_v0.c on NetBSD either
rust-lang/rust#39425
2017-02-06 15:10:02 -05:00
est31
9013dbef02 u128 sdiv intrinsics 2017-02-02 22:13:28 +01:00
est31
2f3c534cfe u128 udiv intrinsics 2017-02-02 22:11:14 +01:00
est31
1e27c3f937 i128 shift intrinsics 2017-02-02 22:02:51 +01:00
est31
3055aa21b6 i128 mul intrinsics 2017-02-02 21:36:56 +01:00
Alex Crichton
24d49071e5 Define VISIBILITY_HIDDEN when compiling objects
Apparently compiler-rt passed this and we just forgot to. Fixes visibility of
some symbols on 32-bit Linux.
2016-11-18 09:40:20 -08:00
Matt Ickstadt
f68475e080 Use better cfg name for arm-linux tests 2016-11-12 15:52:59 -06:00
Matt Ickstadt
655f642d3f Add float quickcheck 2016-11-12 14:55:28 -06:00
Jorge Aparicio
4bf128a84c add a rustbuild cargo feature for integration with rust-lang/rust 2016-10-10 16:18:18 -05:00
homunkulus
8652c66bdc Auto merge of #82 - mattico:add_pow, r=japaric
Add pow functions

I still want to clean up the commit history, but otherwise I think this is complete. ~~Can you run the tests on it?~~
2016-10-04 01:52:27 +00:00
Jorge Aparicio
ff7e3ba2c0 stop compiling compiler-rt implementations
to avoid duplicate symbols
2016-10-03 20:52:14 -05:00
Jorge Aparicio
77bca82434 bump rustc-cfg version and show a better error message when it fails 2016-10-03 19:25:32 -05:00
Jorge Aparicio
72802069a2 build.rs: print rerun-if-change for all the C/asm sources 2016-09-29 19:45:59 -05:00
Jorge Aparicio
b5797dc2a2 adapt to new testing infrastructure 2016-09-29 18:50:04 -05:00
Jorge Aparicio
f77ca915c4 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
Alex Crichton
8e161a791a Expand and refactor teting infrastructure
This commit moves over most of the testing infrastructure to in-tree docker
images that are all dispatched to from Travis (no other test configuration).
This allows versioning modifications to the test infrastructure as well as the
code itself. Additionally separate docker images allows for easy modification of
one without worrying about tampering of others as well as easy addition of new
targets by simply adding a new `Dockerfile`.

Additionally this commit bundles the master version of the `compiler-rt` source
repository from `llvm-mirror/compiler-rt` to test against. The compiler-rt
library itself is compiled as a `cdylib` which is then dynamically located at
runtime and we look for symbols in. There's a few hoops here, but they currently
get the job done.

All tests now execute against both gcc_s and compiler-rt, and this
testing strategy is now all hidden behind a macro as well (refactoring
all existing tests along the way).
2016-09-28 22:09:55 -07:00
Jorge Aparicio
dafe47bc2b fix build.rs
we don't want to match musleabihf targets
2016-09-22 11:56:34 -05:00
Jorge Aparicio
337bd7e209 armhf: don't compare our impls against gcc_s 2016-09-21 21:14:38 -05:00