style:修改比较运算指令 CMP_EQ 为 CMP_IEQ

This commit is contained in:
Luke 2025-06-25 15:37:26 +08:00
parent d892437deb
commit 28e2a38c14
6 changed files with 26 additions and 26 deletions

View File

@ -83,12 +83,12 @@ public final class IROpCodeMapper {
// 比较运算映射 // 比较运算映射
// 整形32位比较运算映射 // 整形32位比较运算映射
opcodeMap.put(IROpCode.CMP_EQ, "IC_E"); // 相等 opcodeMap.put(IROpCode.CMP_IEQ, "IC_E"); // 相等
opcodeMap.put(IROpCode.CMP_NE, "IC_NE"); // 不等 opcodeMap.put(IROpCode.CMP_INE, "IC_NE"); // 不等
opcodeMap.put(IROpCode.CMP_LT, "IC_L"); // 小于 opcodeMap.put(IROpCode.CMP_ILT, "IC_L"); // 小于
opcodeMap.put(IROpCode.CMP_GT, "IC_G"); // 大于 opcodeMap.put(IROpCode.CMP_IGT, "IC_G"); // 大于
opcodeMap.put(IROpCode.CMP_LE, "IC_LE"); // 小于等于 opcodeMap.put(IROpCode.CMP_ILE, "IC_LE"); // 小于等于
opcodeMap.put(IROpCode.CMP_GE, "IC_GE"); // 大于等于 opcodeMap.put(IROpCode.CMP_IGE, "IC_GE"); // 大于等于
// 整形64位比较运算映射 // 整形64位比较运算映射
opcodeMap.put(IROpCode.CMP_LEQ, "LC_E"); // 相等 opcodeMap.put(IROpCode.CMP_LEQ, "LC_E"); // 相等

View File

@ -91,7 +91,7 @@ public record ExpressionBuilder(IRContext ctx) {
// !x (x == 0) // !x (x == 0)
if (op.equals("!")) { if (op.equals("!")) {
IRVirtualRegister zero = InstructionFactory.loadConst(ctx, 0); IRVirtualRegister zero = InstructionFactory.loadConst(ctx, 0);
return InstructionFactory.binOp(ctx, IROpCode.CMP_EQ, val, zero); return InstructionFactory.binOp(ctx, IROpCode.CMP_IEQ, val, zero);
} }
throw new IllegalStateException("未知一元运算符: " + op); throw new IllegalStateException("未知一元运算符: " + op);

View File

@ -223,7 +223,7 @@ public class StatementBuilder {
} else { } else {
IRVirtualRegister condReg = expr.build(cond); IRVirtualRegister condReg = expr.build(cond);
IRVirtualRegister zero = InstructionFactory.loadConst(ctx, 0); IRVirtualRegister zero = InstructionFactory.loadConst(ctx, 0);
InstructionFactory.cmpJump(ctx, IROpCode.CMP_EQ, condReg, zero, falseLabel); InstructionFactory.cmpJump(ctx, IROpCode.CMP_IEQ, condReg, zero, falseLabel);
} }
} }
} }

View File

@ -67,12 +67,12 @@ public enum IROpCode {
NEG_D64, // 64位浮点取负 NEG_D64, // 64位浮点取负
/* ───── 逻辑与比较运算指令32位整数int ───── */ /* ───── 逻辑与比较运算指令32位整数int ───── */
CMP_EQ, // 32位相等比较a == b CMP_IEQ, // 32位相等比较a == b
CMP_NE, // 32位不等比较a != b CMP_INE, // 32位不等比较a != b
CMP_LT, // 32位小于比较a < b CMP_ILT, // 32位小于比较a < b
CMP_GT, // 32位大于比较a > b CMP_IGT, // 32位大于比较a > b
CMP_LE, // 32位小于等于a <= b CMP_ILE, // 32位小于等于a <= b
CMP_GE, // 32位大于等于a >= b CMP_IGE, // 32位大于等于a >= b
/* ───── 逻辑与比较运算指令64位整数long ───── */ /* ───── 逻辑与比较运算指令64位整数long ───── */
CMP_LEQ, // 64位相等比较a == b CMP_LEQ, // 64位相等比较a == b

View File

@ -42,12 +42,12 @@ public final class IROpCodeMappings {
/* ────── 比较运算符映射 ────── */ /* ────── 比较运算符映射 ────── */
/** 32-bitint比较 */ /** 32-bitint比较 */
public static final Map<String, IROpCode> CMP_I32 = Map.of( public static final Map<String, IROpCode> CMP_I32 = Map.of(
"==", IROpCode.CMP_EQ, "==", IROpCode.CMP_IEQ,
"!=", IROpCode.CMP_NE, "!=", IROpCode.CMP_INE,
"<", IROpCode.CMP_LT, "<", IROpCode.CMP_ILT,
">", IROpCode.CMP_GT, ">", IROpCode.CMP_IGT,
"<=", IROpCode.CMP_LE, "<=", IROpCode.CMP_ILE,
">=", IROpCode.CMP_GE ">=", IROpCode.CMP_IGE
); );
/** 64-bitlong比较 */ /** 64-bitlong比较 */

View File

@ -10,12 +10,12 @@ import java.util.Map;
public class IROpCodeUtils { public class IROpCodeUtils {
private static final Map<IROpCode, IROpCode> INVERT = Map.ofEntries( private static final Map<IROpCode, IROpCode> INVERT = Map.ofEntries(
// 32-bit // 32-bit
Map.entry(IROpCode.CMP_EQ, IROpCode.CMP_NE), Map.entry(IROpCode.CMP_IEQ, IROpCode.CMP_INE),
Map.entry(IROpCode.CMP_NE, IROpCode.CMP_EQ), Map.entry(IROpCode.CMP_INE, IROpCode.CMP_IEQ),
Map.entry(IROpCode.CMP_LT, IROpCode.CMP_GE), Map.entry(IROpCode.CMP_ILT, IROpCode.CMP_IGE),
Map.entry(IROpCode.CMP_GE, IROpCode.CMP_LT), Map.entry(IROpCode.CMP_IGE, IROpCode.CMP_ILT),
Map.entry(IROpCode.CMP_GT, IROpCode.CMP_LE), Map.entry(IROpCode.CMP_IGT, IROpCode.CMP_ILE),
Map.entry(IROpCode.CMP_LE, IROpCode.CMP_GT), Map.entry(IROpCode.CMP_ILE, IROpCode.CMP_IGT),
// 64-bit // 64-bit
Map.entry(IROpCode.CMP_LEQ, IROpCode.CMP_LNE), Map.entry(IROpCode.CMP_LEQ, IROpCode.CMP_LNE),
Map.entry(IROpCode.CMP_LNE, IROpCode.CMP_LEQ), Map.entry(IROpCode.CMP_LNE, IROpCode.CMP_LEQ),