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
aa553fe113
appveyor: make the host x86_64 when testing the i686 target
2017-04-11 14:28:31 -05:00
Jorge Aparicio
a373683964
adapt the thumb target specs to upstream linker-flavor changes
2017-04-11 11:32:44 -05:00
Jorge Aparicio
33b17fd87b
ignore i128 div / mul tests on MIPS
...
there's an unfixed bug. See #137
2017-04-11 11:24:33 -05:00
Jorge Aparicio
adb4e5c86f
s/feature/features/g
2017-04-10 20:10:45 -05:00
Jorge Aparicio
d2bf0f97e1
travis: don't reinstall rustup
...
travis now installs rust using rustup
2017-04-10 18:00:16 -05:00
Jorge Aparicio
181139a35e
.travis.yml: thumbs target have been renamed
2017-04-10 17:59:45 -05:00
Jorge Aparicio
ebbf8d5a29
appveyor: cargo test requires the gen-tests feature
2017-04-10 17:46:33 -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
3f723d1141
modify the CI setup to run tests on the thumb targets
2017-04-10 17:16:13 -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
d34c51f74a
remove arm tests from the old test suite
2017-04-10 16:35:08 -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
bd9c835f44
remove unused Cargo subprojects
2017-04-10 11:22:17 -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
cc0d8ba2d1
remove the current test suite
2017-04-10 11:14:05 -05:00
Jorge Aparicio
d40b3b3c52
move compiler-rt submodule
2017-04-10 11:11:23 -05:00
bors
28ac4908f8
Auto merge of #147 - rust-lang-nursery:conv, r=japaric
...
Conversion from&to float<->integer
this is a rebased version of #139
cc @ithinuel
2017-04-08 15:20:35 +00:00
Jorge Aparicio
109c33ed0a
test out of range condition using f64
...
to avoid imprecision due to rounding to f32
2017-04-08 10:18:19 -05:00
bors
09145e6bda
Auto merge of #152 - rust-lang-nursery:gh151, r=alexcrichton
...
fix debug assertion in modsi3 / moddi3
fixes #151
this fix is very similar to #149
r? @alexcrichton
2017-04-07 18:43:21 +00:00
Jorge Aparicio
2faec6a4fb
fix debug assertion in modsi3 / moddi3
...
fixes #151
this fix is very similar to #149
2017-03-13 20:40:44 -05:00
bors
9681358dc5
Auto merge of #149 - rust-lang-nursery:gh148, r=alexcrichton
...
fix debug assertion in divdi3
fixes #148
r? @alexcrichton
2017-03-07 00:38:33 +00:00
Jorge Aparicio
c93b32b3e5
fix debug assertion in divdi3
...
fixes #148
2017-03-06 17:46:11 -05:00
bors
8bd620f3e8
Auto merge of #146 - rust-lang-nursery:gh145, r=alexcrichton
...
fix infinite recursion in divmoddi4 / mulodi4
on ARMv7-M processors, divmoddi4 was calling mulodi4 and mulodi4 was calling
divmoddi4 leading to infinite recursion. This commit breaks the cycle by using
wrapping multiplication in divmoddi4.
fixes #145
r? @alexcrichton
2017-03-06 17:35:26 +00:00
Jorge Aparicio
4c556dc9e7
fix quickcheck tests
...
the check! macro syntax has changed
2017-03-06 12:17:41 -05:00
Jorge Aparicio
c6e06f4157
refactor 'impl Int'
2017-03-06 12:17:10 -05:00
Wilfried Chauveau
09d2f2f1f5
exclude from tests values out of integer range (and NaN).
2017-03-06 11:56:52 -05:00
Wilfried Chauveau
d96102d270
implement float/double to (u)int conversion.
2017-03-06 11:56:52 -05:00
Wilfried Chauveau
293fef5ebe
impl (unsigned/signed) int to single/double precision float conversion based on llvm algorithms.
2017-03-06 11:55:57 -05:00
Jorge Aparicio
644a1c9ac9
fix infinite recursion in divmoddi4 / mulodi4
...
on ARMv7-M processors, divmoddi4 was calling mulodi4 and mulodi4 was calling
divmoddi4 leading to infinite recursion. This commit breaks the cycle by using
wrapping multiplication in divmoddi4.
fixes #145
2017-03-06 10:38:19 -05:00
bors
0507842b24
Auto merge of #143 - rust-lang-nursery:no-gcc, r=alexcrichton
...
make the gcc crate optional
it's only required when the "c" feature is enabled
r? @alexcrichton
2017-02-21 16:25:47 +00: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
bors
1550b0d32f
Auto merge of #142 - rust-lang-nursery:sub, r=alexcrichton
...
implement float subtraction
as a + (-b)
r? @alexcrichton
2017-02-08 16:11:15 +00:00
Jorge Aparicio
5bb969d8f5
implement float subtraction
...
as a + (-b)
2017-02-08 10:10:40 -05:00
bors
9aa3a257d6
Auto merge of #141 - rust-lang-nursery:aapcs, r=alexcrichton
...
use AAPCS calling convention on all aeabi intrinsics
also, on ARM, inline(always) the actual implementation of the intrinsics so we
end with code like this:
```
00000000 <__aeabi_dadd>:
(implementation here)
```
instead of "trampolines" like this:
```
00000000 <__aeabi_dadd>:
(shuffle registers)
(call __adddf3)
00000000 <__adddf3>:
(implementation here)
```
closes #116
cc #66
r? @alexcrichton
cc @mattico
2017-02-08 04:09:14 +00:00
Jorge Aparicio
47b45d1d62
adjust the check! macro to accept AAPCS intrinsics
2017-02-07 23:07:51 -05:00
Jorge Aparicio
57085be2ea
ARM: keep some non-aeabi symbols around
...
- multi3: there's no aeabi equivalent
- divmod{s,d}i4: these are directly called by __aeabi_{l,i}divmod
- add{s,d}f3: required by the C sub{s,d}f3 implementation
but make sure they also use the AAPCS calling convention
2017-02-07 14:28:02 -05:00
Jorge Aparicio
dfa7b161aa
use AAPCS calling convention on all aeabi intrinsics
...
also, on ARM, inline(always) the actual implementation of the intrinsics so we
end with code like this:
```
00000000 <__aeabi_dadd>:
(implementation here)
```
instead of "trampolines" like this:
```
00000000 <__aeabi_dadd>:
(shuffle registers)
(call __adddf3)
00000000 <__adddf3>:
(implementation here)
```
closes #116
2017-02-07 09:41:26 -05:00
bors
3e8aa49cdf
Auto merge of #140 - rust-lang-nursery:backports, r=alexcrichton
...
backport rust-lang/rust changes
this mainly removes a bunch of unused intrinsics
r? @alexcrichton
2017-02-06 20:19:30 +00: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
bors
9debde0ecc
Auto merge of #133 - est31:i128, r=japaric
...
i128 intrinsics
Adds i128 intrinsics.
Note that this PR doesn't do float intrinsics, due to the missing presence of macros, those are however still required in order for rustc to switch to this crate.
2017-02-04 13:22:51 +00:00
est31
37d349015e
Disable quickcheck tests on mips
...
Two reasons:
* the C versions __divti3 and __modti3 are apparently broken,
at least when used in quickcheck. They change their own arguments.
* compiler_rt's support for mips is disabled already on clang [1].
Its desireable to support working "cargo test" on that compiler
as well, and not greet the tester with linker errors.
[1]: http://llvm.org/viewvc/llvm-project?view=revision&revision=224488
2017-02-04 12:23:45 +01:00