Commit graph

1440 commits

Author SHA1 Message Date
github-actions[bot]
22ef22e30b
chore: release 2024-09-11 17:09:04 +00:00
Trevor Gross
bb5086fbf0
Merge pull request #686 from folkertdev/use-naked-asm
use `naked_asm!` in `#[naked]` functions
2024-09-11 19:08:18 +02:00
Folkert de Vries
1a343b6118 use naked_asm! in #[naked] functions 2024-09-11 12:01:15 +02:00
Trevor Gross
9acaa28d7d
Merge pull request #684 from rust-lang/release-plz-2024-09-04T02-56-14Z
chore: release v0.1.125
2024-09-05 12:21:58 -04:00
github-actions[bot]
0711291229
chore: release 2024-09-05 16:14:31 +00:00
Trevor Gross
269a7ef042
Merge pull request #685 from alexcrichton/wams-div128
Use the trifecta div algorithm for 128-bit div on wasm
2024-09-05 12:14:05 -04:00
Alex Crichton
625462202e Use the trifecta div algorithm for 128-bit div on wasm
This commit updates the `#[cfg]` annotations used to select the
implementation of 128-bit division in compiler-builtins on wasm targets.
This is done with relation to
https://github.com/WebAssembly/128-bit-arithmetic where performance of
128-bit operations is being investigated on WebAssembly. While I don't
know much about the particulars of the two algorithms involved here the
comments indicate that the "trifecta" variant is preferred if possible
but it's not selected on 32-bit architectures. This rationale isn't as
applicable to WebAssembly targets because despite the 32-bit pointer
width there are often wider-than-pointer operations available as it's
typically run on 64-bit machines.

