@@ -162,6 +162,7 @@ Here is the list of currently supported register classes:
162
162
| x86 | ` kreg0 ` | ` k0 ` | Only clobbers |
163
163
| x86 | ` x87_reg ` | ` st([0-7]) ` | Only clobbers |
164
164
| x86 | ` mmx_reg ` | ` mm[0-7] ` | Only clobbers |
165
+ | x86-64 | ` tmm_reg ` | ` tmm[0-7] ` | Only clobbers |
165
166
| AArch64 | ` reg ` | ` x[0-30] ` | ` r ` |
166
167
| AArch64 | ` vreg ` | ` v[0-31] ` | ` w ` |
167
168
| AArch64 | ` vreg_low16 ` | ` v[0-15] ` | ` x ` |
@@ -204,6 +205,7 @@ The availability of supported types for a particular register class may depend o
204
205
| x86 | ` kreg ` | ` avx512bw ` | ` i32 ` , ` i64 ` |
205
206
| x86 | ` mmx_reg ` | N/A | Only clobbers |
206
207
| x86 | ` x87_reg ` | N/A | Only clobbers |
208
+ | x86 | ` tmm_reg ` | N/A | Only clobbers |
207
209
| AArch64 | ` reg ` | None | ` i8 ` , ` i16 ` , ` i32 ` , ` f32 ` , ` i64 ` , ` f64 ` |
208
210
| AArch64 | ` vreg ` | ` neon ` | ` i8 ` , ` i16 ` , ` i32 ` , ` f32 ` , ` i64 ` , ` f64 ` , <br > ` i8x8 ` , ` i16x4 ` , ` i32x2 ` , ` i64x1 ` , ` f32x2 ` , ` f64x1 ` , <br > ` i8x16 ` , ` i16x8 ` , ` i32x4 ` , ` i64x2 ` , ` f32x4 ` , ` f64x2 ` |
209
211
| AArch64 | ` preg ` | N/A | Only clobbers |
@@ -367,8 +369,8 @@ The following ABIs can be used with `clobber_abi`:
367
369
| Architecture | ABI name | Clobbered registers |
368
370
| ------------ | -------- | ------------------- |
369
371
| x86-32 | ` "C" ` , ` "system" ` , ` "efiapi" ` , ` "cdecl" ` , ` "stdcall" ` , ` "fastcall" ` | ` ax ` , ` cx ` , ` dx ` , ` xmm[0-7] ` , ` mm[0-7] ` , ` k[0-7] ` , ` st([0-7]) ` |
370
- | x86-64 | ` "C" ` , ` "system" ` (on Windows), ` "efiapi" ` , ` "win64" ` | ` ax ` , ` cx ` , ` dx ` , ` r[8-11] ` , ` xmm[0-31] ` , ` mm[0-7] ` , ` k[0-7] ` , ` st([0-7]) ` |
371
- | x86-64 | ` "C" ` , ` "system" ` (on non-Windows), ` "sysv64" ` | ` ax ` , ` cx ` , ` dx ` , ` si ` , ` di ` , ` r[8-11] ` , ` xmm[0-31] ` , ` mm[0-7] ` , ` k[0-7] ` , ` st([0-7]) ` |
372
+ | x86-64 | ` "C" ` , ` "system" ` (on Windows), ` "efiapi" ` , ` "win64" ` | ` ax ` , ` cx ` , ` dx ` , ` r[8-11] ` , ` xmm[0-31] ` , ` mm[0-7] ` , ` k[0-7] ` , ` st([0-7]) ` , ` tmm[0-7] ` |
373
+ | x86-64 | ` "C" ` , ` "system" ` (on non-Windows), ` "sysv64" ` | ` ax ` , ` cx ` , ` dx ` , ` si ` , ` di ` , ` r[8-11] ` , ` xmm[0-31] ` , ` mm[0-7] ` , ` k[0-7] ` , ` st([0-7]) ` , ` tmm[0-7] ` |
372
374
| AArch64 | ` "C" ` , ` "system" ` , ` "efiapi" ` | ` x[0-17] ` , ` x18 ` \* , ` x30 ` , ` v[0-31] ` , ` p[0-15] ` , ` ffr ` |
373
375
| ARM | ` "C" ` , ` "system" ` , ` "efiapi" ` , ` "aapcs" ` | ` r[0-3] ` , ` r12 ` , ` r14 ` , ` s[0-15] ` , ` d[0-7] ` , ` d[16-31] ` |
374
376
| RISC-V | ` "C" ` , ` "system" ` , ` "efiapi" ` | ` x1 ` , ` x[5-7] ` , ` x[10-17] ` , ` x[28-31] ` , ` f[0-7] ` , ` f[10-17] ` , ` f[28-31] ` , ` v[0-31] ` |
0 commit comments