Commit graph

886 commits

Author SHA1 Message Date
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
91825e62fe
Merge pull request #409 from Amanieu/workaround_83467
Disable AArch64 FP-to-int tests
2021-04-02 12:55: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
Amanieu d'Antras
608ad3ad20
Merge pull request #396 from JohnTitor/intel-to-att
Use the AT&T syntax to support old LLVM on rust-lang/rust
2020-12-11 19:42:19 +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
Amanieu d'Antras
a6fc3b5024
Merge pull request #384 from AaronKutch/issue-367 2020-12-08 18:57:51 +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
Amanieu d'Antras
a918047f92
Merge pull request #380 from AaronKutch/division-tweaks 2020-10-10 14:55:00 +01: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
Amanieu d'Antras
6dd9f50775
Merge pull request #377 from vigoux/aarch64-musl-fallback
Add compiler-rt fallbacks on aarch64-musl
2020-08-24 12:45:05 +01:00
Thomas Vigouroux
29791313f5 add compiler-rt fallbacks on aarch64-musl 2020-08-24 13:28:32 +02:00
Amanieu d'Antras
579510b8e2
Merge pull request #375 from Amanieu/fix_ci
Fix CI url for compiler-rt source
2020-08-23 23:49:57 +01:00
Amanieu d'Antras
51e969665e Fix CI url for compiler-rt source 2020-08-23 23:31:51 +01:00
Amanieu d'Antras
b6ee34a330
Merge pull request #341 from vfreex/add-mips-compiler-rt-fallback
add mips/mips64 compiler-rt fallbacks so that libgcc is not required
2020-08-23 23:27:05 +01:00