Added sparc description, don't put constants in regs on M68020
authorceriel <none@none>
Thu, 1 Nov 1990 09:37:02 +0000 (09:37 +0000)
committerceriel <none@none>
Thu, 1 Nov 1990 09:37:02 +0000 (09:37 +0000)
util/ego/descr/.distr
util/ego/descr/Makefile
util/ego/descr/descr.sed
util/ego/descr/m68020.descr
util/ego/descr/sparc.descr [new file with mode: 0644]

index ab35179..2b9dc14 100644 (file)
@@ -9,3 +9,4 @@ vax4.descr
 em22.descr
 em24.descr
 em44.descr
+sparc.descr
index 18e02cd..ef089ae 100644 (file)
@@ -61,3 +61,6 @@ em24descr:    em24.descr descr.sed
 em44descr:     em44.descr descr.sed
                $(CPP) -P -I$(EMH) em44.descr | sed -f descr.sed > em44descr
 
+sparcdescr:    sparc.descr descr.sed
+               $(CPP) -P -I$(EMH) sparc.descr | sed -f descr.sed > sparcdescr
+
index 611b546..2a552d7 100644 (file)
@@ -8,6 +8,7 @@ s/sizes//
 s/size//
 s/->//
 s/pointer/2/g
+s/float/3/g
 s/general/0/g
 s/fitbyte/1/
 s/default/0/
index 4c9a91f..85b53e4 100644 (file)
@@ -25,9 +25,9 @@ register score parameters:
                        default ->      (2,2)
        constant:
                (3 sizes)
-               in_0_8 ->       (0,0)
-               fitbyte ->      (2,2)
-               default ->      (4,4)
+               in_0_8 ->       (-1,-1)
+               fitbyte ->      (-1,-1)
+               default ->      (-1,-1)
        double constant:
                (1 size)
                default ->      (-1,-1)
@@ -57,8 +57,8 @@ opening cost parameters:
                        general ->      (4,4)
        constant:
                (2 sizes)
-               fitbyte ->      (4,2)
-               default ->      (6,6)
+               fitbyte ->      (1000,1000)
+               default ->      (1000,1000)
        double constant:
                (1 size)
                default ->      (1000,1000)
diff --git a/util/ego/descr/sparc.descr b/util/ego/descr/sparc.descr
new file mode 100644 (file)
index 0000000..476ab3b
--- /dev/null
@@ -0,0 +1,103 @@
+wordsize: 4
+pointersize: 4
+%%RA
+general registers: 12
+address registers: 0
+floating point registers: 16
+use general as pointer: yes
+
+register score parameters:
+        local variable:
+                (3 cases)
+                general,general
+                        (1 size)
+                        default ->      (2,1)
+                pointer,general
+                        (1 size)
+                        default ->      (2,1)
+                float,float
+                        (1 size)
+                        default ->      (2,1)
+        address of local variable:
+                (1 case)
+                general,general
+                        (1 size)
+                        default ->      (-1,-1)
+        constant:
+                (1 sizes)
+                default ->      (-1,-1)
+        double constant:
+                (1 size)
+                default ->      (-1,-1)
+        address of global variable:
+                (1 size)
+                default ->      (1,1)
+        address of procedure:
+                (1 size)
+                default ->      (-1,-1)
+
+opening cost parameters:
+        local variable:
+                (1 case)
+                general
+                        (1 size)
+                        default ->      (2,1)
+        address of local variable:
+                (1 case)
+                general
+                        (1 size)
+                        default ->      (-1,-1)
+        constant:
+                (1 size)
+                default ->      (-1,-1)
+        double constant:
+                (1 size)
+                default ->      (-1,-1)
+        address of global variable:
+                (1 size)
+                default ->      (2,2)
+        address of procedure:
+                (1 size)
+                default ->      (-1,-1)
+
+register save costs:
+        (14 cases)
+        0 -> (0,0)
+        1 -> (0,0)
+        2 -> (0,0)
+        3 -> (0,0)
+        4 -> (0,0)
+        5 -> (0,0)
+        6 -> (0,0)
+        7 -> (0,0)
+        8 -> (0,0)
+        9 -> (0,0)
+        10 -> (0,0)
+        11 -> (0,0)
+        12 -> (0,0)
+        0 -> (0,0)
+
+%%UD
+access costs of global variables:
+       (1 size)
+       default ->      (3,2)
+access costs of local variables:
+       (1 size)
+       default ->      (2,1)
+%%SR
+overflow harmful?:  no
+array bound harmful?:  yes
+%%CS
+#include "../../../h/em_mnem.h"
+first time then space:
+addressing modes: -1
+                  -1
+cheap operations: op_cuu op_ciu op_cui op_cii -1
+                  op_cuu op_ciu op_cui op_cii -1
+lexical tresholds: 1 1
+indirection limit: 8
+do not eliminate sli if index on shiftcounts:   -1
+                                                -1
+forbidden operators: -1 -1
+%%SP
+global stack pollution allowed?: yes