aboutsummaryrefslogtreecommitdiff
path: root/x86_64-gen.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2016-10-08 22:50:16 +0200
committerMichael Matz <matz@suse.de>2016-12-15 17:49:55 +0100
commita2a596e76724a7915361b4d0f1b5553929d26a31 (patch)
tree2cc4185467b9003c95ce8e079dd11f9723e8c1d6 /x86_64-gen.c
parentddd461dcc866d17f1c89137dc275ce1da95e7be2 (diff)
downloadtinycc-a2a596e76724a7915361b4d0f1b5553929d26a31.tar.gz
tinycc-a2a596e76724a7915361b4d0f1b5553929d26a31.tar.bz2
x86-64-asm: Accept high register in clobbers
The callee saved registers (among them r12-r15) really need saving/restoring if mentioned in asm clobbers, even if TCC itself doesn't use them. E.g. the linux kernel relies on that in its switch_to() implementation.
Diffstat (limited to 'x86_64-gen.c')
-rw-r--r--x86_64-gen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/x86_64-gen.c b/x86_64-gen.c
index 35ec1ab..408bb91 100644
--- a/x86_64-gen.c
+++ b/x86_64-gen.c
@@ -24,7 +24,7 @@
/* number of available registers */
#define NB_REGS 25
-#define NB_ASM_REGS 8
+#define NB_ASM_REGS 16
/* a register can belong to several classes. The classes must be
sorted from more general to more precise (see gv2() code which does