Commit Graph

2049 Commits

Author SHA1 Message Date
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
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
Aaron Kutch
ffb386369b Use unreachable_unchecked 2020-08-14 15:31:56 -05:00
Aaron Kutch
11ae780481 Change inlining to favor three underlying division functions 2020-08-14 15:31:56 -05:00
Aaron Kutch
d1c8673332 Use specialized-div-rem 1.0.0 for division algorithms 2020-08-14 15:31:36 -05:00
Xiaoyu Lu
0a957ae73a Add uefi arch x86 probestack support
1. In UEFI x86 arch, probestack need triple underscore.

2.  In UEFI, probestack function do things like _chkstk(in MSVC).
    MSVC x32's _chkstk and cygwin/mingw's _alloca adjust %esp themselves
    MSVC x64's __chkstk and cygwin/mingw's ___chkstk_ms do not adjust
    %rsp themselves.
    But current probestack doesn't adjust esp. And LLVM doesn't generate
    sub %eax, %esp after probestack. So we adjust esp in probestack like
    MSVC x32's _chkstk.
2020-08-14 16:26:37 +08:00
Max Audron
66f5688d60 add 32 bit shift instructions
* add 32 bit shift instructions to src/int/shift.rs
  __ashlsi3
  __ashrsi3
  __lshrsi3

* add int_impl! for 16 bit numbers and large_int! for i32 and u32

