P1-riscv64.M1 (17675B)
1 ## riscv64.M1 — GENERATED by p1/gen/p1_gen.py. Do not edit by hand. 2 ## 3 ## This table targets the P1 ISA described in docs/P1.md. 4 ## Row shapes are shared; per-arch lowering lives in p1/gen/<arch>.py. 5 6 7 ## ---- Materialization 8 DEFINE li_a0 170500000335C5006F00C000 9 DEFINE li_a1 9705000083B5C5006F00C000 10 DEFINE li_a2 170600000336C6006F00C000 11 DEFINE li_a3 9706000083B6C6006F00C000 12 DEFINE li_t0 9702000083B2C2006F00C000 13 DEFINE li_t1 170300000333C3006F00C000 14 DEFINE li_t2 9703000083B3C3006F00C000 15 DEFINE la_a0 170500000365C5006F008000 16 DEFINE la_a1 9705000083E5C5006F008000 17 DEFINE la_a2 170600000366C6006F008000 18 DEFINE la_a3 9706000083E6C6006F008000 19 DEFINE la_t0 9702000083E2C2006F008000 20 DEFINE la_t1 170300000363C3006F008000 21 DEFINE la_t2 9703000083E3C3006F008000 22 DEFINE la_br 970F000083EFCF006F008000 23 24 ## ---- Moves 25 DEFINE mov_a0,a1 13850500 26 DEFINE mov_a0,a3 13850600 27 DEFINE mov_a0,t0 13850200 28 DEFINE mov_a0,t1 13050300 29 DEFINE mov_a1,a0 93050500 30 DEFINE mov_a1,t0 93850200 31 DEFINE mov_a1,t1 93050300 32 DEFINE mov_a1,t2 93850300 33 DEFINE mov_a2,a1 13860500 34 DEFINE mov_a2,t0 13860200 35 DEFINE mov_a2,t1 13060300 36 DEFINE mov_t0,a0 93020500 37 DEFINE mov_t1,a0 13030500 38 DEFINE mov_t1,t0 13830200 39 DEFINE mov_t2,a0 93030500 40 DEFINE mov_t2,t1 93030300 41 42 ## ---- Register Arithmetic 43 DEFINE add_a0,a0,a1 3305B500 44 DEFINE add_a0,a0,a2 3305C500 45 DEFINE add_a0,a0,a3 3305D500 46 DEFINE add_a0,a0,t0 33055500 47 DEFINE add_a0,a0,t1 33056500 48 DEFINE add_a0,a2,a0 3305A600 49 DEFINE add_a0,a2,t2 33057600 50 DEFINE add_a0,t0,a3 3385D200 51 DEFINE add_a0,t1,a0 3305A300 52 DEFINE add_a0,t1,t2 33057300 53 DEFINE add_a0,t2,a1 3385B300 54 DEFINE add_a1,a0,a1 B305B500 55 DEFINE add_a1,a0,a3 B305D500 56 DEFINE add_a1,a1,a0 B385A500 57 DEFINE add_a1,a1,a2 B385C500 58 DEFINE add_a1,a1,a3 B385D500 59 DEFINE add_a1,a1,t0 B3855500 60 DEFINE add_a1,a1,t2 B3857500 61 DEFINE add_a1,a2,t0 B3055600 62 DEFINE add_a1,a3,a1 B385B600 63 DEFINE add_a1,t0,a0 B385A200 64 DEFINE add_a1,t2,a1 B385B300 65 DEFINE add_a1,t2,a3 B385D300 66 DEFINE add_a1,t2,t1 B3856300 67 DEFINE add_a2,a1,a3 3386D500 68 DEFINE add_a2,a1,t0 33865500 69 DEFINE add_a2,a2,a0 3306A600 70 DEFINE add_a2,a2,a1 3306B600 71 DEFINE add_a2,a2,a3 3306D600 72 DEFINE add_a2,a2,t0 33065600 73 DEFINE add_a2,a2,t1 33066600 74 DEFINE add_a2,a2,t2 33067600 75 DEFINE add_a2,a3,a1 3386B600 76 DEFINE add_a2,a3,a2 3386C600 77 DEFINE add_a2,t0,t1 33866200 78 DEFINE add_a2,t2,a0 3386A300 79 DEFINE add_a2,t2,a2 3386C300 80 DEFINE add_a3,a0,a2 B306C500 81 DEFINE add_a3,a1,t1 B3866500 82 DEFINE add_a3,a1,t2 B3867500 83 DEFINE add_a3,a2,t1 B3066600 84 DEFINE add_a3,a3,a0 B386A600 85 DEFINE add_a3,a3,a1 B386B600 86 DEFINE add_a3,a3,a2 B386C600 87 DEFINE add_a3,a3,t0 B3865600 88 DEFINE add_a3,a3,t1 B3866600 89 DEFINE add_a3,a3,t2 B3867600 90 DEFINE add_a3,t0,t2 B3867200 91 DEFINE add_a3,t1,a2 B306C300 92 DEFINE add_t0,a1,t2 B3827500 93 DEFINE add_t0,a2,a3 B302D600 94 DEFINE add_t0,a3,a1 B382B600 95 DEFINE add_t0,a3,t0 B3825600 96 DEFINE add_t0,t0,a0 B382A200 97 DEFINE add_t0,t0,a1 B382B200 98 DEFINE add_t0,t0,a3 B382D200 99 DEFINE add_t0,t0,t1 B3826200 100 DEFINE add_t0,t2,a3 B382D300 101 DEFINE add_t1,a0,t0 33035500 102 DEFINE add_t1,a3,t1 33836600 103 DEFINE add_t1,t0,a0 3383A200 104 DEFINE add_t1,t0,t1 33836200 105 DEFINE add_t1,t1,a2 3303C300 106 DEFINE add_t1,t1,t0 33035300 107 DEFINE add_t1,t1,t2 33037300 108 DEFINE add_t2,a0,t0 B3035500 109 DEFINE add_t2,a0,t1 B3036500 110 DEFINE add_t2,a1,t2 B3837500 111 DEFINE add_t2,a2,t1 B3036600 112 DEFINE add_t2,t0,t1 B3836200 113 DEFINE add_t2,t1,t0 B3035300 114 DEFINE add_t2,t1,t2 B3037300 115 DEFINE add_t2,t2,a0 B383A300 116 DEFINE add_t2,t2,a3 B383D300 117 DEFINE add_t2,t2,t1 B3836300 118 DEFINE sub_a0,a0,t1 33056540 119 DEFINE sub_a0,a1,a0 3385A540 120 DEFINE sub_a0,a1,t2 33857540 121 DEFINE sub_a0,a3,a0 3385A640 122 DEFINE sub_a0,t0,a1 3385B240 123 DEFINE sub_a0,t0,t1 33856240 124 DEFINE sub_a0,t1,a0 3305A340 125 DEFINE sub_a1,t0,a0 B385A240 126 DEFINE sub_a2,a1,a0 3386A540 127 DEFINE sub_a2,a2,a2 3306C640 128 DEFINE sub_a2,a2,t0 33065640 129 DEFINE sub_a2,t0,t1 33866240 130 DEFINE sub_a2,t2,a3 3386D340 131 DEFINE sub_a3,a1,a2 B386C540 132 DEFINE sub_a3,a3,a2 B386C640 133 DEFINE sub_a3,t0,a2 B386C240 134 DEFINE sub_a3,t0,a3 B386D240 135 DEFINE sub_a3,t1,a2 B306C340 136 DEFINE sub_a3,t1,a3 B306D340 137 DEFINE sub_a3,t1,t0 B3065340 138 DEFINE sub_a3,t2,t1 B3866340 139 DEFINE sub_t0,a1,a2 B382C540 140 DEFINE sub_t0,t0,a1 B382B240 141 DEFINE sub_t0,t0,t1 B3826240 142 DEFINE sub_t0,t1,t0 B3025340 143 DEFINE sub_t1,t1,t0 33035340 144 DEFINE sub_t2,t1,t0 B3035340 145 DEFINE and_a3,a3,a2 B3F6C600 146 DEFINE or_a0,a0,a2 3365C500 147 DEFINE or_a3,a3,a2 B3E6C600 148 DEFINE or_t0,t0,t1 B3E26200 149 DEFINE xor_a2,a2,a3 3346D600 150 DEFINE xor_a3,a3,a2 B3C6C600 151 DEFINE shl_a2,a2,a3 3316D600 152 DEFINE sar_a2,a2,a3 3356D640 153 DEFINE mul_a0,a0,a3 3305D502 154 DEFINE mul_a0,a0,t0 33055502 155 DEFINE mul_a0,t1,t2 33057302 156 DEFINE mul_a1,t0,t1 B3856202 157 DEFINE mul_a2,a2,t1 33066602 158 DEFINE mul_a3,a3,a2 B386C602 159 DEFINE mul_t0,t0,a1 B382B202 160 DEFINE mul_t0,t0,t1 B3826202 161 DEFINE mul_t2,t0,a2 B383C202 162 DEFINE div_a0,a0,a1 3345B502 163 DEFINE div_a0,a0,t1 33456502 164 DEFINE div_a2,a2,a3 3346D602 165 DEFINE rem_a2,a0,a1 3366B502 166 DEFINE rem_a2,a0,t1 33666502 167 DEFINE rem_a2,a2,a3 3366D602 168 DEFINE rem_a2,t0,a1 33E6B202 169 170 ## ---- Immediate Arithmetic 171 DEFINE addi_a0,a0,neg1 1305F5FF 172 DEFINE addi_a0,a0,1 13051500 173 DEFINE addi_a0,a0,32 13050502 174 DEFINE addi_a1,a1,neg32 938505FE 175 DEFINE addi_a1,a1,neg2 9385E5FF 176 DEFINE addi_a1,a1,1 93851500 177 DEFINE addi_a1,a1,2 93852500 178 DEFINE addi_a1,a1,3 93853500 179 DEFINE addi_a1,t0,1 93851200 180 DEFINE addi_a2,a0,1 13061500 181 DEFINE addi_a2,a2,neg1 1306F6FF 182 DEFINE addi_a2,a2,1 13061600 183 DEFINE addi_a2,a2,2 13062600 184 DEFINE addi_a2,a2,3 13063600 185 DEFINE addi_a2,a2,8 13068600 186 DEFINE addi_a2,a2,24 13068601 187 DEFINE addi_a2,a2,48 13060603 188 DEFINE addi_a2,t0,1 13861200 189 DEFINE addi_a2,t0,32 13860202 190 DEFINE addi_a2,t2,neg48 138603FD 191 DEFINE addi_a3,a3,neg1 9386F6FF 192 DEFINE addi_a3,a3,1 93861600 193 DEFINE addi_a3,a3,32 93860602 194 DEFINE addi_a3,t0,32 93860202 195 DEFINE addi_a3,t1,32 93060302 196 DEFINE addi_t0,a0,32 93020502 197 DEFINE addi_t0,a1,neg32 938205FE 198 DEFINE addi_t0,a1,32 93820502 199 DEFINE addi_t0,a3,neg1 9382F6FF 200 DEFINE addi_t0,t0,neg1 9382F2FF 201 DEFINE addi_t0,t0,1 93821200 202 DEFINE addi_t0,t0,2 93822200 203 DEFINE addi_t0,t0,7 93827200 204 DEFINE addi_t0,t0,32 93820202 205 DEFINE addi_t1,t0,32 13830202 206 DEFINE addi_t1,t1,neg32 130303FE 207 DEFINE addi_t1,t1,neg1 1303F3FF 208 DEFINE addi_t1,t1,1 13031300 209 DEFINE addi_t1,t1,16 13030301 210 DEFINE addi_t1,t1,32 13030302 211 DEFINE addi_t2,a1,neg32 938305FE 212 DEFINE addi_t2,t0,neg32 938302FE 213 DEFINE addi_t2,t0,32 93830202 214 DEFINE addi_t2,t1,2 93032300 215 DEFINE addi_t2,t2,neg1 9383F3FF 216 DEFINE addi_t2,t2,1 93831300 217 DEFINE addi_t2,t2,7 93837300 218 DEFINE addi_t2,t2,24 93838301 219 DEFINE addi_t2,t2,32 93830302 220 DEFINE andi_a0,a0,255 1375F50F 221 DEFINE andi_a2,a2,15 1376F600 222 DEFINE andi_a3,a3,15 93F6F600 223 DEFINE andi_a3,a3,255 93F6F60F 224 DEFINE andi_a3,t2,255 93F6F30F 225 DEFINE shli_a0,a0,3 13153500 226 DEFINE shli_a0,a0,4 13154500 227 DEFINE shli_a1,a1,1 93951500 228 DEFINE shli_a2,a2,3 13163600 229 DEFINE shli_a2,t1,3 13163300 230 DEFINE shli_a3,t0,1 93961200 231 DEFINE shli_a3,t0,4 93964200 232 DEFINE shli_t0,t0,4 93924200 233 DEFINE shli_t1,a2,3 13133600 234 DEFINE shli_t1,t1,3 13133300 235 DEFINE shli_t2,t0,3 93933200 236 DEFINE shri_a0,a0,5 13555500 237 DEFINE shri_a2,a3,4 13D64600 238 DEFINE shri_t2,t2,8 93D38300 239 240 ## ---- Memory 241 DEFINE ld_a0,a0,0 03350500 242 DEFINE ld_a0,a0,8 03358500 243 DEFINE ld_a0,a0,16 03350501 244 DEFINE ld_a0,a1,0 03B50500 245 DEFINE ld_a0,a1,16 03B50501 246 DEFINE ld_a0,a2,0 03350600 247 DEFINE ld_a0,a2,24 03358601 248 DEFINE ld_a0,a3,0 03B50600 249 DEFINE ld_a0,a3,8 03B58600 250 DEFINE ld_a0,a3,16 03B50601 251 DEFINE ld_a0,a3,24 03B58601 252 DEFINE ld_a0,t0,0 03B50200 253 DEFINE ld_a0,t0,8 03B58200 254 DEFINE ld_a0,t0,16 03B50201 255 DEFINE ld_a0,sp,0 03350101 256 DEFINE ld_a0,sp,8 03358101 257 DEFINE ld_a0,sp,24 03358102 258 DEFINE ld_a1,a0,0 83350500 259 DEFINE ld_a1,a0,8 83358500 260 DEFINE ld_a1,a0,16 83350501 261 DEFINE ld_a1,a1,0 83B50500 262 DEFINE ld_a1,a1,8 83B58500 263 DEFINE ld_a1,a2,8 83358600 264 DEFINE ld_a1,a3,8 83B58600 265 DEFINE ld_a1,t0,0 83B50200 266 DEFINE ld_a1,t0,8 83B58200 267 DEFINE ld_a1,t0,16 83B50201 268 DEFINE ld_a1,t0,24 83B58201 269 DEFINE ld_a1,t1,0 83350300 270 DEFINE ld_a1,t1,24 83358301 271 DEFINE ld_a1,t2,16 83B50301 272 DEFINE ld_a1,sp,0 83350101 273 DEFINE ld_a1,sp,8 83358101 274 DEFINE ld_a2,a0,0 03360500 275 DEFINE ld_a2,a0,16 03360501 276 DEFINE ld_a2,a0,24 03368501 277 DEFINE ld_a2,a1,0 03B60500 278 DEFINE ld_a2,a2,0 03360600 279 DEFINE ld_a2,t0,0 03B60200 280 DEFINE ld_a2,t0,8 03B68200 281 DEFINE ld_a2,t0,16 03B60201 282 DEFINE ld_a2,t0,24 03B68201 283 DEFINE ld_a2,t1,neg32 033603FE 284 DEFINE ld_a2,t1,0 03360300 285 DEFINE ld_a2,t2,0 03B60300 286 DEFINE ld_a2,sp,16 03360102 287 DEFINE ld_a3,a0,0 83360500 288 DEFINE ld_a3,a0,8 83368500 289 DEFINE ld_a3,a0,16 83360501 290 DEFINE ld_a3,a1,0 83B60500 291 DEFINE ld_a3,a1,8 83B68500 292 DEFINE ld_a3,a2,0 83360600 293 DEFINE ld_a3,a3,0 83B60600 294 DEFINE ld_a3,t0,0 83B60200 295 DEFINE ld_a3,t0,8 83B68200 296 DEFINE ld_a3,t0,16 83B60201 297 DEFINE ld_a3,t0,24 83B68201 298 DEFINE ld_a3,t1,8 83368300 299 DEFINE ld_t0,a0,0 83320500 300 DEFINE ld_t0,a0,8 83328500 301 DEFINE ld_t0,a0,16 83320501 302 DEFINE ld_t0,a0,24 83328501 303 DEFINE ld_t0,a1,0 83B20500 304 DEFINE ld_t0,a1,8 83B28500 305 DEFINE ld_t0,a1,16 83B20501 306 DEFINE ld_t0,a1,24 83B28501 307 DEFINE ld_t0,a1,32 83B20502 308 DEFINE ld_t0,a1,40 83B28502 309 DEFINE ld_t0,a1,48 83B20503 310 DEFINE ld_t0,a1,64 83B20504 311 DEFINE ld_t0,a2,0 83320600 312 DEFINE ld_t0,a3,0 83B20600 313 DEFINE ld_t0,t0,0 83B20200 314 DEFINE ld_t0,t2,0 83B20300 315 DEFINE ld_t0,t2,16 83B20301 316 DEFINE ld_t0,sp,0 83320101 317 DEFINE ld_t0,sp,8 83328101 318 DEFINE ld_t0,sp,16 83320102 319 DEFINE ld_t0,sp,24 83328102 320 DEFINE ld_t0,sp,32 83320103 321 DEFINE ld_t0,sp,40 83328103 322 DEFINE ld_t1,a0,0 03330500 323 DEFINE ld_t1,a0,8 03338500 324 DEFINE ld_t1,a0,16 03330501 325 DEFINE ld_t1,a0,24 03338501 326 DEFINE ld_t1,a1,0 03B30500 327 DEFINE ld_t1,a1,8 03B38500 328 DEFINE ld_t1,a1,16 03B30501 329 DEFINE ld_t1,a1,56 03B38503 330 DEFINE ld_t1,a2,0 03330600 331 DEFINE ld_t1,a2,8 03338600 332 DEFINE ld_t1,a2,16 03330601 333 DEFINE ld_t1,a3,0 03B30600 334 DEFINE ld_t1,a3,8 03B38600 335 DEFINE ld_t1,t0,0 03B30200 336 DEFINE ld_t1,t0,16 03B30201 337 DEFINE ld_t1,t1,0 03330300 338 DEFINE ld_t1,t1,16 03330301 339 DEFINE ld_t1,sp,8 03338101 340 DEFINE ld_t1,sp,32 03330103 341 DEFINE ld_t1,sp,48 03330104 342 DEFINE ld_t2,a0,0 83330500 343 DEFINE ld_t2,a1,0 83B30500 344 DEFINE ld_t2,a3,0 83B30600 345 DEFINE ld_t2,a3,16 83B30601 346 DEFINE ld_t2,t0,0 83B30200 347 DEFINE ld_t2,t0,8 83B38200 348 DEFINE ld_t2,t0,24 83B38201 349 DEFINE ld_t2,t1,0 83330300 350 DEFINE ld_t2,t1,8 83338300 351 DEFINE ld_t2,t1,16 83330301 352 DEFINE ld_t2,t2,0 83B30300 353 DEFINE ld_t2,sp,16 83330102 354 DEFINE st_a0,a1,0 23B0A500 355 DEFINE st_a0,a2,0 2330A600 356 DEFINE st_a0,a2,8 2334A600 357 DEFINE st_a0,a2,16 2338A600 358 DEFINE st_a0,a2,24 233CA600 359 DEFINE st_a0,a3,0 23B0A600 360 DEFINE st_a0,a3,8 23B4A600 361 DEFINE st_a0,a3,16 23B8A600 362 DEFINE st_a0,t0,0 23B0A200 363 DEFINE st_a0,t0,8 23B4A200 364 DEFINE st_a0,t1,0 2330A300 365 DEFINE st_a0,t2,0 23B0A300 366 DEFINE st_a0,t2,8 23B4A300 367 DEFINE st_a0,t2,16 23B8A300 368 DEFINE st_a0,sp,0 2338A100 369 DEFINE st_a0,sp,16 2330A102 370 DEFINE st_a1,a0,0 2330B500 371 DEFINE st_a1,a2,0 2330B600 372 DEFINE st_a1,a2,16 2338B600 373 DEFINE st_a1,a2,24 233CB600 374 DEFINE st_a1,a3,0 23B0B600 375 DEFINE st_a1,a3,8 23B4B600 376 DEFINE st_a1,t0,0 23B0B200 377 DEFINE st_a1,t0,8 23B4B200 378 DEFINE st_a1,t0,16 23B8B200 379 DEFINE st_a1,t0,24 23BCB200 380 DEFINE st_a1,t1,0 2330B300 381 DEFINE st_a1,t1,8 2334B300 382 DEFINE st_a1,t1,16 2338B300 383 DEFINE st_a1,t1,24 233CB300 384 DEFINE st_a1,t2,16 23B8B300 385 DEFINE st_a1,sp,8 233CB100 386 DEFINE st_a1,sp,16 2330B102 387 DEFINE st_a2,a0,0 2330C500 388 DEFINE st_a2,a1,0 23B0C500 389 DEFINE st_a2,a3,0 23B0C600 390 DEFINE st_a2,a3,16 23B8C600 391 DEFINE st_a2,a3,24 23BCC600 392 DEFINE st_a2,a3,32 23B0C602 393 DEFINE st_a2,t0,0 23B0C200 394 DEFINE st_a2,t0,16 23B8C200 395 DEFINE st_a2,t1,0 2330C300 396 DEFINE st_a2,t2,0 23B0C300 397 DEFINE st_a3,a0,0 2330D500 398 DEFINE st_a3,a1,0 23B0D500 399 DEFINE st_a3,a2,0 2330D600 400 DEFINE st_a3,t0,24 23BCD200 401 DEFINE st_a3,t1,0 2330D300 402 DEFINE st_a3,t1,8 2334D300 403 DEFINE st_a3,t2,0 23B0D300 404 DEFINE st_a3,t2,8 23B4D300 405 DEFINE st_a3,t2,16 23B8D300 406 DEFINE st_a3,t2,24 23BCD300 407 DEFINE st_t0,a0,0 23305500 408 DEFINE st_t0,a0,8 23345500 409 DEFINE st_t0,a0,16 23385500 410 DEFINE st_t0,a0,24 233C5500 411 DEFINE st_t0,a1,0 23B05500 412 DEFINE st_t0,a1,8 23B45500 413 DEFINE st_t0,a1,16 23B85500 414 DEFINE st_t0,a1,24 23BC5500 415 DEFINE st_t0,a1,32 23B05502 416 DEFINE st_t0,a1,40 23B45502 417 DEFINE st_t0,a1,48 23B85502 418 DEFINE st_t0,a1,56 23BC5502 419 DEFINE st_t0,a1,64 23B05504 420 DEFINE st_t0,a2,0 23305600 421 DEFINE st_t0,a3,0 23B05600 422 DEFINE st_t0,t1,0 23305300 423 DEFINE st_t0,t2,0 23B05300 424 DEFINE st_t0,sp,0 23385100 425 DEFINE st_t0,sp,8 233C5100 426 DEFINE st_t0,sp,16 23305102 427 DEFINE st_t0,sp,24 23345102 428 DEFINE st_t0,sp,32 23385102 429 DEFINE st_t0,sp,40 233C5102 430 DEFINE st_t0,sp,48 23305104 431 DEFINE st_t1,a0,0 23306500 432 DEFINE st_t1,a0,24 233C6500 433 DEFINE st_t1,a0,56 233C6502 434 DEFINE st_t1,a1,0 23B06500 435 DEFINE st_t1,a2,0 23306600 436 DEFINE st_t1,a3,0 23B06600 437 DEFINE st_t1,a3,8 23B46600 438 DEFINE st_t1,a3,16 23B86600 439 DEFINE st_t1,a3,24 23BC6600 440 DEFINE st_t1,t0,0 23B06200 441 DEFINE st_t2,a0,0 23307500 442 DEFINE st_t2,a1,0 23B07500 443 DEFINE st_t2,a2,0 23307600 444 DEFINE st_t2,a3,0 23B07600 445 DEFINE st_t2,t0,0 23B07200 446 DEFINE st_t2,t1,0 23307300 447 DEFINE lb_a0,a0,0 03450500 448 DEFINE lb_a0,a1,0 03C50500 449 DEFINE lb_a0,a2,0 03450600 450 DEFINE lb_a0,t0,0 03C50200 451 DEFINE lb_a1,a1,0 83C50500 452 DEFINE lb_a1,a2,0 83450600 453 DEFINE lb_a1,a2,1 83451600 454 DEFINE lb_a2,a1,0 03C60500 455 DEFINE lb_a2,a2,0 03460600 456 DEFINE lb_a2,t0,0 03C60200 457 DEFINE lb_a3,a0,0 83460500 458 DEFINE lb_a3,a1,0 83C60500 459 DEFINE lb_a3,a2,0 83460600 460 DEFINE lb_a3,a3,0 83C60600 461 DEFINE lb_a3,t2,0 83C60300 462 DEFINE lb_a3,t2,1 83C61300 463 DEFINE lb_t0,a0,0 83420500 464 DEFINE lb_t0,a0,1 83421500 465 DEFINE lb_t0,t0,0 83C20200 466 DEFINE lb_t1,t1,0 03430300 467 DEFINE lb_t2,a2,0 83430600 468 DEFINE lb_t2,t0,0 83C30200 469 DEFINE lb_t2,t2,0 83C30300 470 DEFINE sb_a0,a1,0 2380A500 471 DEFINE sb_a0,a2,0 2300A600 472 DEFINE sb_a0,a3,0 2380A600 473 DEFINE sb_a0,t2,0 2380A300 474 DEFINE sb_a1,a2,0 2300B600 475 DEFINE sb_a1,t0,0 2380B200 476 DEFINE sb_a2,a1,0 2380C500 477 DEFINE sb_a2,a3,0 2380C600 478 DEFINE sb_a2,t2,0 2380C300 479 DEFINE sb_a3,a0,0 2300D500 480 DEFINE sb_a3,a1,0 2380D500 481 DEFINE sb_a3,a2,0 2300D600 482 DEFINE sb_a3,t2,0 2380D300 483 DEFINE sb_t0,a3,0 23805600 484 DEFINE sb_t1,a0,0 23006500 485 DEFINE sb_t1,a2,0 23006600 486 DEFINE sb_t2,a1,0 23807500 487 DEFINE sb_t2,a2,0 23007600 488 489 ## ---- ABI Access 490 491 ## ---- Branches 492 DEFINE b 67800F00 493 DEFINE beq_a0,a1 6314B50067800F00 494 DEFINE beq_a0,t0 6314550067800F00 495 DEFINE beq_a0,t1 6314650067800F00 496 DEFINE beq_a1,a0 6394A50067800F00 497 DEFINE beq_a1,a2 6394C50067800F00 498 DEFINE beq_a2,a1 6314B60067800F00 499 DEFINE beq_a2,a3 6314D60067800F00 500 DEFINE beq_a3,a0 6394A60067800F00 501 DEFINE beq_a3,a1 6394B60067800F00 502 DEFINE beq_a3,a2 6394C60067800F00 503 DEFINE beq_a3,t0 6394560067800F00 504 DEFINE beq_a3,t1 6394660067800F00 505 DEFINE beq_t0,a0 6394A20067800F00 506 DEFINE beq_t0,a1 6394B20067800F00 507 DEFINE beq_t0,a2 6394C20067800F00 508 DEFINE beq_t0,t1 6394620067800F00 509 DEFINE beq_t0,t2 6394720067800F00 510 DEFINE beq_t1,a0 6314A30067800F00 511 DEFINE beq_t1,a1 6314B30067800F00 512 DEFINE beq_t1,a2 6314C30067800F00 513 DEFINE beq_t1,t0 6314530067800F00 514 DEFINE beq_t1,t2 6314730067800F00 515 DEFINE beq_t2,a2 6394C30067800F00 516 DEFINE beq_t2,a3 6394D30067800F00 517 DEFINE beq_t2,t1 6394630067800F00 518 DEFINE bne_a0,a1 6304B50067800F00 519 DEFINE bne_a0,t0 6304550067800F00 520 DEFINE bne_a0,t1 6304650067800F00 521 DEFINE bne_a1,a0 6384A50067800F00 522 DEFINE bne_a1,a2 6384C50067800F00 523 DEFINE bne_a1,t0 6384550067800F00 524 DEFINE bne_a2,a1 6304B60067800F00 525 DEFINE bne_a2,a3 6304D60067800F00 526 DEFINE bne_a3,a0 6384A60067800F00 527 DEFINE bne_a3,a1 6384B60067800F00 528 DEFINE bne_a3,a2 6384C60067800F00 529 DEFINE bne_a3,t0 6384560067800F00 530 DEFINE bne_t0,a0 6384A20067800F00 531 DEFINE bne_t0,a2 6384C20067800F00 532 DEFINE bne_t0,t1 6384620067800F00 533 DEFINE bne_t0,t2 6384720067800F00 534 DEFINE bne_t1,a0 6304A30067800F00 535 DEFINE bne_t1,a2 6304C30067800F00 536 DEFINE bne_t1,a3 6304D30067800F00 537 DEFINE bne_t1,t2 6304730067800F00 538 DEFINE bne_t2,a2 6384C30067800F00 539 DEFINE bne_t2,a3 6384D30067800F00 540 DEFINE bne_t2,t0 6384530067800F00 541 DEFINE blt_a0,a1 6354B50067800F00 542 DEFINE blt_a0,a2 6354C50067800F00 543 DEFINE blt_a0,t1 6354650067800F00 544 DEFINE blt_a1,a0 63D4A50067800F00 545 DEFINE blt_a1,a2 63D4C50067800F00 546 DEFINE blt_a1,t0 63D4550067800F00 547 DEFINE blt_a1,t2 63D4750067800F00 548 DEFINE blt_a2,a1 6354B60067800F00 549 DEFINE blt_a2,a3 6354D60067800F00 550 DEFINE blt_a2,t0 6354560067800F00 551 DEFINE blt_a2,t1 6354660067800F00 552 DEFINE blt_a3,a2 63D4C60067800F00 553 DEFINE blt_a3,t2 63D4760067800F00 554 DEFINE blt_t0,a0 63D4A20067800F00 555 DEFINE blt_t0,a2 63D4C20067800F00 556 DEFINE blt_t0,t1 63D4620067800F00 557 DEFINE blt_t1,a0 6354A30067800F00 558 DEFINE blt_t1,a1 6354B30067800F00 559 DEFINE blt_t1,t0 6354530067800F00 560 DEFINE blt_t2,a3 63D4D30067800F00 561 DEFINE blt_t2,t1 63D4630067800F00 562 DEFINE beqz_a0 6314050067800F00 563 DEFINE beqz_a1 6394050067800F00 564 DEFINE beqz_a2 6314060067800F00 565 DEFINE beqz_a3 6394060067800F00 566 DEFINE beqz_t0 6394020067800F00 567 DEFINE beqz_t1 6314030067800F00 568 DEFINE beqz_t2 6394030067800F00 569 DEFINE bnez_a0 6304050067800F00 570 DEFINE bnez_a1 6384050067800F00 571 DEFINE bnez_a2 6304060067800F00 572 DEFINE bnez_a3 6384060067800F00 573 DEFINE bnez_t0 6384020067800F00 574 DEFINE bnez_t1 6304030067800F00 575 DEFINE bnez_t2 6384030067800F00 576 DEFINE bltz_a0 6354050067800F00 577 DEFINE bltz_t0 63D4020067800F00 578 579 ## ---- Calls And Returns 580 DEFINE call E7800F00 581 DEFINE ret 67800000 582 DEFINE eret 83300100033481001301040067800000 583 DEFINE tail 83300100033481001301040067800F00 584 585 ## ---- Frame Management 586 DEFINE enter_0 130101FF233011001304010123348100 587 DEFINE enter_8 130101FE233011001304010223348100 588 DEFINE enter_16 130101FE233011001304010223348100 589 DEFINE enter_40 130101FC233011001304010423348100 590 DEFINE enter_56 130101FB233011001304010523348100 591 592 ## ---- System 593 DEFINE syscall 938E0500130E0600138806009308050013850E0093050E00130608009386020013870400930709007300000093850E0013060E0093060800 594 DEFINE sys_exit 5D00000000000000 595 DEFINE sys_openat 3800000000000000 596 DEFINE sys_read 3F00000000000000 597 DEFINE sys_write 4000000000000000 598 599 ## ---- Program Entry 600 ## Backend-owned :_start stub per docs/P1.md §Program Entry. 601 ## Calls p1_main under the one-word direct-result convention 602 ## (a0=argc, a1=argv) and sys_exits its return value. 603 :_start 604 '03350100' 605 '93058100' 606 '970F000083EFCF006F008000' 607 &p1_main 608 'E7800F00' 609 '9308D005' 610 '73000000'