]> Joshua Wise's Git repositories - snipe.git/blobdiff - codegen/blarg.sml
Actually generate real code.
[snipe.git] / codegen / blarg.sml
index aacc99311239caa519d35478723752b34aee2f0e..cf3ea4c59044e77bf940ff1309336acffce1e573 100644 (file)
@@ -8,7 +8,7 @@ signature BLARG =
 sig
   (* register type *)
   datatype reg =
 sig
   (* register type *)
   datatype reg =
-    R0 | R1 | R2 | R3 | FR | SP | PC
+    R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 | R10 | R11 | R12 | FR | SP | PC
   (* operands to instructions *)
   datatype oper = REG of reg |
                      TEMP of Temp.temp |
   (* operands to instructions *)
   datatype oper = REG of reg |
                      TEMP of Temp.temp |
@@ -65,7 +65,7 @@ struct
 
 (* register type *)
   datatype reg =
 
 (* register type *)
   datatype reg =
-    R0 | R1 | R2 | R3 | FR | SP | PC
+    R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 | R10 | R11 | R12 | FR | SP | PC
   (* operands to instructions *)
   datatype oper = REG of reg |
                   TEMP of Temp.temp |
   (* operands to instructions *)
   datatype oper = REG of reg |
                   TEMP of Temp.temp |
@@ -109,6 +109,15 @@ struct
       (R1, "r1"),
       (R2, "r2"),
       (R3, "r3"),
       (R1, "r1"),
       (R2, "r2"),
       (R3, "r3"),
+      (R4, "r4"),
+      (R5, "r5"),
+      (R6, "r6"),
+      (R7, "r7"),
+      (R8, "r8"),
+      (R9, "r9"),
+      (R10, "r10"),
+      (R11, "r11"),
+      (R12, "r12"),
       (FR, "fr"),
       (SP, "sp"),
       (PC, "pc") ];
       (FR, "fr"),
       (SP, "sp"),
       (PC, "pc") ];
@@ -134,6 +143,15 @@ struct
     | regtonum R1 = 1
     | regtonum R2 = 2
     | regtonum R3 = 3
     | regtonum R1 = 1
     | regtonum R2 = 2
     | regtonum R3 = 3
+    | regtonum R4 = 4
+    | regtonum R5 = 5
+    | regtonum R6 = 6
+    | regtonum R7 = 7
+    | regtonum R8 = 8
+    | regtonum R9 = 9
+    | regtonum R10 = 10
+    | regtonum R11 = 11
+    | regtonum R12 = 12
     | regtonum SP = 4
     | regtonum _ = raise ErrorMsg.InternalError ("regtonum: Invalid register")
 
     | regtonum SP = 4
     | regtonum _ = raise ErrorMsg.InternalError ("regtonum: Invalid register")
 
@@ -142,6 +160,15 @@ struct
     | numtoreg 1 = R1
     | numtoreg 2 = R2
     | numtoreg 3 = R3
     | numtoreg 1 = R1
     | numtoreg 2 = R2
     | numtoreg 3 = R3
+    | numtoreg 4 = R4
+    | numtoreg 5 = R5
+    | numtoreg 6 = R6
+    | numtoreg 7 = R7
+    | numtoreg 8 = R8
+    | numtoreg 9 = R9
+    | numtoreg 10 = R10
+    | numtoreg 11 = R11
+    | numtoreg 12 = R12
     | numtoreg n = raise ErrorMsg.InternalError ("numtoreg: Invalid register "^(Int.toString n))
 
   (* register compare *)
     | numtoreg n = raise ErrorMsg.InternalError ("numtoreg: Invalid register "^(Int.toString n))
 
   (* register compare *)
This page took 0.017993 seconds and 4 git commands to generate.