static void bemit_modru(const arch_register_t *dest, unsigned val)
{
- assert(val <= 7);
unsigned char modrm = 0xC0;
+ assert(val <= 7);
modrm |= reg_map[dest->index];
modrm |= val << 3;
bemit8(modrm);
/* determine if we need a SIB byte */
if (has_index) {
+ int scale;
const arch_register_t *reg_index = arch_get_irn_register(index);
assert(reg_index->index != REG_ESP);
sib |= reg_map[reg_index->index] << 3;
sib |= 0x05;
}
- int scale = get_ia32_am_scale(node);
+ scale = get_ia32_am_scale(node);
assert(scale < 4);
sib |= scale << 6;
emitsib = true;