Added sparc description, don't put constants in regs on M68020
This commit is contained in:
parent
b314975f0f
commit
ab1b54b56d
5 changed files with 113 additions and 5 deletions
|
@ -9,3 +9,4 @@ vax4.descr
|
||||||
em22.descr
|
em22.descr
|
||||||
em24.descr
|
em24.descr
|
||||||
em44.descr
|
em44.descr
|
||||||
|
sparc.descr
|
||||||
|
|
|
@ -61,3 +61,6 @@ em24descr: em24.descr descr.sed
|
||||||
em44descr: em44.descr descr.sed
|
em44descr: em44.descr descr.sed
|
||||||
$(CPP) -P -I$(EMH) em44.descr | sed -f descr.sed > em44descr
|
$(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
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ s/sizes//
|
||||||
s/size//
|
s/size//
|
||||||
s/->//
|
s/->//
|
||||||
s/pointer/2/g
|
s/pointer/2/g
|
||||||
|
s/float/3/g
|
||||||
s/general/0/g
|
s/general/0/g
|
||||||
s/fitbyte/1/
|
s/fitbyte/1/
|
||||||
s/default/0/
|
s/default/0/
|
||||||
|
|
|
@ -25,9 +25,9 @@ register score parameters:
|
||||||
default -> (2,2)
|
default -> (2,2)
|
||||||
constant:
|
constant:
|
||||||
(3 sizes)
|
(3 sizes)
|
||||||
in_0_8 -> (0,0)
|
in_0_8 -> (-1,-1)
|
||||||
fitbyte -> (2,2)
|
fitbyte -> (-1,-1)
|
||||||
default -> (4,4)
|
default -> (-1,-1)
|
||||||
double constant:
|
double constant:
|
||||||
(1 size)
|
(1 size)
|
||||||
default -> (-1,-1)
|
default -> (-1,-1)
|
||||||
|
@ -57,8 +57,8 @@ opening cost parameters:
|
||||||
general -> (4,4)
|
general -> (4,4)
|
||||||
constant:
|
constant:
|
||||||
(2 sizes)
|
(2 sizes)
|
||||||
fitbyte -> (4,2)
|
fitbyte -> (1000,1000)
|
||||||
default -> (6,6)
|
default -> (1000,1000)
|
||||||
double constant:
|
double constant:
|
||||||
(1 size)
|
(1 size)
|
||||||
default -> (1000,1000)
|
default -> (1000,1000)
|
||||||
|
|
103
util/ego/descr/sparc.descr
Normal file
103
util/ego/descr/sparc.descr
Normal file
|
@ -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
|
Loading…
Reference in a new issue