00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #define INCLUDING_IN_REGISTER // we modify register classes and we're
00037
00038
00039 #include "defs.h"
00040 #include "errors.h"
00041 #include "tracing.h"
00042 #include "mempool.h"
00043 #include "config.h"
00044 #include "glob.h"
00045 #include "util.h"
00046 #include "calls.h"
00047 #include "data_layout.h"
00048 #include "tn.h"
00049 #include "targ_sim.h"
00050 #include "op.h"
00051 #include "cg_flags.h"
00052
00053 #include "register.h"
00054
00056 void
00057 REGISTER_Init_Stacked(ISA_REGISTER_CLASS rclass)
00059
00060
00061
00063 {
00064 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00065 }
00066
00068 void REGISTER_Request_Stacked_Rotating_Register()
00070
00071
00072
00074 {
00075 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00076 }
00077
00079 REGISTER REGISTER_Request_Stacked_Register(INT has_abi_property,
00080 ISA_REGISTER_CLASS rclass)
00082
00083
00084
00086 {
00087 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00088 return REGISTER_UNDEFINED;
00089 }
00090
00092 REGISTER
00093 REGISTER_Allocate_Stacked_Register(INT has_abi_property,
00094 ISA_REGISTER_CLASS rclass,
00095 REGISTER reg)
00097
00098
00099
00101 {
00102 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00103 return REGISTER_UNDEFINED;
00104 }
00105
00107 void
00108 REGISTER_Unallocate_Stacked_Register (
00109 ISA_REGISTER_CLASS rclass, REGISTER reg)
00110 {
00111 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00112 }
00113
00115 BOOL
00116 REGISTER_Is_Allocatable_Stacked_Register (
00117 ISA_REGISTER_CLASS rclass, REGISTER reg)
00118 {
00119 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00120 return FALSE;
00121 }
00122
00124 REGISTER_SET
00125 REGISTER_Get_Stacked_Avail_Set(INT has_abi_property, ISA_REGISTER_CLASS rclass)
00127
00128
00129
00131 {
00132 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00133 return REGISTER_SET_EMPTY_SET;
00134 }
00135
00137 BOOL
00138 REGISTER_Is_Stacked_Output(ISA_REGISTER_CLASS rclass, REGISTER reg)
00140
00141
00142
00144 {
00145 return FALSE;
00146 }
00147
00148
00150 BOOL
00151 REGISTER_Is_Stacked_Local(ISA_REGISTER_CLASS rclass, REGISTER reg)
00153
00154
00155
00157 {
00158 return FALSE;
00159 }
00160
00161
00163 BOOL
00164 REGISTER_Is_Stacked(ISA_REGISTER_CLASS rclass, REGISTER reg)
00166
00167
00168
00170 {
00171 return FALSE;
00172 }
00173
00175 BOOL
00176 REGISTER_Is_Rotating(ISA_REGISTER_CLASS rclass, REGISTER reg)
00178
00179
00180
00182 {
00183 return FALSE;
00184 }
00185
00187 REGISTER
00188 REGISTER_Translate_Stacked_Output(REGISTER reg)
00190
00191
00192
00194 {
00195 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00196 return REGISTER_UNDEFINED;
00197 }
00198
00199
00201 char *
00202 REGISTER_Stacked_Output_Name (REGISTER reg)
00204 {
00205 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00206 return NULL;
00207 }
00208
00209
00211 INT
00212 REGISTER_Number_Stacked_Local (ISA_REGISTER_CLASS rclass)
00214
00215
00216
00218 {
00219 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00220 return 0;
00221 }
00222
00224 INT
00225 REGISTER_Number_Stacked_Output (ISA_REGISTER_CLASS rclass)
00227
00228
00229
00231 {
00232 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00233 return 0;
00234 }
00235
00236
00238 INT
00239 REGISTER_Number_Stacked_Rotating (ISA_REGISTER_CLASS rclass)
00241
00242
00243
00245 {
00246 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00247 return 0;
00248 }
00249
00250 INT REGISTER_Number_Stacked_Registers_Available (ISA_REGISTER_CLASS rclass)
00251 {
00252 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00253 return 0;
00254 }
00255
00256
00258 void REGISTER_Reserve_Rotating_Registers(ISA_REGISTER_CLASS rclass, INT n)
00260
00261
00262
00264 {
00265 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00266 }
00267
00269 void
00270 REGISTER_Set_Stacked_Output_Minimum(ISA_REGISTER_CLASS rclass, INT num)
00272
00273
00274
00276 {
00277 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00278 }
00279
00280
00282 REGISTER REGISTER_First_Rotating_Registers(ISA_REGISTER_CLASS rclass)
00284
00285
00286
00288 {
00289 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00290 return REGISTER_UNDEFINED;
00291 }
00292
00294 REGISTER REGISTER_Last_Rotating_Registers(ISA_REGISTER_CLASS rclass)
00296
00297
00298
00300 {
00301 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00302 return REGISTER_UNDEFINED;
00303 }
00304
00305
00307 REGISTER_SET REGISTER_Get_Requested_Rotating_Registers(ISA_REGISTER_CLASS rclass)
00309
00310
00311
00313 {
00314 FmtAssert(FALSE, ("UNIMPLEMENTED"));
00315 return REGISTER_SET_EMPTY_SET;
00316 }
00317
00318
00319 mISA_REGISTER_CLASS Mtype_RegClass_Map[MTYPE_LAST+1];
00320
00321 void Init_Mtype_RegClass_Map(void)
00322 {
00323 INT i;
00324 mISA_REGISTER_CLASS * const map = Mtype_RegClass_Map;
00325
00326 for (i = 0; i <= MTYPE_LAST; ++i) map[i] = ISA_REGISTER_CLASS_UNDEFINED;
00327
00328 map[MTYPE_I1] = ISA_REGISTER_CLASS_integer;
00329 map[MTYPE_I2] = ISA_REGISTER_CLASS_integer;
00330 map[MTYPE_I4] = ISA_REGISTER_CLASS_integer;
00331 map[MTYPE_I8] = ISA_REGISTER_CLASS_integer;
00332 map[MTYPE_U1] = ISA_REGISTER_CLASS_integer;
00333 map[MTYPE_U2] = ISA_REGISTER_CLASS_integer;
00334 map[MTYPE_U4] = ISA_REGISTER_CLASS_integer;
00335 map[MTYPE_U8] = ISA_REGISTER_CLASS_integer;
00336 map[MTYPE_F4] = ISA_REGISTER_CLASS_float;
00337 map[MTYPE_F8] = ISA_REGISTER_CLASS_float;
00338 map[MTYPE_F10] = ISA_REGISTER_CLASS_float;
00339 map[MTYPE_F16] = ISA_REGISTER_CLASS_UNDEFINED;
00340 }