From 413136926c66e97b4dd137b354665e5ae4ebb89e Mon Sep 17 00:00:00 2001 From: Vladimir Azarov Date: Sun, 10 Aug 2025 19:47:28 +0200 Subject: Instruction selection finish --- il.sig | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'il.sig') diff --git a/il.sig b/il.sig index 2450011..4136222 100644 --- a/il.sig +++ b/il.sig @@ -14,6 +14,11 @@ signature IL = sig datatype accessClass = AC1 | AC2 | AC4 | AC8 + datatype cmpOp = + Cmpeq | Cmpneq | + Cmpul | Cmpug | Cmpule | Cmpuge | + Cmpsl | Cmpsg | Cmpsle | Cmpsge + datatype irIns = IrSet of vreg * setArg | IrAdd of vreg * vreg * vreg @@ -30,18 +35,8 @@ signature IL = sig | IrAnd of vreg * vreg * vreg | IrOr of vreg * vreg * vreg | IrXor of vreg * vreg * vreg - | IrEq of vreg * vreg * vreg - | IrNeq of vreg * vreg * vreg - - | IrCmpul of vreg * vreg * vreg - | IrCmpug of vreg * vreg * vreg - | IrCmpule of vreg * vreg * vreg - | IrCmpuge of vreg * vreg * vreg - | IrCmpsl of vreg * vreg * vreg - | IrCmpsg of vreg * vreg * vreg - | IrCmpsle of vreg * vreg * vreg - | IrCmpsge of vreg * vreg * vreg + | IrCmp of cmpOp * vreg * vreg * vreg | IrExtZero of vreg * vreg * accessClass | IrExtSign of vreg * vreg * accessClass @@ -72,10 +67,12 @@ signature IL = sig class: vregClass, use: int list, defs: int list, - t: regType + t: regType, + canFold: bool } val Pwc: (vregClass, word, 'a, 'b, 'c) a2printer + val Pac: (accessClass, 'a, 'b, 'c) a1printer datatype funcInfo = Fi of { name: int, -- cgit v1.2.3