diff options
author | Vladimir Azarov <avm@intermediate-node.net> | 2025-08-10 19:47:28 +0200 |
---|---|---|
committer | Vladimir Azarov <avm@intermediate-node.net> | 2025-08-10 19:47:28 +0200 |
commit | 413136926c66e97b4dd137b354665e5ae4ebb89e (patch) | |
tree | 812f116a140cc12fb7ae400f24dd3e27598e1b22 /il.sig | |
parent | 9edb2b8dbd99636cf2d98d3253a0316f74720894 (diff) |
Instruction selection finish
Diffstat (limited to 'il.sig')
-rw-r--r-- | il.sig | 21 |
1 files changed, 9 insertions, 12 deletions
@@ -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, |