Locally in testing a benchmark that performs division with a Rust-based
bignum libraries whent from 350% slower-than-native to 220%
slower-than-native with this change, a nice increase in speed. While
this was tested with Wasmtime other runtimes are likely to see an
improvement as well.
2024-09-05 09:03:28 -07:00
Sbstn Bcht
69406c118a
Remove unsupported *vfp functions (#678)
Remove all *vfp functions and related tests since LLVM no longer emits them.

Link: https://github.com/rust-lang/compiler-builtins/pull/626

[ Reword commit message - Trevor ]
2024-09-03 22:55:44 -04:00
Trevor Gross
6a78d7c2b6
Merge pull request #683 from rust-lang/release-plz-2024-09-01T03-20-30Z
chore: release v0.1.124
2024-08-31 22:27:25 -05:00
github-actions[bot]
39920c73dd
chore: release 2024-09-01 03:20:30 +00:00
Trevor Gross
c371c4e81a
Merge pull request #682 from CodeLinaro/bcain/dunders
[hexagon] Remove aliases w/o leading __
2024-08-31 22:20:06 -05:00
Brian Cain
a3a5a00b9a [hexagon] Remove aliases w/o leading __
These hexagon builtins incorrectly created aliases in the global
namespace which can (and in at least one case, did) conflict
with symbols defined by other programs.

This should address the issue reported as https://github.com/rust-lang/rust/issues/129823:

	   Compiling compiler_builtins v0.1.123
	   Compiling core v0.0.0 (/home/ben/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
	   Compiling rustc-std-workspace-core v1.99.0 (/home/ben/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
	   Compiling byteorder v1.5.0
	   Compiling zerocopy v0.7.34
	error: symbol 'fma' is already defined

	error: could not compile `compiler_builtins` (lib) due to 1 previous error

Also: some of the symbols defined were not just aliases, so those are
now qualified with `__hexagon_`.  The compiler does not yet emit calls
to these particular ones, but if/when it does, it can use the new names.
2024-08-31 12:59:37 -05:00
Trevor Gross
74946afcba
Merge pull request #681 from rust-lang/release-plz-2024-08-28T16-15-08Z
chore: release v0.1.123
2024-08-28 11:23:03 -05:00
github-actions[bot]
5b227e4772
chore: release 2024-08-28 16:15:09 +00:00
Trevor Gross
b99359f70d
Merge pull request #680 from Amjad50/fix-builtin-math-symbols-ignored
Don't include `math` for `unix` and `wasi` targets
2024-08-28 11:14:38 -05:00
Amjad Alsharafi
1652ba219c
Don't include math for unix and wasi targets
This fixes such as (https://github.com/rust-lang/rust/issues/128386)
where, our implementation is being used on systems where there is
already `math` library and its more performant and accurate.

So with this change, linux will go back to the previous behavior and not
include these functions, windows and apple were generally not affected.

Looking at the targets we have builtin now in rust, everything else is
probably good to have the math symbols.

> A note on the above, the `hermit` os uses `libm` directly for itself,
> but I think its Ok to keep providing math in `compiler_builtin` for it,
> its technically the same implementation either from `compiler_builtin`
> or `hermit-builtins`.

Signed-off-by: Amjad Alsharafi <26300843+Amjad50@users.noreply.github.com>
2024-08-27 13:03:29 +08:00
Trevor Gross
c5c87c5f3f
Merge pull request #677 from rust-lang/release-plz-2024-08-25T04-08-05Z
chore: release v0.1.122
2024-08-24 23:15:58 -05:00
github-actions[bot]
18109c2d2d
chore: release 2024-08-25 04:08:06 +00:00
beetrees
a17a15b08a Fix ABI for f16 builtins on Intel Apple targets 2024-08-24 23:07:35 -05:00
Trevor Gross
569a93bc03
Merge pull request #676 from beetrees/ci-macos-latest
Use `macos-latest` in CI for `aarch64-apple-darwin`
2024-08-24 05:59:57 -05:00
beetrees
09a1f57604
Use macos-13 in CI for x86_64-apple-darwin 2024-08-24 11:52:41 +01:00
beetrees
d6588dff8f
Use macos-latest in CI for aarch64-apple-darwin 2024-08-24 11:24:45 +01:00
Trevor Gross
cacef13acc
Merge pull request #674 from rust-lang/release-plz-2024-08-22T08-01-12Z
chore: release v0.1.121
2024-08-22 06:08:36 -05:00
github-actions[bot]
25be87d8a8
chore: release 2024-08-22 08:01:13 +00:00
Trevor Gross
ade226ecdd
Merge pull request #673 from scottmcm/only-array-simd
Use array simd in `U64x2`
2024-08-22 03:00:44 -05:00
Scott McMurray
40d2a60c22 Use array simd in U64x2 2024-08-22 00:43:02 -07:00
Trevor Gross
ce9a67e7d6
Merge pull request #671 from rust-lang/release-plz-2024-08-19T12-14-41Z
chore: release v0.1.120
2024-08-22 01:11:17 -05:00
github-actions[bot]
7033f32bac
chore: release 2024-08-22 06:03:55 +00:00
Trevor Gross
13a5e8fce7
Merge pull request #672 from Amjad50/fix-weak-linkage
Fix weak linkage on windows and apple platforms
2024-08-22 01:03:27 -05:00
Amjad Alsharafi
b71531e64e
Fix weak linkage on windows and apple platforms
There were some issues regarding windows and apple platform, we were
exporting symbols that are already provided by the compiler but weren't
marked as `weak` which resulted in conflicted symbols in the linking
process.

Initially, we didn't add `weak` because we thought it is not supported
on windows and apple platforms, but it looks like its only not supported
on windows-gnu platforms

Signed-off-by: Amjad Alsharafi <26300843+Amjad50@users.noreply.github.com>
2024-08-22 10:59:06 +08:00
Trevor Gross
c620a1ffbd
Merge pull request #670 from tgross35/build-fix
Apply fixes to `build.rs` files
2024-08-19 07:14:10 -05:00
Trevor Gross
db9debf096 Apply fixes to build.rs files
Make the following changes:

- Add `rerun-if-changed` to the new `configure.rs`, it seems this was
  causing incorrect caching.
- Change from matching `i686` to `x86`. The target triple starts with
  `i686` so that is what we were checking before, but the architecture
  is `x86`. This change should have been made when we added `struct
  Target`, update it now instead.
2024-08-19 07:04:07 -05:00
Trevor Gross
3b4465f641
Merge pull request #669 from kleisauke/fix-publish
Add `configure.rs` to the `include` list
2024-08-12 13:03:15 -05:00
Kleis Auke Wolthuizen
18cbc52ee6 Add configure.rs to the include list 2024-08-12 19:45:28 +02:00
Trevor Gross
4b1c2b12d9
Merge pull request #668 from rust-lang/release-plz-2024-08-12T16-42-15Z
chore: release v0.1.119
2024-08-12 11:50:08 -05:00
github-actions[bot]
3869b3962c
chore: release 2024-08-12 16:42:17 +00:00
Trevor Gross
9437d60d78
Merge pull request #665 from kleisauke/wasm-f16-f128-feature
Configure `f16` and `f128` support for WebAssembly
2024-08-12 11:41:46 -05:00
Kleis Auke Wolthuizen
13cc7daf05 Fix CI for targets that conditionally disable f16 or f128 support 2024-08-12 14:56:59 +02:00
Kleis Auke Wolthuizen
5dad727bdc Configure f16 and f128 support for WebAssembly 2024-08-11 17:25:55 +02:00
Amanieu d'Antras
5b0a37387c
Merge pull request #664 from rust-lang/release-plz-2024-08-08T12-17-08Z 2024-08-08 13:26:01 +01:00
github-actions[bot]
4860f22460
chore: release 2024-08-08 12:17:09 +00:00
Amanieu d'Antras
7fa04fd551
Merge pull request #663 from GuillaumeGomez/soft-floats 2024-08-08 13:16:39 +01:00
Guillaume Gomez
145143a0b7 Activate force-soft-floats feature in build.rs 2024-08-08 14:09:07 +02:00
Guillaume Gomez
281c14d4fc Update libm submodule 2024-08-08 14:00:59 +02:00
Chris Denton
f186c7fd97
Merge pull request #662 from rust-lang/release-plz-2024-08-07T02-18-43Z
chore: release v0.1.117
2024-08-07 04:45:41 +02:00
github-actions[bot]
6565fbb704
chore: release 2024-08-07 02:18:44 +00:00
Trevor Gross
a1fd037088
Merge pull request #661 from rust-lang/revert-656-public-test-deps
Revert "Eliminate the use of `public_test_dep!`"
2024-08-06 21:18:16 -05:00
Trevor Gross
14bd1e6ae1
Revert "Eliminate the use of public_test_dep!" 2024-08-06 22:11:19 -04:00
Trevor Gross
93083bd3bc
Merge pull request #659 from rust-lang/release-plz-2024-08-05T21-58-41Z
chore: release v0.1.116
2024-08-06 16:56:18 -05:00
github-actions[bot]
41df199623
chore: release 2024-08-06 21:48:51 +00:00