Commit graph

1391 commits

Author SHA1 Message Date
github-actions[bot]
41df199623
chore: release 2024-08-06 21:48:51 +00:00
Amanieu d'Antras
54f851d68f
Merge pull request #656 from tgross35/public-test-deps 2024-08-06 22:48:19 +01:00
Trevor Gross
976881c9c9 Eliminate the use of public_test_dep!
Replace `public_test_dep!` by placing optionally public items into new
modules, then controlling what is exported with the `public-test-deps`
feature.

This is nicer for automatic formatting and diagnostics.
2024-08-06 02:30:48 -05:00
Amanieu d'Antras
e7912d3dca
Merge pull request #658 from tgross35/emscripten-fix 2024-08-05 22:58:15 +01:00
Trevor Gross
5a4ccab866 Fix emscripten as os rather than env.
b7af6078 ("Switch to a target structure...") is checking whether the
target environment is emscripten, but it seems emscripten is the OS. Fix
this, which should resolve the issue in
<https://github.com/rust-lang/rust/pull/128691#issuecomment-2269933428>.
2024-08-05 16:26:27 -05:00
Amanieu d'Antras
041e8a72d2
Merge pull request #657 from rust-lang/release-plz-2024-08-04T23-17-24Z
chore: release v0.1.115
2024-08-05 13:36:40 +01:00
github-actions[bot]
72e745ff9c
chore: release 2024-08-04 23:17:25 +00:00
Amanieu d'Antras
035f1fff6e
Merge pull request #652 from tgross35/control-f16-f128-feature 2024-08-05 00:16:55 +01:00
Trevor Gross
e0e6243b21 Update float conversion tests
Since there are more platforms that do not have symbols present, we need
to use `rustc_apfloat` for more conversion tests. Make use of the
fallback like other tests, and refactor so each test gets its own
function.

Previously we were testing both apfloat and system conversion methods
when possible. This changes to only test one or the other, depending on
whether or not the system version is available. This seems reasonable
because it is consistent with all other tests, but we should consider
updating all tests to check both at some point.

This also includes an adjustment of PowerPC configuration to account for
the linking errors at [1].

[1]: https://github.com/rust-lang/compiler-builtins/issues/655
2024-08-03 02:07:06 -04:00
Trevor Gross
b6c2b6ebf7 Update to the latest rustc_apfloat
The latest version has a convenient `.unwrap()`. Increase the version so
we can use this.
2024-08-03 02:02:44 -04:00
Trevor Gross
1cdeaed9f9 Correct sys_avialable for f64 -> f16 truncation
The `sys_available` gate was incorrect. Update it.
2024-08-03 02:02:44 -04:00
Trevor Gross
db8daebd5b Update which platforms have no f16 symbols
Previously we were building the C versions of these symbols. Since we
added the Rust version and updated compiler builtins, these are no
longer available by default. This is unintentional, but it gives a
better indicator of which symbol versions are not actually provided by
the system.

Use the list of build failures to correct the list of platforms that do
not have `f16` symbols.
2024-08-03 02:02:44 -04:00
Trevor Gross
8199433bb2 Make use of new f16 and f128 config options
Change from `not(feature = "no-f16-f128")` to `f16_enabled` or
`f128_disabled`, as applicable.
2024-08-03 02:02:44 -04:00
Trevor Gross
b168f56dd4 Configure which platforms get f16 and f128 enabled by default
By moving the logic for which platforms get symbols to
`compiler_builtins` rather than rust-lang/rust, we can control where
symbols get enabled without relying on Cargo features. Using Cargo
features turned out to be a problem in [1].

This will help resolve errors like [2].

[1]: https://github.com/rust-lang/rust/issues/128358
[2]: https://github.com/rust-lang/rust/issues/128401
2024-08-03 02:02:44 -04:00
Trevor Gross
b32758cdc2 Add back remaining config on arm_aeabi_alias
Intrinsics marked with `arm_aeabi_alias = ...` were having the rest of
their attributes eaten. Add them back.
2024-08-03 02:02:44 -04:00
Trevor Gross
22e4aa37da Switch to a target structure in build.rs 2024-08-03 02:02:41 -04:00
Amanieu d'Antras
31ae2e4084
Merge pull request #648 from rust-lang/release-plz-2024-07-28T21-08-00Z
chore: release v0.1.114
2024-07-28 23:32:50 +01:00
github-actions[bot]
85d4ef72c8
chore: release 2024-07-28 21:08:01 +00:00
Amanieu d'Antras
c6f82f54f4
Merge pull request #647 from tgross35/patch-1
Set allow_dirty to release-plz
2024-07-28 22:07:36 +01:00
Trevor Gross
99456ad08e
Set allow_dirty to release-plz
This should resolve the issue in
<https://github.com/rust-lang/compiler-builtins/pull/643#issuecomment-2254641520>
2024-07-28 17:00:41 -04:00
Amanieu d'Antras
955e7724b1
Merge pull request #643 from tgross35/ci-releases
Add `release-plz` for automatic releases.
2024-07-28 21:55:13 +01:00
Trevor Gross
364dd5fd5b Add release-plz for automatic releases.
This is what `cc-rs` is using and should create a release PR whenever a
change to `master` is made. If the branch is merged, it should publish
the new version.

