Commit Graph

757 Commits

Author SHA1 Message Date
messense
6cd2f3ae40 Add compiler-rt fallbacks on mips64-musl 2021-04-03 11:20:09 +08:00
Amanieu d'Antras
c31c2e0556
Merge pull request #397 from AaronKutch/float_refactor 2021-04-02 23:36:28 +01:00
Aaron Kutch
500c8e0b2c add clippy to CI 2021-04-02 16:53:09 -05:00
Amanieu d'Antras
2608f8392c Replace llvm_asm! with asm! 2021-04-02 20:43:11 +01:00
Aaron Kutch
5221cef1fc Remove rand dependency, update rand_xoshiro 2021-04-02 09:35:01 -05:00
Aaron Kutch
9ae3728e5e fix CTFE cycle 2021-04-02 09:24:00 -05:00
Aaron Kutch
1cf47804df Fix all clippy warnings 2021-04-02 08:58:50 -05:00
Aaron Kutch
1d9d761e9f Fix panic-handler documentation
rust-lang/rust#51647 is fixed but panic-handler is still needed
2021-04-02 08:58:50 -05:00
Aaron Kutch
94af8a8268 Delete redundant tests
The old tests were hacky and did not cover nearly as many cases as the new tests do.
2021-04-02 08:58:50 -05:00
Aaron Kutch
3871282eee fix powi 2021-04-02 08:58:50 -05:00
Aaron Kutch
96a6110d69 add remaining floating point tests 2021-04-02 08:58:50 -05:00
Aaron Kutch
ec4fc5dab5 refactor float conversion 2021-04-02 08:58:50 -05:00
Aaron Kutch
0ce47b3c1f fix abs_diff bug 2021-04-02 08:57:25 -05:00
Amanieu d'Antras
bffd24076b
Merge pull request #406 from bjorn3/less_rust_intrinsics
Remove unused __rust_* shift intrinsics
2021-04-02 12:59:26 +01:00
Amanieu d'Antras
ef3f53dbb5
Merge pull request #404 from est31/master
Use the newly stabilized BITS constant on the integer types
2021-04-02 12:56:39 +01:00
Amanieu d'Antras
880ec8bb83 Disable AArch64 FP-to-int tests
This is a temporary workaround for https://github.com/rust-lang/rust/issues/83467
2021-04-02 12:36:57 +01:00
bjorn3
c75621f12c Remove unused __rust_* shift intrinsics
They are rust specific and used by neither cg_llvm nor cg_clif
2021-02-21 11:36:47 +01:00
est31
57205c0b86 Use the newly stabilized BITS constant on the integer types 2021-02-05 23:40:17 +01:00
Amanieu d'Antras
80fb6752fa Bump to 0.1.39 2021-01-06 23:39:48 +00:00
Aaron Kutch
e5b667554e
Remove count_ones (#399) 2021-01-04 09:17:44 -06:00
Amanieu d'Antras
f0a9f9e3e1 Bump to 0.1.38 2020-12-12 12:11:21 +00:00
Yuki Okushi
7645c0b869 Use the AT&T syntax to support old LLVM on rust-lang/rust 2020-12-11 22:23:00 +09:00
Amanieu d'Antras
176ae46ff8 Bump to 0.1.37 2020-12-09 12:17:29 +00:00
Aaron Kutch
69a3c571f7 Completely overhaul fuzz testing
adds testing for almost every numerical intrinsic
2020-12-08 11:42:28 -06:00
Aaron Kutch
f61c411e2b fix some clippy warnings 2020-12-07 23:26:26 -06:00
Aaron Kutch
26681724f3 replace some transmutes 2020-12-07 23:26:25 -06:00
Aaron Kutch
cb4e9755b8 Remove WideInt 2020-12-07 23:26:13 -06:00
Aaron Kutch
fac884b0c4 Completely replace LargeInt 2020-12-07 23:20:39 -06:00
Aaron Kutch
d5b7e2b6d3 Overhaul overflowing multiplication impls 2020-12-07 23:20:39 -06:00
Aaron Kutch
e049a30964 Introduce the DInt and HInt traits
and add various methods that will be used for improved fuzzing
2020-11-27 23:38:30 -06:00
Aaron Kutch
ea7feb2e0f Remove aapcs_on_arm mistake 2020-11-27 23:38:30 -06:00
Aaron Kutch
a7548bea0d
fix division on SPARC (#393) 2020-11-23 09:05:02 -06:00
Alex Crichton
82bee10b5b
Update CI to fix on GitHub Actions (#394)
Should hopefully fix the master branch...
2020-11-20 10:29:35 -06:00
Joseph Richey
5c294cedc0
Move from an "asm" flag to a "no-asm" feature flag (#386)
* Use a no-asm feature instead of an asm feature

This works better as core/alloc/std have trouble supporting default
featues in this crate.

Signed-off-by: Joe Richey <joerichey@google.com>

* Have no-asm disable arm assembly intrinsics

Signed-off-by: Joe Richey <joerichey@google.com>
2020-11-09 09:24:25 -06:00
Joseph Richey
53daa3c593
Use REP MOVSB/STOSB when the ERMSB feature is present (#392)
* Reorganize mem functions

This reduces the amount of platform-specific code

Signed-off-by: Joe Richey <joerichey@google.com>

* Use ERMSB implementations if the feature is set

Signed-off-by: Joe Richey <joerichey@google.com>

* Add non-aligned benchmarks

Signed-off-by: Joe Richey <joerichey@google.com>
2020-11-03 08:57:08 -06:00
Robert Jördens
a97fe5f1d3
math: add {fmin,fmax}{f,} for thumb*-none-eabi* (#389)
These are exposed in core::f32

close #354 
c.f. rust-lang/rust#62729
Patch from @whitequark (https://paste.debian.net/1168430/)
2020-10-26 11:37:02 -05:00
Joseph Richey
34e35d74b6
Use REP MOVSQ/STOSQ on x86_64 (#365)
* mem: Move mem* functions to separate directory

Signed-off-by: Joe Richey <joerichey@google.com>

* memcpy: Create separate memcpy.rs file

Signed-off-by: Joe Richey <joerichey@google.com>

* benches: Add benchmarks for mem* functions

This allows comparing the "normal" implementations to the
implementations provided by this crate.

Signed-off-by: Joe Richey <joerichey@google.com>

* mem: Add REP MOVSB/STOSB implementations

The assembly generated seems correct:
    https://rust.godbolt.org/z/GGnec8

Signed-off-by: Joe Richey <joerichey@google.com>

* mem: Add documentations for REP string insturctions

Signed-off-by: Joe Richey <joerichey@google.com>

* Use quad-word rep string instructions

Signed-off-by: Joe Richey <joerichey@google.com>

* Prevent panic when compiled in debug mode

Signed-off-by: Joe Richey <joerichey@google.com>

* Add tests for mem* functions

Signed-off-by: Joe Richey <joerichey@google.com>

* Add build/test with the "asm" feature

Signed-off-by: Joe Richey <joerichey@google.com>

* Add byte length to Bencher

Signed-off-by: Joe Richey <joerichey@google.com>
2020-10-24 10:58:04 -05:00
pca006132
f9bf5fee78
Use weak linkage for aeabi memory functions (#385) 2020-10-14 11:10:38 -05:00
Aaron Kutch
d2a2525035 Hide macros and functions
These macros and functions are only in the public interface for testing purposes or because of `#[macro_export]` pollution
2020-10-02 23:26:12 -05:00
Aaron Kutch
756a9dea00 Construct signed division functions differently 2020-10-02 22:55:31 -05:00
Aaron Kutch
1dfa14595e Remove unneeded code from asymmetric.rs
Rebenchmarking this showed that perf changed for the worse only on really low end CPUs
2020-10-02 16:35:55 -05:00
Amanieu d'Antras
53b15eaba2 Bump to 0.1.36 2020-09-13 20:47:25 +01:00
Amanieu d'Antras
9c3ea6ad97
Merge pull request #332 from AaronKutch/issue-265 2020-09-03 20:52:23 +01:00
Amanieu d'Antras
2df3b161f6
Merge pull request #372 from xiaoyuxlu/uefi_x86_target_probestack
Add uefi arch x86 probestack support
2020-09-03 20:27:14 +01:00
Amanieu d'Antras
cf75c5dc21
Merge pull request #371 from maxaudron/master
add 32 bit shift instructions
2020-09-03 20:25:09 +01:00
Aaron Kutch
92f0680743 Add __divmodti4 2020-08-29 18:02:57 -05:00
Amanieu d'Antras
c9c145c6d7 Bump to 0.1.35
This time using the proper procedure for including libm.
2020-08-28 01:35:29 +01:00
Amanieu d'Antras
29cfa6fba9 Bump to 0.1.34
0.1.33 was published without the libm submodule
2020-08-27 17:50:24 +01:00
Amanieu d'Antras
9daf318bef Bump to 0.1.33 2020-08-24 12:45:58 +01:00
Thomas Vigouroux
29791313f5 add compiler-rt fallbacks on aarch64-musl 2020-08-24 13:28:32 +02:00