From d3c432244c0075b483e2c2489fc9cfc45a853497 Mon Sep 17 00:00:00 2001 From: "U-UNIT1\\dennis" Date: Sat, 3 Apr 2010 21:20:34 +0300 Subject: [PATCH] generate inc and dec for smaller code --- i386-gen.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) mode change 100644 => 100755 i386-gen.c diff --git a/i386-gen.c b/i386-gen.c old mode 100644 new mode 100755 index 5ea70dfe..f8795c19 --- a/i386-gen.c +++ b/i386-gen.c @@ -686,10 +686,16 @@ ST_FUNC void gen_opi(int op) vswap(); c = vtop->c.i; if (c == (char)c) { - /* XXX: generate inc and dec for smaller code ? */ - o(0x83); - o(0xc0 | (opc << 3) | r); - g(c); + /* generate inc and dec for smaller code */ + if (c==1 && opc==0) { + o (0x40 | r); // inc + } else if (c==1 && opc==5) { + o (0x48 | r); // dec + } else { + o(0x83); + o(0xc0 | (opc << 3) | r); + g(c); + } } else { o(0x81); oad(0xc0 | (opc << 3) | r, c);