Commit Graph

2049 Commits

Author SHA1 Message Date
Ayrton
9e65060184 Add __truncdfsf2 intrinsic
This adds the truncdfsf2 intrinsic and a corresponding fuzz test case. The
implementation of trunc is generic to make it easy to add truncdfhs2 and
truncsfhf2 if rust ever gets `f16` support.
2021-12-12 15:01:34 -05:00
Amanieu d'Antras
c7dc3215a1 Bump to 0.1.56 2021-12-10 00:11:25 +00:00
Amanieu d'Antras
0928b32141 Fix clippy lints 2021-12-10 00:04:25 +00:00
Amanieu d'Antras
4abfecabef Import the asm! macro from core::arch
It is going to be removed from the prelude due to the decision in
https://github.com/rust-lang/rust/issues/87228
2021-12-09 23:57:26 +00:00
Amanieu d'Antras
c17d0c2780 Bump to 0.1.55 2021-11-28 15:30:04 +00:00
Amanieu d'Antras
c750277268 Ensure AArch64 LSE object files have distinct names in an archive
This is needed by libtool which rejects archives that contain object
files with the same name multiple times.

Fixes #443
2021-11-28 13:02:09 +00:00
Amanieu d'Antras
a01a61bd36 Bump to 0.1.54 2021-11-28 11:19:54 +00:00
William D. Jones
f275e26e3d Use fully-qualified syntax for abs_diff to avoid warning, which can trigger a compiler error. 2021-11-27 19:38:43 -05:00
William D. Jones
e6d7983889 Do not use atomic reads on platforms without atomic support in LLVM. 2021-11-27 17:47:46 -05:00
Amanieu d'Antras
54e028e964 Bump to 0.1.53 2021-11-25 00:01:25 +00:00
Alessandro Decina
d96a0a0877 Turn on the mem-unaligned feature for bpf targets
Fixes the following LLVM segfault:

 Error: e: 05:02:06 [ERROR] fatal error: "Cannot select: 0x55e970a357d0: i64,ch = AtomicLoad<(load unordered (s64) from %ir.45)> 0x55e970410be8, 0x55e970a358a0\n  0x55e970a358a0: i64,ch = CopyFromReg 0x55e970410be8, Register:i64 %19\n    0x55e970a35490: i64 = Register %19\nIn function: memcpy"
          PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
          Stack dump:
          0.	Running pass 'Function Pass Manager' on module 'unroll-loop'.
          1.	Running pass 'BPF DAG->DAG Pattern Instruction Selection' on function '@memcpy'
2021-11-21 07:07:14 +00:00
Amanieu d'Antras
8e7401a151 Bump to 0.1.52 2021-11-01 23:02:56 +00:00
Alex Crichton
9a01750b1b Use more concise directives 2021-10-28 16:32:30 -07:00
Alex Crichton
b7fb6c594a Adjust some build directives for wasm64
This is still an experimental target but this should get the wasm64
target to behave more like wasm32.
2021-10-28 10:29:37 -07:00
Amanieu d'Antras
2d12d7150a Bump to 0.1.51 2021-10-17 01:41:40 +02:00
Scott Mabin
3b4d10f6bc Add xtensa to list of soft math targets. 2021-10-16 15:27:40 +01:00
Georgy Shepelev
29dd109959 expose some math to UEFI envs 2021-10-15 23:18:56 +04:00
Amanieu d'Antras
a71b0e4493 Disable broken powerpc64 test due to https://github.com/rust-lang/rust/issues/88520 2021-10-15 02:11:12 +02:00
Amanieu d'Antras
abf75cc713 Bump to 0.1.50 2021-09-01 00:22:59 +02:00
Gary Guo
1f0cbb2945 Use atomic_load_unordered for first word load in misaligned case 2021-08-31 00:22:43 +01:00
Gary Guo
709bd6e11c Add different misaligned path for archs with unaligned support 2021-08-21 03:48:56 +01:00
Gary Guo
8535675a17 Add misaligned benchmarks 2021-08-21 03:03:06 +01:00
Gary Guo
45715eb7f7 Implement word-sized copy 2021-08-21 03:03:06 +01:00
Gary Guo
d282412f70 Add test cases for memcpy, memmove and memset for different alignment 2021-08-21 03:01:39 +01:00
Amanieu d'Antras
4ffaedd2e3 Bump to 0.1.49 2021-07-30 18:49:46 +02:00
Amanieu d'Antras
502370f277 Don't panic if the shift intrinsics receive out-of-range shifts
LLVM sometimes emits calls with out-of-range shifts but then discards
the results. We should avoid panics in these cases.
2021-07-30 00:25:36 +02:00
Amanieu d'Antras
2e7151205e Bump to 0.1.48 2021-07-28 22:30:59 +02:00
Wesley Wiser
ba100707db Don't try to build out-of-line aarch64 atomics with the msvc toolchain
The msvc toolchain does not support building `.s` files, clang only
supports generating out-of-line atomics on Linux and gcc does not
support aarch64 for Windows at all. Therefore, we don't need to compile
`lse.s` on `aarch64-pc-windows-msvc`.
2021-07-28 13:57:03 -04:00
Amanieu d'Antras
b1440f2b0a Bump to 0.1.47 2021-07-14 21:40:46 +02:00
Rich Kadel
6ff8257858 Support long double intrinsics in any aarch64 linux
Expands the support added in #377 from just musl to any linux.

