Support clobber_abi and vector/access registers (clobber-only) in s390x inline assembly
This commit is contained in:
parent
1a5a2240bc
commit
fa125e2be6
7 changed files with 200 additions and 12 deletions
|
|
@ -51,7 +51,10 @@ This feature tracks `asm!` and `global_asm!` support for the following architect
|
|||
| CSKY | `reg` | `r[0-31]` | `r` |
|
||||
| CSKY | `freg` | `f[0-31]` | `f` |
|
||||
| s390x | `reg` | `r[0-10]`, `r[12-14]` | `r` |
|
||||
| s390x | `reg_addr` | `r[1-10]`, `r[12-14]` | `a` |
|
||||
| s390x | `freg` | `f[0-15]` | `f` |
|
||||
| s390x | `vreg` | `v[0-31]` | Only clobbers |
|
||||
| s390x | `areg` | `a[2-15]` | Only clobbers |
|
||||
| Arm64EC | `reg` | `x[0-12]`, `x[15-22]`, `x[25-27]`, `x30` | `r` |
|
||||
| Arm64EC | `vreg` | `v[0-15]` | `w` |
|
||||
| Arm64EC | `vreg_low16` | `v[0-15]` | `x` |
|
||||
|
|
@ -90,6 +93,8 @@ This feature tracks `asm!` and `global_asm!` support for the following architect
|
|||
| CSKY | `freg` | None | `f32`, |
|
||||
| s390x | `reg`, `reg_addr` | None | `i8`, `i16`, `i32`, `i64` |
|
||||
| s390x | `freg` | None | `f32`, `f64` |
|
||||
| s390x | `vreg` | N/A | Only clobbers |
|
||||
| s390x | `areg` | N/A | Only clobbers |
|
||||
| Arm64EC | `reg` | None | `i8`, `i16`, `i32`, `f32`, `i64`, `f64` |
|
||||
| Arm64EC | `vreg` | None | `i8`, `i16`, `i32`, `f32`, `i64`, `f64`, <br> `i8x8`, `i16x4`, `i32x2`, `i64x1`, `f32x2`, `f64x1`, <br> `i8x16`, `i16x8`, `i32x4`, `i64x2`, `f32x4`, `f64x2` |
|
||||
|
||||
|
|
@ -157,6 +162,8 @@ This feature tracks `asm!` and `global_asm!` support for the following architect
|
|||
| CSKY | `r15` | This is the link register. |
|
||||
| CSKY | `r[26-30]` | Reserved by its ABI. |
|
||||
| CSKY | `r31` | This is the TLS register. |
|
||||
| s390x | `c[0-15]` | Reserved by the kernel. |
|
||||
| s390x | `a[0-1]` | Reserved for system use. |
|
||||
| Arm64EC | `xzr` | This is a constant zero register which can't be modified. |
|
||||
| Arm64EC | `x18` | This is an OS-reserved register. |
|
||||
| Arm64EC | `x13`, `x14`, `x23`, `x24`, `x28`, `v[16-31]` | These are AArch64 registers that are not supported for Arm64EC. |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue