aboutsummaryrefslogtreecommitdiff
path: root/tccgen.c
diff options
context:
space:
mode:
authorgrischka <grischka>2016-12-19 00:27:08 +0100
committergrischka <grischka>2016-12-19 00:33:01 +0100
commit559ee1e940c22a49ac8a39f6053917533e71243a (patch)
tree1baa77ed7650f1f72d59b8a9907b185954fa284b /tccgen.c
parentd2332396e43914ae8239cbc53ae7b0f1f3bb614c (diff)
downloadtinycc-559ee1e940c22a49ac8a39f6053917533e71243a.tar.gz
tinycc-559ee1e940c22a49ac8a39f6053917533e71243a.tar.bz2
i386-gen: fix USE_EBX
Restore ebx from *ebp because alloca might change esp. Also disable USE_EBX for upcoming release. Actually the benefit is less than one would expect, it appears that tcc can't do much with more than 3 registers except with extensive use of long longs where the disassembly looks much prettier (and shorter also). Also: tccgen/expr_cond() : fix wrong gv/save_regs order
Diffstat (limited to 'tccgen.c')
-rw-r--r--tccgen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tccgen.c b/tccgen.c
index dddeea1..8281d1e 100644
--- a/tccgen.c
+++ b/tccgen.c
@@ -5164,8 +5164,8 @@ static void expr_cond(void)
#endif
} else
rc = RC_INT;
- save_regs(1);
gv(rc);
+ save_regs(1);
if (g)
gv_dup();
tt = gvtst(1, 0);