- if (unlikely(reg[REG_R0].type == REG_S64))
- reg[REG_R0].d = (double) reg[REG_R0].v;
- else if (unlikely(reg[REG_R1].type == REG_S64))
- reg[REG_R1].d = (double) reg[REG_R1].v;
- reg[REG_R0].v = (reg[REG_R0].d == reg[REG_R1].d);
- reg[REG_R0].type = REG_S64;
+ int res;
+
+ if (unlikely(estack_ax(stack)->type == REG_S64))
+ estack_ax(stack)->u.d = (double) estack_ax(stack)->u.v;
+ else if (unlikely(estack_bx(stack)->type == REG_S64))
+ estack_bx(stack)->u.d = (double) estack_bx(stack)->u.v;
+ res = (estack_bx(stack)->u.v == estack_ax(stack)->u.v);
+ estack_pop(stack);
+ estack_ax(stack)->u.v = res;
+ estack_ax(stack)->type = REG_S64;