Also checks for and avoids adding duplicate sources.

Fixes #428
2021-07-14 11:17:27 -07:00
SuKiN-a
5428334eaa updated link to musl website 2021-07-09 09:52:08 +05:30
Brian Vincent
5f23bf3c9b Optimize round and roundf 2021-06-30 22:35:47 -05:00
Jethro Beekman
0534e104f3 Update libm 2021-06-25 11:52:14 +02:00
Jethro Beekman
eedfb239a3 Fix substract with borrow in FMA
Fixes rust-lang/libm#242
2021-06-24 15:59:32 +02:00
Jethro Beekman
a9c912c42f Fix build failure with latest nightly 2021-06-24 15:59:32 +02:00
Amanieu d'Antras
bca8bedb93 Bump to 0.1.45 2021-06-04 00:20:57 +01:00
Amanieu d'Antras
77d9a28bbb Fix build on targets with fewer than 3 components in their name 2021-06-03 22:59:34 +01:00
Amanieu d'Antras
da6b017a73 Merge pull request #424 from AaronKutch/issue422
Add public-test-deps feature for better visibility control
2021-06-03 08:03:04 +01:00
Aaron Kutch
fdcc30c3a3 Add public-test-deps feature for better visibility control 2021-06-02 14:13:54 -05:00
Amanieu d'Antras
bc956a7695 Bump to 0.1.44 2021-06-01 19:08:32 +01:00
Tilmann Meyer
31e3ae708c Include Linux atomic emulation on androideabi
The old androideabi uses armv5 and thus also needs the atomic emulation
and because Android is basically Linux it can use the same
implementation.
2021-05-31 16:32:46 +02:00
Yuki Okushi
c041104afd Suppress some warnings 2021-05-31 20:53:15 +09:00
Amanieu d'Antras
924d718511 Bump to 0.1.43 2021-05-13 21:41:46 +01:00
Amanieu d'Antras
1630c86e07 Don't embed lse_*.a inside another static library 2021-05-13 21:35:34 +01:00
Amanieu d'Antras
fcf675bf4a Bump to 0.1.42 2021-05-02 22:12:49 +01:00
Amanieu d'Antras
fdbeb187ec Add missing .att_syntax from #414 2021-05-02 21:29:00 +01:00
Amanieu d'Antras
a77e15f562 Bump to 0.1.41 2021-04-30 21:03:06 +01:00
Josh Triplett
fee637a7b6 Update the version of compiler-rt in CI 2021-04-30 12:24:12 -07:00
Josh Triplett
79c1e33364 Make the name of the intermediate library more closely match the intrinsic 2021-04-30 12:15:32 -07:00
Josh Triplett
df8e6f179a Require lse.S (now available in current LLVM) 2021-04-30 12:15:32 -07:00