Commit Graph

2078 Commits

Author SHA1 Message Date
Amanieu d'Antras
96339ec86d Bump to 0.1.70 2022-02-16 01:18:05 +00:00
Nikita Popov
0575846f80 Handle Win64 builtins ABI change in LLVM 14
As of https://reviews.llvm.org/D110413, these no longer use the
unadjusted ABI (and use normal C ABI instead, passing i128
indirectly and returning it as <2 x i64>).

To support both LLVM 14 and older versions, rustc will expose a
"llvm14-builtins-abi" target feature, based on which
compiler-builtins can chose the appropriate ABI.

This is needed for rust-lang/rust#93577.
2022-02-15 16:29:29 +01:00
Amanieu d'Antras
e771805ee5 Bump to 0.1.69 2022-02-09 21:02:02 +00:00
Amanieu d'Antras
5bdeade2c4 Fix typo in __aeabi_uldivmod
Accidentally introduced in #452
2022-02-09 21:01:07 +00:00
Amanieu d'Antras
2f988a88ff Bump to 0.1.68 2022-02-06 09:59:11 +00:00
Amanieu d'Antras
f34d42cf49 Update libm submodule to 0.2.2 2022-02-06 09:53:16 +00:00
Amanieu d'Antras
76f02fa2db Bump to 0.2.2 2022-02-06 09:52:15 +00:00
Amanieu d'Antras
e346c7c408 Merge pull request #452 from Amanieu/intrinsic_mod 2022-02-06 09:49:01 +00:00
Amanieu d'Antras
f03c7fd6af Wrap all intrinsics in the intrinsics! macro
This ensures that each intrinsic ends up in a separate module, which in
turn (because rustc treats compiler_builtins specially) will result in
each intrinsic ending up in its own object file. This allows the linker
to only pick up object files for intrinsics that are missing and avoids
duplicate symbol definition errors.
2022-02-06 09:20:43 +00:00
Amanieu d'Antras
c51299d63a Fix run-docker.sh so it can be run locally 2022-02-06 09:20:19 +00:00
Amanieu d'Antras
f5fa287bc2 Bump to 0.1.67 2022-01-28 12:47:27 +00:00
Daniel Sommermann
554fa533ab Stop emitting duplicate symbols for armv7-linux-androideabi
The change in 186517b3266a7bb2b2310927f7342ea7f41790c3 was intended to
affect only `arm-linux-androideabi` but also affected
`armv7-linux-androideabi` which is not a pre-ARMv6 architecture.
Fixes #449
2022-01-27 12:02:40 -08:00
Peter Michael Green
8d91281fcc Apply formatting fixes from CI 2022-01-04 21:16:11 +00:00
Peter Michael Green
f8c8c8b2fe allow force_eval! to produce a result and use that result to more explicitly force rounding on x87. 2022-01-04 21:06:28 +00:00
Peter Michael Green
94b416e496 only allow x87-specific result in j1f.rs test on x87 2022-01-04 20:59:42 +00:00
Peter Michael Green
e3c3304557 round to storage format in some tests before comparison to prevent spurious errors on x87. 2022-01-04 20:30:43 +00:00
Peter Michael Green
e95ea2b11d Add forced rounding to storage format for x87 to rem_pio2.rs as well. 2022-01-04 20:30:43 +00:00
Peter Michael Green
874209b56c Use force_eval instead of to_bits/from_bits combination,
Using to_bits/from_bits to force conversion to storage format
apparently doesn't work in release mode. Also add an architecture
conditional to avoid pessimising other architectures.
2022-01-04 20:30:43 +00:00
Peter Michael Green
17c9073298 Fix testcases on x87 2022-01-04 20:30:43 +00:00
Peter Michael Green
d3fb52a7af force test_near_pi in rem_pio2.rs to be evaluated at runtime not compiletime. 2022-01-04 20:30:43 +00:00
Amanieu d'Antras
eb26f75f63 Disable musl tests on powerpc64 2022-01-04 00:09:07 +01:00
Amanieu d'Antras
4f5d1524fd Fix no-panic 2022-01-03 21:32:08 +01:00
Amanieu d'Antras
54a57001f8 Ignore some functions which don't match musl 2022-01-03 20:34:47 +01:00
Amanieu d'Antras
7a67cce088 Disable i686-unknown-linux-gnu tests for now 2022-01-03 19:06:54 +01:00
Amanieu d'Antras
e36ee3b4b7 Disable powerpc64 tests which were broken by the LLVM 13 upgrade 2022-01-03 19:00:31 +01:00
Amanieu d'Antras
df4d9cd6cc Bump to 0.1.66 2021-12-13 02:25:49 +00:00
Ayrton
9124cdc7ec Remove truncdfsf2.c from sources in build.rs and add test for __truncdfsf2vfp
Also fixed the calling convention for truncdfsf2 on ARM
2021-12-12 21:12:42 -05:00
Ayrton
03b4f62337 Add __truncdfsf2vfp for ARM 2021-12-12 15:36:09 -05:00
Ayrton
39cd6082e4 Add attribute for ARM alias 2021-12-12 15:19:05 -05:00
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