Commit Graph

714 Commits

Author SHA1 Message Date
Jorge Aparicio 3d005629b8 expose fmod{,f} symbols on thumb
these symbols are required for the built-in operation `f32 % f32`
2018-07-24 13:26:50 -05:00
Alex Crichton b4a3645cfe
Merge pull request #248 from japaric/libm
expose math symbols on wasm32-unknown-unknown
2018-07-18 12:08:14 -05:00
Alex Crichton d73ccba988 Use `intrinsics!` macro for math intrinsics
Make sure they respect the `mangled-names` feature as well as have the `"C"`
ABI.
2018-07-18 10:04:33 -07:00
Jorge Aparicio cc78ff665d fix path 2018-07-18 11:36:24 -05:00
Jorge Aparicio 36f93dbd79 expose math symbol on wasm32-unknown-unknown 2018-07-18 11:34:20 -05:00
Alex Crichton 5d370bb352 Don't build multc3 on AArch64 MSVC
Apparently it doesn't compile due to an odd compiler error! This intrinsic has
to do with complex arithmetic anyway and we shouldn't need it.
2018-07-16 16:37:57 -07:00
Alex Crichton ec413b2b67
Merge pull request #249 from semarie/openbsd
openbsd: doesn't use `static` as it could result duplicated symbols
2018-07-16 09:01:09 -05:00
Sébastien Marie ffffe2ed64 openbsd: doesn't use `static` as it could result duplicated symbols 2018-07-16 06:17:38 +02:00
Alex Crichton 182450f20c Try to fix intrinsics example on nightly 2018-07-12 09:29:32 -07:00
Alex Crichton 8142298fe6
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 5b5b2581e4 Try to fix example's compile on nightly 2018-07-12 08:32:39 -07:00
ljedrz 411a12fc02 Remove #![feature(i128_type)] as i128 is stable 2018-07-12 14:40:56 +02:00
Alex Crichton 86bf357a14 Upgrade compiler-rt submodule, mostly for sanitizers 2018-07-10 13:42:41 -07:00
Alex Crichton 6eb8f8d710
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 1d15be6a86 Explain why we need extra check in probestack. 2018-05-28 13:29:35 +09:00
Masaki Hara 56293ad7c7 Fix segfault on probestack with dynamic alloca. 2018-05-27 23:28:17 +09:00
Alex Crichton 28daccd915
Merge pull request #242 from alexcrichton/update-compiler-rt
Update compiler-rt
2018-05-14 11:12:35 -05:00
Alex Crichton 575612347c Allow failures on thumb for now 2018-05-14 06:56:42 -07:00
Alex Crichton c1df86bb46 Update compiler-rt
Pick up a PR we forgot to backport
2018-05-14 06:55:34 -07:00
Alex Crichton 4cfd7101eb
Merge pull request #241 from semarie/openbsd
use system library on openbsd
2018-05-12 14:02:43 -05:00
Alex Crichton 5f9bbc924b More attempts for intrinsics example 2018-05-12 07:21:36 -07:00
Sébastien Marie d8bbc81016 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 e423f3c64b More CI fixes 2018-05-11 16:52:34 -07:00
Alex Crichton e73b81e2d5 Attempt to fix tests on latest nightly 2018-05-11 16:45:30 -07:00
Alex Crichton cb04a0718b
Merge pull request #234 from ketsuban/master
Add __floatdisf and __floatundisf intrinsics
2018-04-05 10:06:16 -05:00
Thomas Winwood e3dda36162
Remove reference to C impl of float[un]disf 2018-04-05 15:03:44 +01:00
Alex Crichton 2a2f6d96c8
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 5be54652e9 Fix incorrect names used / generated on ARM 2018-03-27 14:32:01 +02:00
Alex Crichton 263a703b10
Merge pull request #236 from mark-i-m/i128
stable_features allowed temporarily
2018-03-20 20:20:14 -05:00
Mark Mansi 09974df5a7 stable_features allowed temporarily 2018-03-20 19:16:13 -05:00
Alex Crichton 34f5d4aa38
Merge pull request #235 from mark-i-m/i128
i128 is being stabilized
2018-03-19 09:55:54 -05:00
Mark Mansi 29816fc5d7 Put back feature 2018-03-18 14:07:01 -05:00
Mark Mansi 0ca2a57f1b i128 is being stabilized 2018-03-17 21:37:35 -05:00
Thomas Winwood 92b259c3ad Add __floatdisf and __floatundisf intrinsics 2018-03-14 14:56:01 +00:00
Alex Crichton 8fe94f3553
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 463a127ea9 Remove ledf2vfp.S and lesf2vfp.S from build list 2018-02-25 19:49:31 +01:00
Paolo Teti 3a0a96dc00 TravisCI: remove allow_failures for thumb* targets 2018-02-25 19:23:30 +01: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
bors cfecfa2918 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 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 280012b1df 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 266ea0740a 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 7c11f5c018 Merge branch 'llvm-60' 2018-02-12 10:57:11 -08:00
Paolo Teti 2467bd2cbf Update Progress list
Already implemented, but not marked as done.
2018-02-12 18:23:55 +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