Commit Graph

707 Commits

Author SHA1 Message Date
Sébastien Marie
b1b06f583a openbsd: doesn't use static as it could result duplicated symbols 2018-07-16 06:17:38 +02:00
Alex Crichton
3ae27657a1 Try to fix intrinsics example on nightly 2018-07-12 09:29:32 -07:00
Alex Crichton
f8a81455d3 Merge pull request #247 from ljedrz/outdated_feature
Remove #![feature(i128_type)] as i128 is stable
2018-07-12 10:33:05 -05:00
Alex Crichton
4f50a214f7 Try to fix example's compile on nightly 2018-07-12 08:32:39 -07:00
ljedrz
806431c947 Remove #![feature(i128_type)] as i128 is stable 2018-07-12 14:40:56 +02:00
Alex Crichton
b3ffa4f2eb Upgrade compiler-rt submodule, mostly for sanitizers 2018-07-10 13:42:41 -07:00
Alex Crichton
47670a8fb3 Merge pull request #244 from qnighy/dynamic-stack-probing
Fix segfault on probestack with dynamic alloca.
2018-05-28 11:54:19 -05:00
Masaki Hara
bf7b7b9109 Explain why we need extra check in probestack. 2018-05-28 13:29:35 +09:00
Masaki Hara
247819f3a0 Fix segfault on probestack with dynamic alloca. 2018-05-27 23:28:17 +09:00
Alex Crichton
9b661f8216 Merge pull request #242 from alexcrichton/update-compiler-rt
Update compiler-rt
2018-05-14 11:12:35 -05:00
Alex Crichton
3f8bdca10d Allow failures on thumb for now 2018-05-14 06:56:42 -07:00
Alex Crichton
87fad11100 Update compiler-rt
Pick up a PR we forgot to backport
2018-05-14 06:55:34 -07:00
Alex Crichton
abf6fa3ae1 Merge pull request #241 from semarie/openbsd
use system library on openbsd
2018-05-12 14:02:43 -05:00
Alex Crichton
5f184b9b56 More attempts for intrinsics example 2018-05-12 07:21:36 -07:00
Sébastien Marie
c207fd3869 use system library on openbsd
compiler_rt is provided by default on OpenBSD, so use it instead of
rebuilding it from source.
2018-05-12 09:40:51 +02:00
Alex Crichton
f58152286a More CI fixes 2018-05-11 16:52:34 -07:00
Alex Crichton
99d7dde58d Attempt to fix tests on latest nightly 2018-05-11 16:45:30 -07:00
Alex Crichton
6249080093 Merge pull request #234 from ketsuban/master
Add __floatdisf and __floatundisf intrinsics
2018-04-05 10:06:16 -05:00
Thomas Winwood
ed6d12ecea Remove reference to C impl of float[un]disf 2018-04-05 15:03:44 +01:00
Alex Crichton
c4d02850d7 Merge pull request #238 from TimNN/fix-arm
Fix incorrect names used / generated on ARM
2018-03-27 15:08:06 +02:00
Tim Neumann
f83c8529e7 Fix incorrect names used / generated on ARM 2018-03-27 14:32:01 +02:00
Alex Crichton
1a3a5f7c3e Merge pull request #236 from mark-i-m/i128
stable_features allowed temporarily
2018-03-20 20:20:14 -05:00
Mark Mansi
635855abdd stable_features allowed temporarily 2018-03-20 19:16:13 -05:00
Alex Crichton
1fc7d3b173 Merge pull request #235 from mark-i-m/i128
i128 is being stabilized
2018-03-19 09:55:54 -05:00
Mark Mansi
b90fa1e14f Put back feature 2018-03-18 14:07:01 -05:00
Mark Mansi
f0f2db7490 i128 is being stabilized 2018-03-17 21:37:35 -05:00
Thomas Winwood
09d201db35 Add __floatdisf and __floatundisf intrinsics 2018-03-14 14:56:01 +00:00
Alex Crichton
831e8ef0ce Merge pull request #233 from paoloteti/arm-float
Add `ledf2vfp/leds2vfp`, add test cases for  `__unordsf2/__unorddf2` and re-enable thumb* targets
2018-02-26 10:49:57 -06:00
Paolo Teti
ad3a5b6826 Remove ledf2vfp.S and lesf2vfp.S from build list 2018-02-25 19:49:31 +01:00
Paolo Teti
9fbdac0e38 TravisCI: remove allow_failures for thumb* targets 2018-02-25 19:23:30 +01:00
Paolo Teti
6fedebb166 Add missing test cases for __unordsf2/__unorddf2 2018-02-25 18:35:36 +01:00
Paolo Teti
20de84d127 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
bors
66e230d331 Auto merge of #232 - paoloteti:fix-thumb-ci, r=alexcrichton
Fix CI for thumb* targets

