added interns easter eggs, compiles now

This commit is contained in:
2026-06-13 12:45:29 -06:00
parent a36705a931
commit 0c21587e15
9 changed files with 473 additions and 142 deletions
+360 -15
View File
@@ -144,7 +144,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 4,
"id": "58645013",
"metadata": {},
"outputs": [
@@ -152,26 +152,26 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Real instructions : 132\n",
"Reserved slots : 10\n",
"Real instructions : 136\n",
"Reserved slots : 12\n",
"Duplicate check : PASSED\n",
"\n",
"Groups found:\n",
"group\n",
"Integer 19\n",
"Boolean 16\n",
"System 15\n",
"Bit Wise 14\n",
"System 14\n",
"Branch 12\n",
"Floating Point 10\n",
"Casts 10\n",
"Memory 9\n",
"Memory 8\n",
"Trigonometric 7\n",
"Easter Eggs 7\n",
"Exponential 6\n",
"Matrix 6\n",
"SIMD 5\n",
"Quaternion 2\n",
"Easter Eggs 1\n",
"\n",
"First 5 instructions:\n",
" byte_code mnemonic group params addr_mask_1 type_mask\n",
@@ -283,7 +283,352 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 5,
"id": "ac8bb791",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>skip_0</th>\n",
" <th>skip_1</th>\n",
" <th>byte_code</th>\n",
" <th>mnemonic</th>\n",
" <th>name</th>\n",
" <th>group</th>\n",
" <th>params</th>\n",
" <th>imp</th>\n",
" <th>imm</th>\n",
" <th>abs</th>\n",
" <th>...</th>\n",
" <th>B</th>\n",
" <th>S</th>\n",
" <th>I</th>\n",
" <th>L</th>\n",
" <th>F</th>\n",
" <th>D</th>\n",
" <th>type_mask</th>\n",
" <th>expensive</th>\n",
" <th>operation</th>\n",
" <th>skip_2</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>140</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>08C</td>\n",
" <td>XAMA</td>\n",
" <td>SIMD Alternate Multiply-Add</td>\n",
" <td>SIMD</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>...</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>00</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>141</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>08D</td>\n",
" <td>XMUL</td>\n",
" <td>SIMD Multiply</td>\n",
" <td>SIMD</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>...</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>00</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>142</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>08E</td>\n",
" <td>XDIV</td>\n",
" <td>SIMD Divide</td>\n",
" <td>SIMD</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>...</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>00</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>240</th>\n",
" <td>NaN</td>\n",
" <td>Easter Eggs</td>\n",
" <td>0F0</td>\n",
" <td>UPY</td>\n",
" <td>Will place \"YUPI\" in memory</td>\n",
" <td>Easter Eggs</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>...</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>00</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>241</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0F1</td>\n",
" <td>INT_1_SLOT</td>\n",
" <td></td>\n",
" <td>Easter Eggs</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>...</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>00</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>242</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0F2</td>\n",
" <td>INT_2_SLOT</td>\n",
" <td></td>\n",
" <td>Easter Eggs</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>...</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>00</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>243</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0F3</td>\n",
" <td>INT_3_SLOT</td>\n",
" <td></td>\n",
" <td>Easter Eggs</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>...</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>00</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>244</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0F4</td>\n",
" <td>INT_4_SLOT</td>\n",
" <td></td>\n",
" <td>Easter Eggs</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>...</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>00</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>245</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0F5</td>\n",
" <td>BRAD</td>\n",
" <td></td>\n",
" <td>Easter Eggs</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>...</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>00</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>246</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0F6</td>\n",
" <td>DGANT</td>\n",
" <td></td>\n",
" <td>Easter Eggs</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>...</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>X</td>\n",
" <td>00</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>10 rows × 29 columns</p>\n",
"</div>"
],
"text/plain": [
" skip_0 skip_1 byte_code mnemonic name \\\n",
"140 NaN NaN 08C XAMA SIMD Alternate Multiply-Add \n",
"141 NaN NaN 08D XMUL SIMD Multiply \n",
"142 NaN NaN 08E XDIV SIMD Divide \n",
"240 NaN Easter Eggs 0F0 UPY Will place \"YUPI\" in memory \n",
"241 NaN NaN 0F1 INT_1_SLOT \n",
"242 NaN NaN 0F2 INT_2_SLOT \n",
"243 NaN NaN 0F3 INT_3_SLOT \n",
"244 NaN NaN 0F4 INT_4_SLOT \n",
"245 NaN NaN 0F5 BRAD \n",
"246 NaN NaN 0F6 DGANT \n",
"\n",
" group params imp imm abs ... B S I L F D type_mask \\\n",
"140 SIMD 0 1.0 X X ... X X X X X X 00 \n",
"141 SIMD 0 1.0 X X ... X X X X X X 00 \n",
"142 SIMD 0 1.0 X X ... X X X X X X 00 \n",
"240 Easter Eggs 0 1.0 X X ... X X X X X X 00 \n",
"241 Easter Eggs 0 1.0 X X ... X X X X X X 00 \n",
"242 Easter Eggs 0 1.0 X X ... X X X X X X 00 \n",
"243 Easter Eggs 0 1.0 X X ... X X X X X X 00 \n",
"244 Easter Eggs 0 1.0 X X ... X X X X X X 00 \n",
"245 Easter Eggs 0 1.0 X X ... X X X X X X 00 \n",
"246 Easter Eggs 0 1.0 X X ... X X X X X X 00 \n",
"\n",
" expensive operation skip_2 \n",
"140 NaN NaN \n",
"141 NaN NaN \n",
"142 NaN NaN \n",
"240 NaN NaN \n",
"241 NaN NaN \n",
"242 NaN NaN \n",
"243 NaN NaN \n",
"244 NaN NaN \n",
"245 NaN NaN \n",
"246 NaN NaN \n",
"\n",
"[10 rows x 29 columns]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"instrs_df.tail(10)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "452bc76c",
"metadata": {},
"outputs": [
@@ -292,7 +637,7 @@
"output_type": "stream",
"text": [
"Masks written to: .//autogen/InstructionMasks.hpp\n",
"Lines generated : 280\n"
"Lines generated : 288\n"
]
}
],
@@ -357,7 +702,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 7,
"id": "5aaebef0",
"metadata": {},
"outputs": [
@@ -365,7 +710,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Instructions formatted: 132\n",
"Instructions formatted: 136\n",
"\n",
"--- Preview (first 2 instructions) ---\n",
" // [System] 0x000 — NOP: No Operation\n",
@@ -380,7 +725,7 @@
"\n",
"\n",
"CPU.hpp updated successfully at: .//src//spider/runtime/cpu/CPU.hpp\n",
"Total lines in updated file: 911\n"
"Total lines in updated file: 942\n"
]
}
],
@@ -460,9 +805,9 @@
"output_type": "stream",
"text": [
"InstrMap.cpp written to: .//src//spider/runtime/instr/InstrMap.cpp\n",
" Size : 33,581 bytes\n",
" Array entries : 512 (132 populated, 380 nullptr)\n",
" Switch cases : 132\n",
" Size : 33,582 bytes\n",
" Array entries : 512 (136 populated, 376 nullptr)\n",
" Switch cases : 136\n",
" Line endings : LF-only verified\n"
]
}
@@ -618,7 +963,7 @@
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 9,
"id": "9f190f4c",
"metadata": {},
"outputs": [],