Includes configuration to disable semver checks and not keep a changelog
since this is an implementation detail.
2024-07-26 23:45:35 -04:00
Amanieu d'Antras
1b28d626b4
Merge pull request #645 from tea/ctz
Implement __ctz*i2 intrinsics
2024-07-26 22:35:09 +01:00
Andrey Turkin
adabbe73d9 Implement __ctz*i2 intrinsics 2024-07-25 19:26:02 +03:00
Amanieu d'Antras
1ea8f24abf
Merge pull request #644 from tgross35/update-readme
Sync readme intrinsics with LLVM
2024-07-24 13:12:43 +01:00
Trevor Gross
6ef2b95d46 Add missing symbols from compiler-rt to the README 2024-07-24 13:06:15 +01:00
Trevor Gross
fb27c7283c Move IBM extended double to the unneeded section 2024-07-24 13:06:15 +01:00
Trevor Gross
a96c82123e Remove a broken link in README 2024-07-24 13:06:15 +01:00
Amanieu d'Antras
ad7c6b3af4
Merge pull request #639 from tea/clz
Implement remaining __clz*i2 intrinsics
2024-07-24 12:57:02 +01:00
Andrey Turkin
cc64c7978e Never use C version of clz builtins 2024-07-24 12:50:04 +01:00
Andrey Turkin
a5c7a17d55 Implement remaining __clz*i2 intrinsics 2024-07-24 12:50:04 +01:00
Amanieu d'Antras
e01e62aa16
Merge pull request #642 from tgross35/android-testing-fix
Fix missing `extern "C"` on `unsafe` intrinsics
2024-07-24 12:44:54 +01:00
Trevor Gross
ddd97dc19a Fix missing extern "C" for unsafe functions
`unsafe` functions were being matched in a different block that did not
include `extern $abi`. This means that some intrinsics were getting
generated with the Rust ABI rather than C.

Combine the last two blocks using an optional token matcher, which fixes
this problem and is cleaner.
2024-07-23 04:35:04 -05:00
Amanieu d'Antras
56a2c50613
Merge pull request #633 from tea/bswap
Implement __bswap[si]i2 intrinsics
2024-07-06 11:58:12 +02:00
Andrey Turkin
45465cc488 Implement __bswap[sdt]i2 intrinsics
These can be emitted by gcc, at least if requested specifically via __builtin_bswap{32,64,128}.
2024-07-06 11:51:52 +02:00
Amanieu d'Antras
34aa493499
Merge pull request #634 from tea/extern_crate
Get rid of a warning
2024-07-06 11:51:38 +02:00
Andrey Turkin
98195c0348 Get rid of a warning 2024-07-06 05:19:37 +03:00
Amanieu d'Antras
194efcd5bf
Merge pull request #638 from tgross35/remove-bench-files
Remove unnecessary benchmark files
2024-07-05 22:25:36 +02:00
Trevor Gross
32b12b647b Remove unnecessary benchmark files 2024-07-05 22:17:50 +02:00
Amanieu d'Antras
b4b18c6585
Merge pull request #637 from beetrees/fix-float-mul
Fix incorrect rounding with subnormal/zero results of float multiplication
2024-07-05 22:17:22 +02:00
beetrees
086a1c33eb
Temporarily use define_rust_probestack; 2024-07-01 07:42:22 +01:00
beetrees
c6bf88ab1c
Ignore broken nightly/system builtins 2024-07-01 07:42:22 +01:00
beetrees
ffb31aee13
Fix incorrect rounding with subnormal/zero results of float multiplication 2024-06-30 22:03:33 +01:00
Amanieu d'Antras
cea216b195
Merge pull request #631 from tgross35/try-enabling-tests
Enable `f128 -> f16` tests on Linux
2024-06-26 00:01:31 +02:00
Trevor Gross
55b3f8b13d Enable f128 -> f16 tests on Linux
Since updating the docker images in
<https://github.com/rust-lang/compiler-builtins/pull/625>, it looks like
`__extendhftf2` and `__trunctfhf2` are available on all 64-bit Linux
platforms.
2024-06-25 23:57:08 +02:00
Amanieu d'Antras
1c022f42cc
Merge pull request #635 from Amanieu/release-0.1.113
Release 0.1.113
2024-06-25 23:56:47 +02:00
Amanieu d'Antras
1d7f2847e3 Release 0.1.113 2024-06-25 22:52:36 +01:00
Amanieu d'Antras
e5c0023bf5
Merge pull request #632 from beetrees/fix-avr
Fix building on AVR
2024-06-25 23:47:20 +02:00
beetrees
bf503b5c9b
Fix building on AVR 2024-06-23 19:19:25 +01:00
Amanieu d'Antras
cdd0084cfd
Merge pull request #629 from tgross35/fix-script
Fix unset variables in the build script
2024-06-22 16:20:27 +02:00