Commit Graph

101 Commits

Author SHA1 Message Date
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