Commit Graph

707 Commits

Author SHA1 Message Date
Alex Crichton
5a36c4b54b Use more intrinsics on msvc 2017-06-23 07:53:34 -07:00
Alex Crichton
b6497f5283 Build tweaks 2017-06-23 07:36:08 -07:00
Alex Crichton
48c4569e91 Build the intrinsics example separately 2017-06-23 07:01:18 -07:00
Alex Crichton
0aead6b3d8 Require the compiler-builtins target for the example 2017-06-23 06:58:05 -07:00
Alex Crichton
1740b0b0f5 More windows linkage guesses 2017-06-23 06:53:09 -07:00
Alex Crichton
e892808fdd Test 64-bit linux 2017-06-22 23:44:27 -07:00
Alex Crichton
107cbd36a0 Try to fix linkage on windows 2017-06-22 23:41:28 -07:00
Alex Crichton
0d1138fad3 Fix the abi hack on windows 2017-06-22 23:36:50 -07:00
Alex Crichton
dd059dd1fc Port udiv to the intrinsics! macro 2017-06-22 23:23:36 -07:00
Alex Crichton
e80da4a48a Port sdiv to traits + intrinsics!
Enhance `intrinsics!` along the way!
2017-06-22 23:09:28 -07:00
Alex Crichton
285a69b29c Port mul intrinsics to traits
Also add a few features to the `intrinsics!` macro
2017-06-22 22:36:37 -07:00
Alex Crichton
13d1c5ce18 Remove executable bit from mod.rs 2017-06-22 22:04:40 -07:00
Alex Crichton
bd4a416457 Use traits instead of macros for shift intrinsics
This is an attempt to tidy up the definition of intrinsics by making them more
rust-like at the definition site and using traits instead of macros for the
definition. Additionally the helper macro, `intrinsics!`, now fills in a
definition for #[cfg]'d off intrinsics when compiling with C code
2017-06-22 22:03:07 -07:00
Alex Crichton
0f2515b715 Test with the 'c' feature enabled on CI 2017-06-22 14:32:16 -07:00
bors
f7bfc2d79f Auto merge of #165 - rust-lang-nursery:fix-warnings, r=japaric
remove unused macros

to fix warnings
2017-06-01 16:37:50 +00:00
Jorge Aparicio
1b379a495d remove unused macros
to fix warnings
2017-06-01 07:40:50 -05:00
bors
27f95579c9 Auto merge of #161 - est31:i128, r=japaric
Implement i128 <-> float conversion functions

Implements {u,i}128 <-> float conversion functions.
2017-05-10 02:40:22 +00:00
est31
4c69bfaff4 Build.rs: better debug output 2017-05-10 02:41:29 +02:00
est31
915c2fd0d3 Fix overflow bug when creating the absolute value
Previously, the tests failed on some platforms due to it.
2017-05-08 04:30:48 +02:00
est31
6eeab2e62f 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
ddc95ea11c Update cast to 0.2.2 to fix bug in debug mode 2017-05-08 00:05:00 +02:00
est31
197b7e6d97 Print generated files 2017-05-07 04:40:00 +02:00
est31
31048e53b5 Fix test name gotten wrong 2017-05-06 15:47:38 +02:00
est31
2aaaa38e25 Mark the functions just implemented in README.md 2017-05-06 15:47:38 +02:00
est31
313d3bb49f Adjust for changed cast function 2017-05-06 15:47:38 +02:00
est31
ee6be10895 Implement tests for floatuntidf and floatuntisf 2017-05-06 05:37:24 +02:00
est31
273211c01b Implement tests for fixunsdfti and fixunssfti 2017-05-06 05:37:24 +02:00
est31
390e1e99c9 Implement tests for fixdfti and fixsfti 2017-05-06 05:37:24 +02:00
est31
7e07245411 Implement tests for floattidf and floattisf 2017-05-06 05:37:24 +02:00
est31
c8b5bb756c Use cast 0.2.1 for i128 support 2017-05-06 05:37:24 +02:00
est31
7e5af82760 Add i128 <-> float conversion functions 2017-05-06 02:22:54 +02:00
est31
21db51b3f8 Mark some float related intrinsics as implemented in README.md
They have been implemented since
2017-05-06 00:42:59 +02:00
est31
3254005570 Rename float conversion macros to something nicer 2017-05-05 23:31:41 +02:00
bors
287fb2f21d Auto merge of #159 - rust-lang-nursery:intrinsics, r=japaric
move intrinsics test from src/bin to examples

with this change the libc crate is not required when calling `cargo build -p
compiler-builtins`
2017-04-11 22:15:28 +00:00
Jorge Aparicio
8dad658a6b move intrinsics test from src/bin to examples
with this change the libc crate is not required when calling `cargo build -p
compiler-builtins`
2017-04-11 17:09:05 -05:00
Jorge Aparicio
51a48c4431 Merge pull request #155 from rust-lang-nursery/utest
no-std friendly test suite
2017-04-11 16:27:56 -05:00
Jorge Aparicio
0666ed145a fix cfg syntax 2017-04-11 15:36:42 -05:00
Jorge Aparicio
05b6e8fa6c ignore i128 tests on windows
see #158
2017-04-11 15:08:52 -05:00
Jorge Aparicio
1e48efeaef Revert "i128 test: transmute intrinsic output before comparing"
This reverts commit 46085a2313ba196e3aab85a3380a07c6bd838fda.
2017-04-11 15:03:21 -05:00
Jorge Aparicio
3043cf860c powershell -> cmd.exe 2017-04-11 14:53:19 -05:00
Jorge Aparicio
5b8965c9de 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
4de2ff7b9d appveyor: make the host x86_64 when testing the i686 target 2017-04-11 14:28:31 -05:00
Jorge Aparicio
692906c58a adapt the thumb target specs to upstream linker-flavor changes 2017-04-11 11:32:44 -05:00
Jorge Aparicio
2f64ef0870 ignore i128 div / mul tests on MIPS
there's an unfixed bug. See #137
2017-04-11 11:24:33 -05:00
Jorge Aparicio
f80b2c4af2 s/feature/features/g 2017-04-10 20:10:45 -05:00
Jorge Aparicio
09f95517b1 travis: don't reinstall rustup
travis now installs rust using rustup
2017-04-10 18:00:16 -05:00
Jorge Aparicio
a606075c9b .travis.yml: thumbs target have been renamed 2017-04-10 17:59:45 -05:00
Jorge Aparicio
750b26267f appveyor: cargo test requires the gen-tests feature 2017-04-10 17:46:33 -05:00
Jorge Aparicio
9c0fe5be3d 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
d8576a4f8b modify the CI setup to run tests on the thumb targets 2017-04-10 17:16:13 -05:00