From 8be35bf2be509f32d2fccc182743ae409838c4e4 Mon Sep 17 00:00:00 2001 From: Quentin Carbonneaux Date: Wed, 12 Aug 2015 12:01:47 -0400 Subject: [PATCH] minor size optimization for 0XSet --- lisc/emit.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisc/emit.c b/lisc/emit.c index 80df768..15be31e 100644 --- a/lisc/emit.c +++ b/lisc/emit.c @@ -223,10 +223,12 @@ eins(Ins i, Fn *fn, FILE *f) break; default: if (OXSet <= i.op && i.op <= OXSet1) { - eop("mov $0,", i.to, R, fn, f); fprintf(f, "\tset%s %%%s\n", ctoa[i.op-OXSet], rsub[RBASE(i.to.val)][SByte]); + fprintf(f, "\tmovzb %%%s, %%%s\n", + rsub[RBASE(i.to.val)][SByte], + rtoa(i.to.val)); break; } diag("emit: unhandled instruction (3)");