about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/builder.rs
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2024-10-23 11:26:45 -0700
committerAlex Crichton <alex@alexcrichton.com>2024-10-28 08:11:47 -0700
commitf534974037bed015b1d010f6fcdc9a34a4df580c (patch)
tree3304c4b807f83afd6ce3d4426be170fd42b3bb53 /compiler/rustc_codegen_llvm/src/builder.rs
parent32b17d56eb02495f9865028e1f7271a3a48c0b9b (diff)
downloadrust-f534974037bed015b1d010f6fcdc9a34a4df580c.tar.gz
rust-f534974037bed015b1d010f6fcdc9a34a4df580c.zip
Add a new `wide-arithmetic` feature for WebAssembly
This commit adds a new rustc target feature named `wide-arithmetic` for
WebAssembly targets. This corresponds to the [wide-arithmetic] proposal
for WebAssembly which adds new instructions catered towards accelerating
integer arithmetic larger than 64-bits. This proposal to WebAssembly is
not standard yet so this new feature is flagged as an unstable target
feature. Additionally Rust's LLVM version doesn't support this new
feature yet since support will first be added in LLVM 20, so the
feature filtering logic for LLVM is updated to handle this.

I'll also note that I'm not currently planning to add wasm-specific
intrinsics to `std::arch::wasm32` at this time. The currently proposed
instructions are all accessible through `i128` or `u128`-based
operations which Rust already supports, so intrinsic shouldn't be
necessary to get access to these new instructions.

[wide-arithmetic]: https://github.com/WebAssembly/wide-arithmetic
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/builder.rs')
0 files changed, 0 insertions, 0 deletions