diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-10-14 17:06:35 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-14 17:06:35 +0200 |
| commit | 43bf4f1fd361ad898a3580188d158fc88b28a4a8 (patch) | |
| tree | 0f156f36eabf622d44d7d74fb86ad32b73bded8e /compiler/rustc_codegen_llvm/src/errors.rs | |
| parent | 7ed6d1cd380bc505f4988bf7eef7c5777ab86cfc (diff) | |
| parent | d858dfedbbde119f2ea707fea253e99c824ec252 (diff) | |
| download | rust-43bf4f1fd361ad898a3580188d158fc88b28a4a8.tar.gz rust-43bf4f1fd361ad898a3580188d158fc88b28a4a8.zip | |
Rollup merge of #131332 - taiki-e:arm64ec-clobber-abi, r=Amanieu
Fix clobber_abi and disallow SVE-related registers in Arm64EC inline assembly
Currently `clobber_abi` in Arm64EC inline assembly is implemented using `InlineAsmClobberAbi::AArch64NoX18`, but broken since it attempts to clobber registers that cannot be used in Arm64EC: https://godbolt.org/z/r3PTrGz5r
```
error: cannot use register `x13`: x13, x14, x23, x24, x28, v16-v31 cannot be used for Arm64EC
--> <source>:6:14
|
6 | asm!("", clobber_abi("C"), options(nostack, nomem, preserves_flags));
| ^^^^^^^^^^^^^^^^
error: cannot use register `x14`: x13, x14, x23, x24, x28, v16-v31 cannot be used for Arm64EC
--> <source>:6:14
|
6 | asm!("", clobber_abi("C"), options(nostack, nomem, preserves_flags));
| ^^^^^^^^^^^^^^^^
<omitted the same errors for v16-v31>
```
Additionally, this disallows SVE-related registers per https://github.com/rust-lang/rust/pull/131332#issuecomment-2401189142.
cc ``@dpaoliello``
r? ``@Amanieu``
``@rustbot`` label O-windows O-AArch64 +A-inline-assembly
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/errors.rs')
0 files changed, 0 insertions, 0 deletions
