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
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
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
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
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