X-Git-Url: http://git.joshuawise.com/snipe.git/blobdiff_plain/f716a180ca5458e19643c902d4fb97785b9fd88e..de034162d9af50e6bfb454f4de67213d856137c4:/codegen/blarg.sml diff --git a/codegen/blarg.sml b/codegen/blarg.sml index e482813..aacc993 100644 --- a/codegen/blarg.sml +++ b/codegen/blarg.sml @@ -13,7 +13,7 @@ sig datatype oper = REG of reg | TEMP of Temp.temp | STACKARG of int - datatype pred = NV | NE | EQ | LT | GT | AL + datatype pred = NV | NE | EQ | LT | GT | LE | GE | AL (* instructions *) datatype opc = MOVLIT of oper * word | @@ -70,7 +70,7 @@ struct datatype oper = REG of reg | TEMP of Temp.temp | STACKARG of int - datatype pred = NV | NE | EQ | LT | GT | AL + datatype pred = NV | NE | EQ | LT | GT | LE | GE | AL (* instructions *) datatype opc = MOVLIT of oper * word | @@ -125,6 +125,8 @@ struct | predname EQ = "eq" | predname LT = "lt" | predname GT = "gt" + | predname GE = "ge" + | predname LE = "le" | predname AL = "" (* gives number (color) associated with reg *) @@ -132,6 +134,7 @@ struct | regtonum R1 = 1 | regtonum R2 = 2 | regtonum R3 = 3 + | regtonum SP = 4 | regtonum _ = raise ErrorMsg.InternalError ("regtonum: Invalid register") (* gives reg associated with number (color) *) @@ -168,7 +171,7 @@ struct end) fun pp_oper (REG r) = "%" ^ (regname r) - | pp_oper (TEMP t) = (Temp.name t) ^ (Temp.sfx (Temp.size t)) + | pp_oper (TEMP t) = (Temp.name t) | pp_oper (STACKARG i) = "arg#"^Int.toString i fun pp_insn pr (MOVLIT (d, w)) = "\tmov"^pr^" "^(pp_oper d)^", #"^(Word.toString w)^"\n"