diff options
| author | Taiki Endo <te316e89@gmail.com> | 2024-11-24 21:42:22 +0900 |
|---|---|---|
| committer | Taiki Endo <te316e89@gmail.com> | 2024-11-24 21:42:22 +0900 |
| commit | c024d8ccdfb462f4e99b54e6c8456fbc4d745752 (patch) | |
| tree | 746d303b898bf928538b56a2d50b1b5c05ed28a5 /src | |
| parent | 2c8f6de1babfd5cce9badd8ff85c0652377edd75 (diff) | |
| download | rust-c024d8ccdfb462f4e99b54e6c8456fbc4d745752.tar.gz rust-c024d8ccdfb462f4e99b54e6c8456fbc4d745752.zip | |
Make s390x non-clobber-only vector register support unstable
Diffstat (limited to 'src')
| -rw-r--r-- | src/doc/unstable-book/src/language-features/asm-experimental-reg.md | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/doc/unstable-book/src/language-features/asm-experimental-reg.md b/src/doc/unstable-book/src/language-features/asm-experimental-reg.md new file mode 100644 index 00000000000..a251573d276 --- /dev/null +++ b/src/doc/unstable-book/src/language-features/asm-experimental-reg.md @@ -0,0 +1,40 @@ +# `asm_experimental_arch` + +The tracking issue for this feature is: [#133416] + +[#133416]: https://github.com/rust-lang/rust/issues/133416 + +------------------------ + +This tracks support for additional registers in architectures where inline assembly is already stable. + +## Register classes + +| Architecture | Register class | Registers | LLVM constraint code | +| ------------ | -------------- | --------- | -------------------- | +| s390x | `vreg` | `v[0-31]` | `v` | + +> **Notes**: +> - s390x `vreg` is clobber-only in stable. + +## Register class supported types + +| Architecture | Register class | Target feature | Allowed types | +| ------------ | -------------- | -------------- | ------------- | +| s390x | `vreg` | `vector` | `i32`, `f32`, `i64`, `f64`, `i128`, `f128`, `i8x16`, `i16x8`, `i32x4`, `i64x2`, `f32x4`, `f64x2` | + +## Register aliases + +| Architecture | Base register | Aliases | +| ------------ | ------------- | ------- | + +## Unsupported registers + +| Architecture | Unsupported register | Reason | +| ------------ | -------------------- | ------ | + +## Template modifiers + +| Architecture | Register class | Modifier | Example output | LLVM modifier | +| ------------ | -------------- | -------- | -------------- | ------------- | +| s390x | `vreg` | None | `%v0` | None | |
