printf("\tcmp $%d, %%%s\n", KID_VAL(1), KIDKIDKID_REG(0,0,0));
}
} else if(!e0 && e1) {
- if(strcmp("e", op) == 0) {
printf("\tcmp $%d, %%%s\n", KID_VAL(0), KID_REG(1));
- } else {
- moveimm(KID_VAL(0), BN_REG);
- printf("\tcmp %%%s, %%%s\n", KID_REG(1), BN_REG);
- }
}
printf("\tset%s %%%s\n", op, reg_64to8l(BN_REG));
printf("\tand $1, %%%s\n", BN_REG);
expr: O_LESS(expr,expr) # 3 # gen_eqless(bnode, "l", 1, 1, 0);
expr: O_LESS(expr,imm) # 3 # gen_eqless(bnode, "l", 1, 0, 0);
-expr: O_LESS(imm,expr) # 3 # gen_eqless(bnode, "l", 0, 1, 0);
+expr: O_LESS(imm,expr) # 3 # gen_eqless(bnode, "g", 0, 1, 0);
expr: O_EQ(expr,expr) # 3 # gen_eqless(bnode, "e", 1, 1, 0);
expr: O_EQ(expr,imm) # 3 # gen_eqless(bnode, "e", 1, 0, 0);