Skip to content

Commit b67da92

Browse files
committed
Update clobber lists
1 parent 29f3c2a commit b67da92

2 files changed

Lines changed: 4 additions & 10 deletions

File tree

ext/opcache/jit/tls/zend_jit_tls_aarch64.c

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -126,16 +126,9 @@ zend_result zend_jit_resolve_tsrm_ls_cache_offsets(
126126
"add %2, x8, x0\n"
127127
: "=r" (thread_pointer), "=r" (insn), "=r" (addr)
128128
:
129-
/* call may clobber volatile registers */
130-
: "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7",
131-
"x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15",
132-
"x16", "x17", "x18", "x30",
133-
"v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7",
134-
"v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15",
135-
"v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23",
136-
"v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31",
137-
"cc", "memory"
138-
);
129+
/* Resolver call clobbers only a few registers: https://github.com/ARM-software/abi-aa/blob/ee4b3c12d57c8424ff60c2ae56e10690d0604ab6/sysvabi64/sysvabi64.rst#calling-convention.
130+
* We also clobber x8. */
131+
: "x0", "x1", "x8", "x30", "cc", "memory");
139132

140133
ZEND_ASSERT(addr == &_tsrm_ls_cache);
141134

ext/opcache/jit/tls/zend_jit_tls_x86_64.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ zend_result zend_jit_resolve_tsrm_ls_cache_offsets(
110110
/* call may clobber volatile registers */
111111
: "rcx", "rdx", "rdi",
112112
"r8", "r9", "r10", "r11",
113+
"st", "st(1)", "st(2)", "st(3)", "st(4)", "st(5)", "st(6)", "st(7)",
113114
"xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7",
114115
"xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15",
115116
"cc", "memory"

0 commit comments

Comments
 (0)