est31
aef124cc75
Partially revert 482d98318fc1bfd003942c9de4ee1c7e8a0c45f0
...
This partially reverts "Convert int_to_float! to a function".
2017-09-29 02:19:40 +02:00
est31
f2794913f3
Convert add! to a function
2017-09-14 17:33:44 +02:00
est31
13477e488f
Convert int_to_float! to a function
2017-09-14 16:32:50 +02:00
est31
f1bab6229d
Convert float_to_int! into a function
2017-09-14 14:59:32 +02:00
est31
6f19051513
Don't use the Wrapping wrapper in float addition
...
Inspired by a patch by mattico.
2017-09-14 02:08:28 +02:00
est31
57a3b2fe48
Don't use a macro for pow calculation
2017-09-14 01:59:02 +02:00
est31
3b5d6d7aa9
Extend the Float trait by some constants and supertraits
2017-09-14 01:57:52 +02:00
est31
515ea7157a
Use the newly added ONE constant in float addition
2017-09-14 00:10:16 +02:00
est31
cec214f0d7
Introduce a float_impl! macro to avoid duplication
2017-09-13 22:44:56 +02:00
est31
218eafcc68
Refactor float builtins to use associated consts
2017-09-13 22:09:52 +02:00
est31
985e578acd
Refactor int builtins to use associated consts
2017-09-13 22:09:31 +02:00
Tim Neumann
e377364051
Avoid memcpy references in unoptimized code
2017-07-22 23:10:30 +02:00
Alex Crichton
2fa53c4b67
Don't mangle probes all the time
2017-07-07 20:35:14 -07:00
Alex Crichton
c785055bd9
Remove usage of unwrap_or_else
2017-06-23 21:31:54 -07:00
Alex Crichton
d5279752b0
Don't derive Debug for Sign
2017-06-23 21:11:31 -07:00
Alex Crichton
d3e78c5f6f
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
6db18f6536
Handle aeabi aliasing
...
Objects in compiler-rt may have two symbols, so this makes sure that we don't
bring in those objects by accident by defining the aliases ourselves.
2017-06-23 15:55:11 -07:00
Alex Crichton
78b290b61c
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
f091d05904
Tweak usage of C shims on MSVC
2017-06-23 12:03:33 -07:00
Alex Crichton
4dbe3aaf2d
Use nm to weed out panics
2017-06-23 11:52:22 -07:00
Alex Crichton
bf2f5b5808
Convert float intrinsics to the intrinsics! macro
2017-06-23 11:05:25 -07:00
Alex Crichton
c53d1c7b7d
Remove executable bit from conv.rs
2017-06-23 10:44:59 -07:00
Jorge Aparicio
1b379a495d
remove unused macros
...
to fix warnings
2017-06-01 07:40:50 -05:00
est31
7e5af82760
Add i128 <-> float conversion functions
2017-05-06 02:22:54 +02:00
est31
3254005570
Rename float conversion macros to something nicer
2017-05-05 23:31:41 +02:00
Jorge Aparicio
af0d6847d7
no_std compatible tester
2017-04-10 14:38:17 -05:00
Jorge Aparicio
05a5f4681f
remove the current test suite
2017-04-10 11:14:05 -05:00
Jorge Aparicio
07064c2239
test out of range condition using f64
...
to avoid imprecision due to rounding to f32
2017-04-08 10:18:19 -05:00
Jorge Aparicio
0ecfe751b5
fix quickcheck tests
...
the check! macro syntax has changed
2017-03-06 12:17:41 -05:00
Wilfried Chauveau
77889226f7
exclude from tests values out of integer range (and NaN).
2017-03-06 11:56:52 -05:00
Wilfried Chauveau
ef3de28eaf
implement float/double to (u)int conversion.
2017-03-06 11:56:52 -05:00
Wilfried Chauveau
b3e33508a0
impl (unsigned/signed) int to single/double precision float conversion based on llvm algorithms.
2017-03-06 11:55:57 -05:00
Jorge Aparicio
9916fa670c
implement float subtraction
...
as a + (-b)
2017-02-08 10:10:40 -05:00
Jorge Aparicio
0dfe91f7cf
adjust the check! macro to accept AAPCS intrinsics
2017-02-07 23:07:51 -05:00
Jorge Aparicio
57deccf6de
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
3a4e6ce2f4
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
Matt Ickstadt
430c92cc9a
Use better cfg name for arm-linux tests
2016-11-12 15:52:59 -06:00
Matt Ickstadt
9b4553de1c
Add float quickcheck
2016-11-12 14:55:28 -06:00
Christopher Serr
53c19053e4
Fix a few clippy warnings
2016-10-16 13:53:31 +02:00
Jorge Aparicio
d05514cb20
fix unsafe warnings
2016-10-07 18:19:40 -05:00
Jorge Aparicio
a02ecc8eef
get profile.dev (-debug-assertions) + LTO working
2016-10-07 18:19:40 -05:00
Matt Ickstadt
e6bc8007dd
Implement powi_f2
2016-10-03 11:20:42 -05:00
Matt Ickstadt
ab4e4bfd71
Initial implementation of multitester
2016-10-02 14:38:40 -05:00
Jorge Aparicio
7009fd238d
Revert "Merge pull request #48 from mattico/add_float_quickcheck"
...
This reverts commit e34a6058df470e5b3d187c947ac41a294994c414, reversing
changes made to cab88e6133b0db9c6663ffd8b2f65cb35e8a9dda.
2016-09-30 19:12:17 -05:00
Matt Ickstadt
43d85fa5cb
Add Quickcheck types for float tests
2016-09-30 14:29:52 -05:00
Matt Ickstadt
ca01aa45ff
Cleanup add builtin assignments
2016-09-30 14:29:52 -05:00
Matt Ickstadt
fde45da332
Add floating point deconstruction helpers
2016-09-30 14:29:52 -05:00
Jorge Aparicio
cb9b1f82e3
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
e7c804a9b0
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
homunkulus
bc07830e09
Auto merge of #71 - japaric:aeabi-aliases, r=japaric
...
add missing aeabi aliases
2016-09-22 22:55:43 +00:00