diff --git a/util/ego/descr/i86.descr b/util/ego/descr/i86.descr index 4dc7545cd..8dcbb4fe7 100644 --- a/util/ego/descr/i86.descr +++ b/util/ego/descr/i86.descr @@ -1,6 +1,78 @@ wordsize: 2 pointersize: 2 +%%RA +general registers: 2 +address registers: 0 +floating point registers: 0 + +register score parameters: + local variable: + (2 cases) + pointer,general + (1 size) + default -> (8,4) + general,general + (1 size) + default -> (4,2) + address of local variable: + (2 cases) + pointer,general + (1 size) + default -> (0,0) + general,general + (1 size) + default -> (2,2) + constant: + (1 sizes) + default -> (2,2) + double constant: + (1 size) + default -> (-1,-1) + address of global variable: + (1 size) + default -> (4,2) + address of procedure: + (1 size) + default -> (2,2) + +opening cost parameters: + local variable: + (2 cases) + pointer + (1 size) + default -> (9,4) + general + (1 size) + default -> (9,4) + address of local variable: + (2 cases) + pointer + (1 size) + default -> (10,6) + general + (1 size) + general -> (10,6) + constant: + (1 size) + default -> (4,4) + double constant: + (1 size) + default -> (1000,1000) + address of global variable: + (1 size) + default -> (4,4) + address of procedure: + (1 size) + default -> (4,4) + +register save costs: + (4 cases) + 0 -> (0,0) + 1 -> (18,2) + 2 -> (36,4) + 0 -> (0,0) + %%UD access costs of global variables: (1 size) @@ -12,4 +84,4 @@ access costs of local variables: overflow harmful?: no array bound harmful?: no %%SP -global stack pollution allowed?: yes +global stack pollution allowed?: no