From 75cfdc06c6f87b3710d5fcaaaf5243c60c924bce Mon Sep 17 00:00:00 2001 From: ceriel Date: Mon, 23 Feb 1987 19:14:34 +0000 Subject: [PATCH] Initial revision --- util/ego/descr/m68020.descr | 103 ++++++++++++++++++++++++++++++++++++ util/ego/descr/m68k4.descr | 103 ++++++++++++++++++++++++++++++++++++ 2 files changed, 206 insertions(+) create mode 100644 util/ego/descr/m68020.descr create mode 100644 util/ego/descr/m68k4.descr diff --git a/util/ego/descr/m68020.descr b/util/ego/descr/m68020.descr new file mode 100644 index 000000000..a692a3dfa --- /dev/null +++ b/util/ego/descr/m68020.descr @@ -0,0 +1,103 @@ +wordsize: 4 +pointersize: 4 +%%RA +general registers: 5 +address registers: 4 +floating point registers: 0 + +register score parameters: + local variable: + (2 cases) + pointer,pointer + (1 size) + default -> (6,3) + general,general + (1 size) + default -> (4,2) + address of local variable: + (2 cases) + pointer,pointer + (1 size) + default -> (0,0) + general,pointer + (1 size) + default -> (2,2) + constant: + (2 sizes) + in_0_8 -> (0,0) + default -> (2,2) + double constant: + (1 size) + default -> (-1,-1) + address of global variable: + (1 size) + default -> (4,4) + address of procedure: + (1 size) + default -> (2,4) + +opening cost parameters: + local variable: + (2 cases) + pointer + (1 size) + default -> (6,4) + general + (1 size) + default -> (8,4) + address of local variable: + (2 cases) + pointer + (1 size) + default -> (4,2) + general + (1 size) + general -> (4,2) + constant: + (1 size) + default -> (4,4) + double constant: + (1 size) + default -> (1000,1000) + address of global variable: + (1 size) + default -> (6,6) + address of procedure: + (1 size) + default -> (6,6) + +register save costs: + (11 cases) + 0 -> (0,0) + 1 -> (12,4) + 2 -> (24,8) + 3 -> (34,8) + 4 -> (42,8) + 5 -> (50,8) + 6 -> (58,8) + 7 -> (66,8) + 8 -> (84,8) + 9 -> (92,8) + 0 -> (0,0) +%%UD +access costs of global variables: + (1 size) + default -> (7,4) +access costs of local variables: + (1 size) + default -> (4,2) +%%SR +overflow harmful?: no +array bound harmful?: no +%%CS +#include "../../../h/em_mnem.h" +first time then space: +addressing modes: op_adp op_lof op_ldf op_loi op_dch op_lpb -1 + op_adp op_lof op_ldf op_loi op_dch op_lpb -1 +cheap operations: -1 -1 +lexical tresholds: 1 1 +indirection limit: 8 +do sli if index?: yes yes +forbidden operators: -1 -1 +%%SP +global stack pollution allowed?: no diff --git a/util/ego/descr/m68k4.descr b/util/ego/descr/m68k4.descr new file mode 100644 index 000000000..a692a3dfa --- /dev/null +++ b/util/ego/descr/m68k4.descr @@ -0,0 +1,103 @@ +wordsize: 4 +pointersize: 4 +%%RA +general registers: 5 +address registers: 4 +floating point registers: 0 + +register score parameters: + local variable: + (2 cases) + pointer,pointer + (1 size) + default -> (6,3) + general,general + (1 size) + default -> (4,2) + address of local variable: + (2 cases) + pointer,pointer + (1 size) + default -> (0,0) + general,pointer + (1 size) + default -> (2,2) + constant: + (2 sizes) + in_0_8 -> (0,0) + default -> (2,2) + double constant: + (1 size) + default -> (-1,-1) + address of global variable: + (1 size) + default -> (4,4) + address of procedure: + (1 size) + default -> (2,4) + +opening cost parameters: + local variable: + (2 cases) + pointer + (1 size) + default -> (6,4) + general + (1 size) + default -> (8,4) + address of local variable: + (2 cases) + pointer + (1 size) + default -> (4,2) + general + (1 size) + general -> (4,2) + constant: + (1 size) + default -> (4,4) + double constant: + (1 size) + default -> (1000,1000) + address of global variable: + (1 size) + default -> (6,6) + address of procedure: + (1 size) + default -> (6,6) + +register save costs: + (11 cases) + 0 -> (0,0) + 1 -> (12,4) + 2 -> (24,8) + 3 -> (34,8) + 4 -> (42,8) + 5 -> (50,8) + 6 -> (58,8) + 7 -> (66,8) + 8 -> (84,8) + 9 -> (92,8) + 0 -> (0,0) +%%UD +access costs of global variables: + (1 size) + default -> (7,4) +access costs of local variables: + (1 size) + default -> (4,2) +%%SR +overflow harmful?: no +array bound harmful?: no +%%CS +#include "../../../h/em_mnem.h" +first time then space: +addressing modes: op_adp op_lof op_ldf op_loi op_dch op_lpb -1 + op_adp op_lof op_ldf op_loi op_dch op_lpb -1 +cheap operations: -1 -1 +lexical tresholds: 1 1 +indirection limit: 8 +do sli if index?: yes yes +forbidden operators: -1 -1 +%%SP +global stack pollution allowed?: no -- 2.34.1