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位比较运算映射
opcodeMap.put(IROpCode.CMP_EQ, "IC_E"); // 相等
opcodeMap.put(IROpCode.CMP_NE, "IC_NE"); // 不等
opcodeMap.put(IROpCode.CMP_LT, "IC_L"); // 小于
opcodeMap.put(IROpCode.CMP_GT, "IC_G"); // 大于
opcodeMap.put(IROpCode.CMP_LE, "IC_LE"); // 小于等于
opcodeMap.put(IROpCode.CMP_GE, "IC_GE"); // 大于等于
opcodeMap.put(IROpCode.CMP_IEQ, "IC_E"); // 相等
opcodeMap.put(IROpCode.CMP_INE, "IC_NE"); // 不等
opcodeMap.put(IROpCode.CMP_ILT, "IC_L"); // 小于
opcodeMap.put(IROpCode.CMP_IGT, "IC_G"); // 大于
opcodeMap.put(IROpCode.CMP_ILE, "IC_LE"); // 小于等于
opcodeMap.put(IROpCode.CMP_IGE, "IC_GE"); // 大于等于
// 整形64位比较运算映射
opcodeMap.put(IROpCode.CMP_LEQ, "LC_E"); // 相等

View File

@ -91,7 +91,7 @@ public record ExpressionBuilder(IRContext ctx) {
// !x (x == 0)
if (op.equals("!")) {
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);

View File

@ -223,7 +223,7 @@ public class StatementBuilder {
} else {
IRVirtualRegister condReg = expr.build(cond);
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位浮点取负
/* ───── 逻辑与比较运算指令32位整数int ───── */
CMP_EQ, // 32位相等比较a == b
CMP_NE, // 32位不等比较a != b
CMP_LT, // 32位小于比较a < b
CMP_GT, // 32位大于比较a > b
CMP_LE, // 32位小于等于a <= b
CMP_GE, // 32位大于等于a >= b
CMP_IEQ, // 32位相等比较a == b
CMP_INE, // 32位不等比较a != b
CMP_ILT, // 32位小于比较a < b
CMP_IGT, // 32位大于比较a > b
CMP_ILE, // 32位小于等于a <= b
CMP_IGE, // 32位大于等于a >= b
/* ───── 逻辑与比较运算指令64位整数long ───── */
CMP_LEQ, // 64位相等比较a == b

View File

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

View File

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