Commit Graph

16 Commits

Author SHA1 Message Date
Alex Crichton
939cbca6e9 Revert "Conversion from a wider to a narrower IEEE-754 floating-point type"
This reverts commit baab4fd89c.
2018-10-30 10:51:11 -07:00
Paolo Teti
baab4fd89c Conversion from a wider to a narrower IEEE-754 floating-point type
Adds generic conversion from a wider to a narrower IEEE-754
floating-point type.

Implement `__truncdfsf2` and `__truncdfsf2vfp` and associated test-cases.
2018-09-17 19:53:04 +02:00
Alex Crichton
e73b81e2d5 Attempt to fix tests on latest nightly 2018-05-11 16:45:30 -07:00
Paolo Teti
944ab5cb92 Add missing test cases for __unordsf2/__unorddf2 2018-02-25 18:35:36 +01:00
Paolo Teti
28c57e7212 Add __ledf2vfp and __lesf2vfp
Now that `73884ae` is in some nightly release We can add ledf2vfp/leds2vfp
and so these two functions be aliased to aeabi_fcmple/aeabi_dcmple on soft-float targets.
2018-02-25 17:50:56 +01:00
Paolo Teti
9e99aa2bbe Remove no_std features
Everything default unconditionally to #![no_std].
2018-02-25 09:19:34 +01:00
Paolo Teti
7b81af044e Keep mangled-names as a default feature 2018-02-25 01:11:49 +01:00
Paolo Teti
86612733be testcrate/lib.rs: use #![no_std] unconditionally 2018-02-25 00:22:39 +01:00
Paolo Teti
8289e626fe Use upstream for utest
Fix has been merged into upstream.
2018-02-24 22:48:27 +01:00
Paolo Teti
7f92a8ee7b Fix CI for thumb* targets
Main fix is inside 'utest' all the rest are minor fixes due to the
new 'testcrate'.

Still allow failures on TravisCI for a while.
2018-02-18 18:15:57 +01:00
Paolo Teti
e7bf03019c Collection of VFP intrinsics
Nothing really exciting here. LLVM on hard-float target use native instructions
for all listed VFP intrinsics and so resulting implementation is really trivial.

Implemented intrinsics:

 __gesf2vfp
 __gedf2vfp
 __gtsf2vfp
 __gtdf2vfp
 __ltsf2vfp
 __ltdf2vfp
 __nesf2vfp
 __nedf2vfp
 __eqsf2vfp
 __eqdf2vfp
 __extendsfdf2vfp
2018-02-11 23:46:56 +01:00
Paolo Teti
306764b091 Fix issue extending f32::MIN/MAX to f64 and improve testcrate.
I was able to trigger an issue extending f32::MAX or f32::MIN to a f64.
Issue was not triggered by `testcrate` mainly because f32::MAX/MIN are
not in the list of special values to generate.

This PR fix the issue and improve `testcrate` adding MAX/MIN/MIN_POSITIVE
in the list of special values.
2018-02-09 17:23:16 +01:00
Paolo Teti
45f924ece5 Add generic conversion from a narrower to a wider FP type
Add `extend` module to implement conversion from a narrower to a wider
floating-point type.

This implementation is only intended to support *widening* operations.
Module to convert a *narrower* floating-point will be added in the future.
2018-02-08 18:20:45 +01:00
Paolo Teti
13db8bf436 Add support for sub*f3vfp and add*f3vfp
As done before for mul and div let's use extern "C" to generate `"aapcs"`
or `"aapcs-vfp"` depending on target configuration.
2018-02-04 18:34:31 +01:00
Paolo Teti
73884ae671 Fix __aeabi_fcmple and add test cases
`le` in __aeabi_fcmple means `less or equal`
2018-02-04 10:56:02 +01:00
Alex Crichton
2a13475197 Simplify how testing is done
All tests are moved to a separate crate in this repository to enable features by
default. Additionally the test generation is moved to a seprate build script and
simplified to reduce the amount of boilerplate needed per test.

Overall this should still be testing everything, just in a different location!
2018-01-31 11:32:20 -08:00