From 82795c6b1b7873647691efad4eb8f6229a167a8d Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Thu, 14 Jan 2010 23:49:06 +0000 Subject: [PATCH] As a reminiscence to the famous MAC/65 assembler changed modifier + into > and - into <, so >R is the hight part of a register, modifier to output high 8bit register (ah, bh) + * < modifier to output low 8bit register (al, bl) */ static void ia32_emitf(const ir_node *node, const char *fmt, ...) { @@ -687,8 +688,8 @@ static void ia32_emitf(const ir_node *node, const char *fmt, ...) case '*': mod |= EMIT_ALTERNATE_AM; break; case '#': mod |= EMIT_RESPECT_LS; break; case 'l': mod |= EMIT_LONG; break; - case '+': mod |= EMIT_HIGH_REG; break; - case '-': mod |= EMIT_LOW_REG; break; + case '>': mod |= EMIT_HIGH_REG; break; + case '<': mod |= EMIT_LOW_REG; break; default: goto end_of_mods; } @@ -1164,17 +1165,17 @@ static void emit_ia32_Setcc(const ir_node *node) case pn_Cmp_Eq: case pn_Cmp_Lt: case pn_Cmp_Le: - ia32_emitf(node, "\tset%P %-R\n", pnc, dreg); - ia32_emitf(node, "\tsetnp %+R\n", dreg); - ia32_emitf(node, "\tandb %+R, %-R\n", dreg, dreg); + ia32_emitf(node, "\tset%P %R\n", dreg); + ia32_emitf(node, "\tandb %>R, %R\n", dreg); + ia32_emitf(node, "\torb %>R, %