Main fix is inside `utest` (implement Termination to avoid ICE) all the rest are minor fixes due to the new `testcrate`.

Thumb6m needs some extra fixes: some undefined reference and a panic raised removing assembly implementation not in the list.

Still allow failures on TravisCI and keep my `utest` fork for a while. Let's see if is stable.
2018-02-25 12:07:46 +00:00
Paolo Teti
d7799358e4 Remove no_std features
Everything default unconditionally to #![no_std].
2018-02-25 09:19:34 +01:00
Paolo Teti
81356ccde4 Keep mangled-names as a default feature 2018-02-25 01:11:49 +01:00
Paolo Teti
ef48c1984b testcrate/lib.rs: use #![no_std] unconditionally 2018-02-25 00:22:39 +01:00
Paolo Teti
e319f042fd Use upstream for utest
Fix has been merged into upstream.
2018-02-24 22:48:27 +01:00
Paolo Teti
64ea229988 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
63b78c86d9 Fix thumbv6m build (feature=c)
1. Avoid undefined references as:
   undefined reference to `__modsi3'
   undefined reference to `__umodsi3'

2. We can't remove assembly implementations that are not in the list
2018-02-16 17:34:01 +01:00
bors
3ef457499c Auto merge of #231 - paoloteti:vfp, r=alexcrichton
Collection of VFP intrinsics

Nothing really exciting here, just a list of trivial VFP intrinsics.

First of all set  `mfloat-abi=hard` not only for thumb targets, then add support for the following intrinsics:

```
 __gesf2vfp
 __gedf2vfp
 __gtsf2vfp
 __gtdf2vfp
 __ltsf2vfp
 __ltdf2vfp
 __nesf2vfp
 __nedf2vfp
 __eqsf2vfp
 __eqdf2vfp
 __extendsfdf2vfp
```
Resulting implementation is really trivial thanks to native code generated by LLVM on hard-float targets
2018-02-12 18:57:43 +00:00
Alex Crichton
ed1e8401ad Merge branch 'llvm-60' 2018-02-12 10:57:11 -08:00
Paolo Teti
347871f7ec Update Progress list
Already implemented, but not marked as done.
2018-02-12 18:23:55 +01:00
Paolo Teti
b2aea631fe 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
4e1ff92946 Set -mfloat-abi=hard not only for thumb targets 2018-02-11 21:23:59 +01:00
bors
6764f9f562 Auto merge of #230 - paoloteti:fix-extend, r=alexcrichton
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 20:50:27 +00:00
Paolo Teti
f70ccac08e Fix __subsf3 and __subdf3 on x86
Be sure to do not mix hard-float and soft-float calls.
Disassembled code show exactly this.
So replace add with an explicit call to __addsf3/__adddf3

This seems the root cause of some sporadic failures.
2018-02-09 20:35:55 +01:00
Paolo Teti
178b78b924 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
bors
fcdae341f2 Auto merge of #229 - paoloteti:extend, r=alexcrichton
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 21:55:46 +00:00
Paolo Teti
0af69177f9 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
bors
d82d158b49 Auto merge of #228 - paoloteti:eabihf, r=alexcrichton
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-05 05:18:36 +00:00