@@ -162,6 +162,7 @@ Here is the list of currently supported register classes:
162162| x86 | ` kreg0 ` | ` k0 ` | Only clobbers |
163163| x86 | ` x87_reg ` | ` st([0-7]) ` | Only clobbers |
164164| x86 | ` mmx_reg ` | ` mm[0-7] ` | Only clobbers |
165+ | x86-64 | ` tmm_reg ` | ` tmm[0-7] ` | Only clobbers |
165166| AArch64 | ` reg ` | ` x[0-30] ` | ` r ` |
166167| AArch64 | ` vreg ` | ` v[0-31] ` | ` w ` |
167168| AArch64 | ` vreg_low16 ` | ` v[0-15] ` | ` x ` |
@@ -204,6 +205,7 @@ The availability of supported types for a particular register class may depend o
204205| x86 | ` kreg ` | ` avx512bw ` | ` i32 ` , ` i64 ` |
205206| x86 | ` mmx_reg ` | N/A | Only clobbers |
206207| x86 | ` x87_reg ` | N/A | Only clobbers |
208+ | x86 | ` tmm_reg ` | N/A | Only clobbers |
207209| AArch64 | ` reg ` | None | ` i8 ` , ` i16 ` , ` i32 ` , ` f32 ` , ` i64 ` , ` f64 ` |
208210| AArch64 | ` vreg ` | ` neon ` | ` i8 ` , ` i16 ` , ` i32 ` , ` f32 ` , ` i64 ` , ` f64 ` , <br > ` i8x8 ` , ` i16x4 ` , ` i32x2 ` , ` i64x1 ` , ` f32x2 ` , ` f64x1 ` , <br > ` i8x16 ` , ` i16x8 ` , ` i32x4 ` , ` i64x2 ` , ` f32x4 ` , ` f64x2 ` |
209211| AArch64 | ` preg ` | N/A | Only clobbers |
@@ -367,8 +369,8 @@ The following ABIs can be used with `clobber_abi`:
367369| Architecture | ABI name | Clobbered registers |
368370| ------------ | -------- | ------------------- |
369371| 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] ` |
372374| AArch64 | ` "C" ` , ` "system" ` , ` "efiapi" ` | ` x[0-17] ` , ` x18 ` \* , ` x30 ` , ` v[0-31] ` , ` p[0-15] ` , ` ffr ` |
373375| ARM | ` "C" ` , ` "system" ` , ` "efiapi" ` , ` "aapcs" ` | ` r[0-3] ` , ` r12 ` , ` r14 ` , ` s[0-15] ` , ` d[0-7] ` , ` d[16-31] ` |
374376| 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