MWCC/includes/compiler/Intrinsics.h

332 lines
6.4 KiB
C

#ifndef COMPILER_INTRINSICS_H
#define COMPILER_INTRINSICS_H
#include "compiler/common.h"
typedef enum Intrinsics {
Intrinsic_000,
Intrinsic_001,
Intrinsic_002,
Intrinsic_003,
Intrinsic_004,
Intrinsic_005,
Intrinsic_006,
Intrinsic_007,
Intrinsic_008,
Intrinsic_009,
Intrinsic_010,
Intrinsic_011,
Intrinsic_012,
Intrinsic_013,
Intrinsic_014,
Intrinsic_015,
Intrinsic_016,
Intrinsic_017,
Intrinsic_018,
Intrinsic_019,
Intrinsic_020,
Intrinsic_021,
Intrinsic_022,
Intrinsic_023,
Intrinsic_024,
Intrinsic_025,
Intrinsic_026,
Intrinsic_027,
Intrinsic_028,
Intrinsic_029,
Intrinsic_030,
Intrinsic_031,
Intrinsic_032,
Intrinsic_033,
Intrinsic_034,
Intrinsic_035,
Intrinsic_036,
Intrinsic_037,
Intrinsic_038,
Intrinsic_039,
Intrinsic_040,
Intrinsic_041,
Intrinsic_042,
Intrinsic_043,
Intrinsic_044,
Intrinsic_045,
Intrinsic_046,
Intrinsic_047,
Intrinsic_048,
Intrinsic_049,
Intrinsic_050,
Intrinsic_051,
Intrinsic_052,
Intrinsic_053,
Intrinsic_054,
Intrinsic_055,
Intrinsic_056,
Intrinsic_057,
Intrinsic_058,
Intrinsic_059,
Intrinsic_060,
Intrinsic_061,
Intrinsic_062,
Intrinsic_063,
Intrinsic_064,
Intrinsic_065,
Intrinsic_066,
Intrinsic_067,
Intrinsic_068,
Intrinsic_069,
Intrinsic_070,
Intrinsic_071,
Intrinsic_072,
Intrinsic_073,
Intrinsic_074,
Intrinsic_075,
Intrinsic_076,
Intrinsic_077,
Intrinsic_078,
Intrinsic_079,
Intrinsic_080,
Intrinsic_081,
Intrinsic_082,
Intrinsic_083,
Intrinsic_084,
Intrinsic_085,
Intrinsic_086,
Intrinsic_087,
Intrinsic_088,
Intrinsic_089,
Intrinsic_090,
Intrinsic_091,
Intrinsic_092,
Intrinsic_093,
Intrinsic_094,
Intrinsic_095,
Intrinsic_096,
Intrinsic_097,
Intrinsic_098,
Intrinsic_099,
Intrinsic_100,
Intrinsic_101,
Intrinsic_102,
Intrinsic_103,
Intrinsic_104,
Intrinsic_105,
Intrinsic_106,
Intrinsic_107,
Intrinsic_108,
Intrinsic_109,
Intrinsic_110,
Intrinsic_111,
Intrinsic_112,
Intrinsic_113,
Intrinsic_114,
Intrinsic_115,
Intrinsic_116,
Intrinsic_117,
Intrinsic_118,
Intrinsic_119,
Intrinsic_120,
Intrinsic_121,
Intrinsic_122,
Intrinsic_123,
Intrinsic_124,
Intrinsic_125,
Intrinsic_126,
Intrinsic_127,
Intrinsic_128,
Intrinsic_129,
Intrinsic_130,
Intrinsic_131,
Intrinsic_132,
Intrinsic_133,
Intrinsic_134,
Intrinsic_135,
Intrinsic_136,
Intrinsic_137,
Intrinsic_138,
Intrinsic_139,
Intrinsic_140,
Intrinsic_141,
Intrinsic_142,
Intrinsic_143,
Intrinsic_144,
Intrinsic_145,
Intrinsic_146,
Intrinsic_147,
Intrinsic_148,
Intrinsic_149,
Intrinsic_150,
Intrinsic_151,
Intrinsic_152,
Intrinsic_153,
Intrinsic_154,
Intrinsic_155,
Intrinsic_156,
Intrinsic_157,
Intrinsic_158,
Intrinsic_159,
Intrinsic_160,
Intrinsic_161,
Intrinsic_162,
Intrinsic_163,
Intrinsic_164,
Intrinsic_165,
Intrinsic_166,
Intrinsic_167,
Intrinsic_168,
Intrinsic_169,
Intrinsic_170,
Intrinsic_171,
Intrinsic_172,
Intrinsic_173,
Intrinsic_174,
Intrinsic_175,
Intrinsic_176,
Intrinsic_177,
Intrinsic_178,
Intrinsic_179,
Intrinsic_180,
Intrinsic_181,
Intrinsic_182,
Intrinsic_183,
Intrinsic_184,
Intrinsic_185,
Intrinsic_186,
Intrinsic_187,
Intrinsic_188,
Intrinsic_189,
Intrinsic_190,
Intrinsic_191,
Intrinsic_192,
Intrinsic_193,
Intrinsic_194,
Intrinsic_195,
Intrinsic_196,
Intrinsic_197,
Intrinsic_198,
Intrinsic_199,
Intrinsic_200,
Intrinsic_201,
Intrinsic_202,
Intrinsic_203,
Intrinsic_204,
Intrinsic_205,
Intrinsic_206,
Intrinsic_207,
Intrinsic_208,
Intrinsic_209,
Intrinsic_210,
Intrinsic_211,
Intrinsic_212,
Intrinsic_213,
Intrinsic_214,
Intrinsic_215,
Intrinsic_216,
Intrinsic_217,
Intrinsic_218,
Intrinsic_219,
Intrinsic_220,
Intrinsic_221,
Intrinsic_222,
Intrinsic_223,
Intrinsic_224,
Intrinsic_225,
Intrinsic_226,
Intrinsic_227,
Intrinsic_228,
Intrinsic_229,
Intrinsic_230,
Intrinsic_231,
Intrinsic_232,
Intrinsic_233,
Intrinsic_234,
Intrinsic_235,
Intrinsic_236,
Intrinsic_237,
Intrinsic_238,
Intrinsic_239,
Intrinsic_240,
Intrinsic_241,
Intrinsic_242,
Intrinsic_243,
Intrinsic_244,
Intrinsic_245,
Intrinsic_246,
Intrinsic_247,
Intrinsic_248,
Intrinsic_249,
Intrinsic_250,
Intrinsic_251,
Intrinsic_252,
Intrinsic_253,
Intrinsic_254,
Intrinsic_255,
Intrinsic_256,
Intrinsic_257,
Intrinsic_258,
Intrinsic_259,
Intrinsic_260,
Intrinsic_261,
Intrinsic_262,
Intrinsic_263,
Intrinsic_264,
Intrinsic_265,
Intrinsic_266,
Intrinsic_267,
Intrinsic_268,
Intrinsic_269,
Intrinsic_270,
Intrinsic_271,
Intrinsic_272,
Intrinsic_273,
Intrinsic_274,
Intrinsic_275,
Intrinsic_276,
Intrinsic_277,
Intrinsic_278,
Intrinsic_279,
Intrinsic_280,
Intrinsic_281,
Intrinsic_282,
Intrinsic_283,
Intrinsic_284,
Intrinsic_285,
Intrinsic_286,
Intrinsic_287,
Intrinsic_288,
Intrinsic_289,
Intrinsic_290,
Intrinsic_291,
Intrinsic_292,
Intrinsic_293,
Intrinsic_294,
Intrinsic_295,
Intrinsic_296,
Intrinsic_297,
Intrinsic_298,
Intrinsic_299,
Intrinsic_300,
Intrinsic_301,
Intrinsic_302,
Intrinsic_303,
Intrinsic_304,
Intrinsic_305,
Intrinsic_306,
Intrinsic_307,
Intrinsic_308,
Intrinsic_309,
Intrinsic_310,
MaxIntrinsics
} Intrinsics;
extern Object *__memcpy_object;
extern int VectorConditions; // unused?
extern int is_intrinsic_function_call(ENode *funccall);
extern ENode *Intrinsics_HandleIntrinsicCall(Object *func, ENodeList *args);
extern void call_intrinsic_function(ENode *funccall, short outputReg, Operand *output);
extern void Intrinsics_SetupRuntimeObjects(void);
extern Boolean Intrinsics_ReInitRuntimeObjects(Boolean flag);
extern Boolean Intrinsics_IsPublicRuntimeObject(Object *object);
#endif