summaryrefslogtreecommitdiff
path: root/includes/compiler/Intrinsics.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--includes/compiler/Intrinsics.h325
1 files changed, 325 insertions, 0 deletions
diff --git a/includes/compiler/Intrinsics.h b/includes/compiler/Intrinsics.h
index 19150f7..7ef7403 100644
--- a/includes/compiler/Intrinsics.h
+++ b/includes/compiler/Intrinsics.h
@@ -3,4 +3,329 @@
#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