Upgrade libgccjit.version
Limit new Floatxx types to master branch only
apply rustfmt
Make new types available only when requested
Make new types available only when requested
Check if Float16 and Float128 are supported by the target platform
Replace Float with Float32 and Double with Float64 if target dependent type is defined
Add support for Float16|32|64|128 in the builder
Fix cargo fmt errors
Update gccjit wrapper
update hash of ligccjit
This adds support for the simd variants of the pointer provenance
intrinsics, which are `simd_cast_ptr`, `simd_expose_addr`, and
`simd_from_exposed_addr`.
The preconditions for each intrinsic are adapted from rustc_codegen_llvm
to preserve compatibility. Each of these intrinsics are implemented as
calling the non-simd variant of each intrinsic on each lane.
This is enough to enable the UI test `ui/simd/intrinsic/ptr-cast.rs` to
pass.
Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
Changed for clippy naming convention requirement:
```
warning: methods called `from_*` usually take no `self`
--> src/int.rs:996:22
|
996 | fn from_low_high(&self, typ: Type<'gcc>, low: i64, high: i64) -> RValue<'gcc> {
| ^^^^^
|
= help: consider choosing a less ambiguous name
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention
= note: `#[warn(clippy::wrong_self_convention)]` on by default
```
1. Use `clone_from` in place of `clone()` in `builder.rs`
2. Change `&name` to `name.clone()` in `debuginfo.rs`(Is this really
efficient? But I can't find other workarounds.)
Add asm goto support to `asm!`
Tracking issue: #119364
This PR implements asm-goto support, using the syntax described in "future possibilities" section of [RFC2873](https://rust-lang.github.io/rfcs/2873-inline-asm.html#asm-goto).
Currently I have only implemented the `label` part, not the `fallthrough` part (i.e. fallthrough is implicit). This doesn't reduce the expressive though, since you can use label-break to get arbitrary control flow or simply set a value and rely on jump threading optimisation to get the desired control flow. I can add that later if deemed necessary.
r? ``@Amanieu``
cc ``@ojeda``
Add stubs in IR and ABI for `f16` and `f128`
This is the very first step toward the changes in https://github.com/rust-lang/rust/pull/114607 and the [`f16` and `f128` RFC](https://rust-lang.github.io/rfcs/3453-f16-and-f128.html). It adds the types to `rustc_type_ir::FloatTy` and `rustc_abi::Primitive`, and just propagates those out as `unimplemented!` stubs where necessary.
These types do not parse yet so there is no feature gate, and it should be okay to use `unimplemented!`.
The next steps will probably be AST support with parsing and the feature gate.
r? `@compiler-errors`
cc `@Nilstrieb` suggested breaking the PR up in https://github.com/rust-lang/rust/pull/120645#issuecomment-1925900572