* add tests in testcrate/build.rs
2020-08-13 12:46:28 +02:00
Aaron Kutch
5386117b97 Remove unused code 2020-07-28 13:46:51 -05:00
Aaron Kutch
adbc0b24c5 Remove erroneous aapcs_on_arm and add maybe_use_optimized_c_shim 2020-07-28 13:46:51 -05:00
Aaron Kutch
3fda53a90d replace old soft division code with new functions 2020-07-28 13:46:50 -05:00
Aaron Kutch
981e803acd regularize the location and documentation of division functions 2020-07-28 13:46:50 -05:00
Aaron Kutch
7652f288d3 Improve __clzsi2 performance (#366) 2020-07-28 13:09:18 -05:00
Joseph Richey
d59b2875b5 lint: Allow improper_ctypes_definitions (#364)
https://github.com/rust-lang/rust/pull/72700 caused the existing
`allow(improper_ctypes)` guard to stop working, we now need
`allow(improper_ctypes_definitions)` instead.

We keep the old one to avoid any issues with older nightlies.

Signed-off-by: Joe Richey <joerichey@google.com>
2020-07-08 09:07:19 -05:00
kellda
2b0d14c89e Update CHANGELOG.md (#245) 2020-06-08 09:11:11 -05:00
Alex Crichton
4e71b65530 Bump to 0.1.32 2020-06-01 08:56:11 -07:00
jethrogb
96e3a08719 Manually patch ret instruction for LVI (#359)
Co-authored-by: Jethro Beekman <jethro@fortanix.com>
2020-06-01 10:55:42 -05:00
Alex Crichton
d1e1f04686 Bump to 0.1.31 2020-05-29 13:43:57 -07:00
Alex Crichton
e4293adbe1 Add back in unsafe for bootstrapping
And add an `#[allow]` for now to appease stage0
2020-05-29 13:43:21 -07:00
Alex Crichton
843c2261a9 Bump to 0.1.30 2020-05-29 13:41:09 -07:00
Alex Crichton
63982a3b9e Expand wasm32 testing on CI (#360)
* Expand wasm32 testing on CI

Run the full `run.sh` test script to get full assertions, including that
nothing in the wasm compiler-builtins is panicking. Unfortunately it's
currently panicking, so this is good to weed out!

* Update libm
2020-05-29 14:38:29 -05:00
Alex Crichton
72b440075e Use macros for more division/array checks (#244)
* Use macros for more division/array checks

This commit moves over more array accesses to the `i!` macro to avoid
bounds checks when debug assertions are disabled. This is surfaced from
rust-lang/compiler-builtins#360 where recent changes in codegen units
has caused some bounds checks to not get elided in release mode. This
also adds a `div!` macro to work around rust-lang/rust#72751.

* Don't test/bench our shim crate

It's not intended to run all our tests
2020-05-29 14:16:51 -05:00
Alex Crichton
a0f9847f1d Bump to 0.1.29 2020-05-26 13:12:24 -07:00
Tomasz Miąsko
ca827eb234 Use crate visibility for traits (#358)
Co-authored-by: Tomasz Miąsko <tomasz.miasko@gmail.com>
2020-05-26 15:12:10 -05:00
Eric Huss
a2840567da Add more targets to automatically select mem feature. (#357) 2020-05-22 16:12:06 -05:00
Alex Crichton
5c41a11e62 Bump to 0.1.28 2020-05-11 22:29:49 -07:00
Alex Crichton
0e69cc8817 Switch to using llvm_asm! instead of asm! (#351)
* Switch to using `llvm_asm!` instead of `asm!`

* Run rustfmt

* Fix how LTO is specified on nightly
2020-04-29 15:30:10 -05:00
Alex Crichton
67ec7e4ccf Bump to 0.1.27 2020-04-13 07:17:28 -07:00
Tomasz Miąsko
ef99c37aae Place intrinsics in individual object files (#349)
Co-authored-by: Tomasz Miąsko <tomasz.miasko@gmail.com>
2020-04-10 17:00:50 -05:00
Alex Crichton
fd781d567f Bump to 0.1.26 2020-02-28 11:01:42 -08:00
Andre Richter
569b87d602 aarch64: Exclude FP intrinsics on +nofp or +nosimd (#344)
`AArch64` GCCs exit with an error condition when they encounter any kind of
floating point code if the `nofp` and/or `nosimd` compiler flags have been set.

Therefore, evaluate if those flags are present and set a boolean that causes any
compiler-rt intrinsics that contain floating point source to be excluded for
this target.

This patch prepares https://github.com/rust-lang/rust/pull/68334
2020-02-28 13:01:22 -06:00
Wolfgang Silbermayr
c82ad6a294 Use lower-case file extension for LICENSE.txt
The `LICENSE.txt` file should be distributed to crates.io, but it wasn't
due to the `Cargo.toml` entry in the `includes` field being
`LICENSE.txt` with lower-case file extension while the file itself had
an upper-case extension.
2020-02-21 11:03:51 +01:00
Yuxiang Zhu
d370d2728b add mips/mips64 compiler-rt fallbacks so that libgcc is not required
This adds compiler-rt fallbacks for mips and mips64 arches.

Solves linking issues like https://github.com/rust-lang/rust/issues/57820.

Signed-off-by: Yuxiang Zhu <vfreex@gmail.com>
2020-02-13 03:33:56 +08:00
Alex Crichton
8e87d8a3b5 Bump to 0.1.25 2020-02-11 22:21:38 -08:00
Tyler Mandry
6677b55fcb Set probestack visibility to hidden on ELF targets (#340) 2020-02-11 22:21:12 -08:00
Alex Crichton
b2227dc559 Update CI installation of Rust on macos 2020-01-28 00:39:52 -08:00
Daniel Frampton
8647190d6c Don't modify the intrinsic abi for aarch64 windows (#337) 2020-01-14 15:28:10 -06:00
Adam Schwalm
328332003d Add separate rust_probestack definition for uefi (#335)
This is necessary because the Mach-O definition must have the
triple underscore, but the UEFI one must not.
2020-01-06 10:22:30 -06:00
Alex Crichton
643306f308 Bump to 0.1.23 2019-12-10 09:02:40 -08:00
Runji Wang
304028b2ed Fix compile error on x86_64-unknown-uefi target (#331)
* fix compile error on x86_64-unknown-uefi target

* Fix tests on nightly
2019-12-10 09:02:14 -08:00
Alex Crichton
c056e295e2 Bump to 1.0.22 2019-12-06 06:54:50 -08:00