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