Created
August 9, 2015 15:36
-
-
Save vlj/65e6458bfa0647961145 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Recompiling block : | |
0029ab30: 04 fd 02 00 cmpwi cr7,r5,0 #0 | |
0029ab40: fd fd fb fd mflr r0 | |
0029ab50: fd f9 fb fb stdu r1,-272(r1) #fffffef0 | |
0029ab60: 00 f9 00 fd std r16,144(r1) #90 | |
0029ab70: 04 fd 0c fd std r17,152(r1) #98 | |
0029ab80: 06 04 04 06 std r22,192(r1) #c0 | |
0029ab90: 02 02 00 02 std r23,200(r1) #c8 | |
0029aba0: fd fd fd fb std r14,128(r1) #80 | |
0029abb0: fd f9 fb fb std r15,136(r1) #88 | |
0029abc0: f9 fb fb f9 std r18,160(r1) #a0 | |
0029abd0: fd f9 fb fb std r19,168(r1) #a8 | |
0029abe0: fb f9 fd f9 std r20,176(r1) #b0 | |
0029abf0: fb f9 fd f9 std r21,184(r1) #b8 | |
0029ac00: f9 fb fd f9 std r24,208(r1) #d0 | |
0029ac10: fd fb fd fd std r25,216(r1) #d8 | |
0029ac20: fd 00 fd 00 std r26,224(r1) #e0 | |
0029ac30: 02 00 02 02 std r27,232(r1) #e8 | |
0029ac40: 04 02 02 04 std r28,240(r1) #f0 | |
0029ac50: 04 02 06 02 std r29,248(r1) #f8 | |
0029ac60: 06 02 06 02 std r30,256(r1) #100 | |
0029ac70: 06 02 06 02 std r31,264(r1) #108 | |
0029ac80: 00 06 02 04 std r0,288(r1) #120 | |
0029ac90: 02 02 00 02 mr r16,r5 | |
0029aca0: 02 fb 00 fd mr r22,r3 | |
0029acb0: fd f9 fd f9 mr r23,r4 | |
0029acc0: fd fb fb fd stw r7,112(r1) #70 | |
0029acd0: 00 00 02 00 mr r17,r6 | |
0029ace0: 06 02 06 04 beq cr7,0x29b1bc | |
0029acf0: 06 00 06 00 cmplwi cr7,r4,32 #20 | |
0029ad00: 02 fd 00 fd ble cr7,0x29b084 | |
0029ad10: 00 f3 00 f9 rlwinm r9,r6,3,0,28 | |
0029ad20: f9 fd f9 fb rlwinm r0,r6,5,0,26 | |
0029ad30: fb fb fb fb mr r25,r6 | |
0029ad40: f9 fd f9 fb add r14,r9,r0 | |
0029ad50: fb fb f9 fd clrldi r21,r6,32 | |
0029ad60: f9 fd f9 fb clrldi r24,r7,32 | |
0029ad70: fd fb fb fd neg r20,r6 | |
0029ad80: fd fd 00 fd rlwinm r0,r23,31,1,31 | |
0029ad90: fd 02 00 00 mullw r9,r17,r23 | |
0029ada0: 02 02 02 04 add r18,r9,r22 | |
0029adb0: 04 02 04 04 mullw r0,r17,r0 | |
0029adc0: 04 04 04 04 subf r31,r25,r18 | |
0029add0: 02 04 04 04 add r23,r0,r22 | |
0029ade0: 02 06 00 06 subf r29,r22,r31 | |
0029adf0: 00 04 02 00 add r19,r23,r25 | |
0029ae00: fd 02 fd 00 cmplw cr7,r29,r14 | |
0029ae10: fb fd fb fb ble cr7,0x29b25c | |
0029ae20: fd fb f9 fd clrldi r15,r22,32 | |
0029ae30: fd 00 fd 00 mr r6,r21 | |
0029ae40: 02 04 04 02 mr r3,r15 | |
0029ae50: 06 02 06 00 mr r7,r24 | |
0029ae60: 02 fd 02 00 clrldi r26,r23,32 | |
0029ae70: f9 00 fb fb divwu r29,r29,r17 | |
0029ae80: fb fb fb fb rlwinm r29,r29,29,3,31 | |
0029ae90: fb fb fb fb addi r29,1(r29) #1 | |
0029aea0: fb fb fb fb mullw r29,r17,r29 | |
0029aeb0: fb fb fb fb rlwinm r28,r29,1,0,30 | |
0029aec0: fb fb fb fb add r27,r22,r29 | |
0029aed0: fb fb fb fd add r5,r22,r28 | |
0029aee0: 02 f9 00 fd clrldi r27,r27,32 | |
0029aef0: 00 00 00 fd clrldi r5,r5,32 | |
0029af00: 02 02 02 00 mr r4,r27 | |
0029af10: 00 04 02 04 subf r28,r28,r31 | |
0029af20: 00 0c 00 06 bl 0x29abd0 | |
0029af30: 04 04 02 06 subf r3,r29,r23 | |
0029af40: 04 02 06 02 add r5,r23,r29 | |
0029af50: 02 02 04 02 subf r29,r29,r31 | |
0029af60: 00 00 02 fd clrldi r3,r3,32 | |
0029af70: fb 00 f9 00 clrldi r5,r5,32 | |
0029af80: f9 fd f9 fb mr r4,r26 | |
0029af90: fb fd fd fd mr r6,r21 | |
0029afa0: 02 00 06 00 mr r7,r24 | |
0029afb0: 02 06 02 06 clrldi r29,r29,32 | |
0029afc0: 02 02 02 00 bl 0x29ac48 | |
0029afd0: fb 00 fb 00 clrldi r3,r28,32 | |
0029afe0: fd fb fb fb clrldi r5,r31,32 | |
0029aff0: fb fb fb fb mr r4,r29 | |
0029b000: fb fb fb fb mr r6,r21 | |
0029b010: fb fb fb fb mr r7,r24 | |
0029b020: fb fb fb fb bl 0x29ac90 | |
0029b030: fb fb fb fb mr r3,r27 | |
0029b040: fb 00 f9 00 mr r4,r26 | |
0029b050: 02 fb 02 fd mr r5,r29 | |
0029b060: 02 00 02 00 mr r6,r21 | |
0029b070: 00 04 02 02 mr r7,r24 | |
0029b080: 02 04 04 02 bl 0x29acd8 | |
0029b090: 02 04 04 02 cmplw cr7,r23,r22 | |
0029b0a0: 02 04 04 02 mr r31,r23 | |
0029b0b0: 02 04 00 06 ble cr7,0x29b108 | |
0029b0c0: 00 02 00 02 mr r30,r23 | |
0029b0d0: fd 00 fd fd neg r29,r25 | |
0029b0e0: f9 fd fb fb subf r26,r25,r23 | |
0029b0f0: f9 fd fb fd b 0x29b0fc | |
0029b120: 02 02 04 00 std r2,40(r1) #28 | |
0029b130: fd 00 00 fd lwz r0,0(r24) #0 | |
0029b140: f9 00 f9 00 add r31,r30,r29 | |
0029b150: f9 fd f9 fd clrldi r4,r30,32 | |
0029b160: f9 fd f9 fd lwz r2,4(r24) #4 | |
0029b170: f9 fd f9 fd mtctr r0 | |
0029b180: f9 fd f9 fd clrldi r3,r31,32 | |
0029b190: f9 fd f9 fd add r26,r26,r29 | |
0029b1a0: fd fb fd fb bcctrl 20,0,0 | |
0029b1b0: fd 00 fb 02 ld r2,40(r1) #28 | |
0029b1c0: 00 00 00 02 add r0,r25,r26 | |
0029b1d0: 00 02 04 00 cmpwi cr7,r3,0 #0 | |
0029b1e0: 04 02 04 02 cmplw cr6,r0,r22 | |
0029b1f0: 04 04 02 04 beq cr7,0x29b1b4 | |
0029b200: 04 04 02 04 mr r31,r30 | |
0029b210: 02 04 02 04 cmplw cr7,r18,r19 | |
0029b220: 02 02 02 02 add r30,r19,r25 | |
0029b230: 00 fd 00 00 clrldi r26,r31,32 | |
0029b240: fb fd fb fb bgt cr7,0x29b250 | |
0029b280: 02 04 04 02 std r2,40(r1) #28 | |
0029b290: 02 00 00 02 lwz r0,0(r24) #0 | |
0029b2a0: fb 00 fb fd clrldi r3,r19,32 | |
0029b2b0: f3 00 f9 fd mr r4,r26 | |
0029b2c0: fd fb fb fb lwz r2,4(r24) #4 | |
0029b2d0: fb fb fb fb mtctr r0 | |
0029b2e0: fd f9 fd f9 add r30,r30,r25 | |
0029b2f0: fb fb fb fb bcctrl 20,0,0 | |
0029b300: fd fb fd fb ld r2,40(r1) #28 | |
0029b310: fd fd fd fd subf r0,r25,r30 | |
0029b320: fd 02 fd 00 cmpwi cr7,r3,0 #0 | |
0029b330: 04 00 02 02 cmplw cr6,r0,r18 | |
0029b340: 00 06 00 04 beq cr7,0x29b308 | |
0029b350: 02 04 02 04 mr r23,r19 | |
0029b360: 02 04 02 04 mr r27,r31 | |
0029b370: 02 04 02 04 cmplw cr7,r23,r18 | |
0029b380: 00 04 02 00 blt cr7,0x29b428 | |
0029b390: 00 02 fd 02 cmplw cr7,r27,r22 | |
0029b3a0: 02 f9 00 fb ble cr7,0x29b410 | |
0029b3b0: fd f9 fd fb subf r28,r25,r27 | |
0029b3c0: fb 00 fb 00 mr r30,r27 | |
0029b3d0: 02 00 04 00 clrldi r26,r31,32 | |
0029b3e0: 04 04 04 02 add r27,r20,r27 | |
0029b3f0: 04 00 02 02 std r2,40(r1) #28 | |
0029b400: fd fd 00 fb clrldi r29,r27,32 | |
0029b410: fd fb fd f9 lwz r0,0(r24) #0 | |
0029b420: fb fd f9 fd mr r4,r26 | |
0029b430: fd f9 fd fb lwz r2,4(r24) #4 | |
0029b440: f9 fd fb fb mr r3,r29 | |
0029b450: fd fb fb fd mtctr r0 | |
0029b460: fb fb fd fb add r28,r28,r20 | |
0029b470: fb 00 fb fd bcctrl 20,0,0 | |
0029b480: fd 02 fb 02 ld r2,40(r1) #28 | |
0029b490: 04 00 00 02 mr r4,r29 | |
0029b4a0: 00 04 00 04 cmpwi cr7,r3,0 #0 | |
0029b4b0: 02 04 02 04 mr r5,r21 | |
0029b4c0: 02 04 02 04 blt cr7,0x29b4d8 | |
0029b4d0: 02 04 02 04 bne cr7,0x29b570 | |
0029b520: fb fd fb fd add r0,r28,r25 | |
0029b530: 00 00 02 00 mr r30,r27 | |
0029b540: 04 04 02 06 cmplw cr7,r0,r22 | |
0029b550: 02 02 04 02 bgt cr7,0x29b4f4 | |
0029b560: 00 00 fd 02 cmpw cr7,r22,r27 | |
0029b570: f9 00 fb fd beq cr7,0x29b5f4 | |
0029b580: f9 00 f9 fd cmpw cr7,r23,r18 | |
0029b590: f9 00 f9 fd beq cr7,0x29b644 | |
0029b5a0: fb fb fd fb subf r27,r25,r27 | |
0029b5b0: fb fd f9 00 clrldi r3,r23,32 | |
0029b5c0: fd f9 00 f9 clrldi r4,r27,32 | |
0029b5d0: fb 00 f9 00 mr r5,r21 | |
0029b5e0: fd 00 fb 00 add r23,r23,r25 | |
0029b5f0: fd 02 fd 02 bl 0x29add8 | |
0029b600: 02 02 00 04 cmplw cr7,r23,r18 | |
0029b610: 04 02 02 04 bge cr7,0x29b570 | |
0029b620: 02 04 02 04 std r2,40(r1) #28 | |
0029b630: 02 04 02 04 lwz r0,0(r24) #0 | |
0029b640: 02 02 04 02 clrldi r30,r23,32 | |
0029b650: 02 00 04 fd clrldi r3,r31,32 | |
0029b660: 00 00 00 fd lwz r2,4(r24) #4 | |
0029b670: fd fb fd fb mr r4,r30 | |
0029b680: fb fb fd fb mtctr r0 | |
0029b690: fd 00 fd 02 bcctrl 20,0,0 | |
0029b6a0: 02 02 04 02 ld r2,40(r1) #28 | |
0029b6b0: 04 02 04 02 cmpwi cr7,r3,0 #0 | |
0029b6c0: 00 02 fd 02 blt cr7,0x29b6dc | |
0029b6d0: 00 fd fd fd bne cr7,0x29b600 | |
0029b750: 02 fd 00 00 mr r27,r30 | |
0029b760: 02 00 02 00 cmpw cr7,r22,r27 | |
0029b770: 04 00 04 02 bne cr7,0x29b6f4 | |
0029b780: 02 04 00 06 cmpw cr7,r23,r18 | |
0029b790: 02 04 02 02 beq cr7,0x29b820 | |
0029b860: fb fd fb fb subf r27,r25,r27 | |
0029b870: fd fb fb fd subf r31,r25,r31 | |
0029b880: fd fb fb fd subf r19,r25,r19 | |
0029b890: 00 f9 00 fb cmpw cr7,r27,r31 | |
0029b8a0: fd fd fd fd beq cr7,0x29b8c0 | |
0029b8b0: 00 fd 00 fd clrldi r3,r27,32 | |
0029b8c0: fd 04 fd 02 clrldi r4,r19,32 | |
0029b8d0: 00 02 02 02 clrldi r5,r31,32 | |
0029b8e0: 04 00 06 fd mr r6,r21 | |
0029b8f0: fd 0c fd 06 mr r23,r18 | |
0029b900: 02 04 02 02 bl 0x29ae98 | |
0029b910: 02 02 02 02 b 0x29b7a8 | |
0029b9d0: fb fd fb fb subf r11,r22,r31 | |
0029b9e0: fd fb fb fd subf r0,r19,r18 | |
0029b9f0: fb fb fd fb rlwinm r10,r16,30,2,31 | |
0029ba00: fd fd fb 00 divwu r11,r11,r17 | |
0029ba10: 00 fd fd 00 rlwinm r9,r16,31,1,31 | |
0029ba20: fd 02 fd 02 divwu r23,r0,r17 | |
0029ba30: 02 00 02 02 cmplw cr7,r11,r23 | |
0029ba40: 02 02 02 04 add r16,r9,r10 | |
0029ba50: 02 02 02 04 bgt cr7,0x29bbac | |
0029ba60: 02 02 04 00 mr r3,r15 | |
0029ba70: 00 04 00 04 clrldi r4,r11,32 | |
0029ba80: 00 02 00 02 clrldi r5,r16,32 | |
0029ba90: fd 00 00 fd mr r6,r21 | |
0029baa0: fb 00 fb fd mr r7,r24 | |
0029bab0: fb fd fb fd mr r22,r19 | |
0029bac0: fd 00 fd 02 bl 0x29b6dc | |
0029bad0: 04 00 04 02 cmpwi cr7,r16,0 #0 | |
0029bae0: 04 02 04 02 beq cr7,0x29bc3c | |
0029baf0: fd 04 fd 02 cmplwi cr7,r23,32 #20 | |
0029bb00: fd 00 fd fd bgt cr7,0x29b7a0 | |
0029bb10: fb fd fb fd cmplwi cr7,r23,1 #1 | |
0029bb20: fb fd fb fd lwz r26,112(r1) #70 | |
0029bb30: fb fd fb fd mr r27,r22 | |
0029bb40: fb fd fb fd clrldi r25,r22,32 | |
0029bb50: fb fd fb fd neg r29,r17 | |
0029bb60: fb fd fb fd ble cr7,0x29bc00 | |
0029bb70: fd fd fd fd addi r23,-1(r23) #ffffffff | |
0029bb80: 00 fd 02 fd cmpwi cr7,r23,0 #0 | |
0029bb90: 02 00 02 00 beq cr7,0x29bc24 | |
0029bba0: 04 00 04 00 add r27,r27,r17 | |
0029bbb0: 02 02 02 04 std r2,40(r1) #28 | |
0029bbc0: 02 02 04 00 lwz r0,0(r26) #0 | |
0029bbd0: 00 04 00 04 clrldi r28,r27,32 | |
0029bbe0: 02 02 00 04 mr r4,r25 | |
0029bbf0: 04 fd 00 00 lwz r2,4(r26) #4 | |
0029bc00: fd fd fd fd mr r3,r28 | |
0029bc10: fd fb fd fb mtctr r0 | |
0029bc20: fd fd 00 fb mr r30,r27 | |
0029bc30: 04 00 02 02 mr r31,r27 | |
0029bc40: 02 04 02 04 bcctrl 20,0,0 | |
0029bc50: 02 02 02 00 ld r2,40(r1) #28 | |
0029bc60: 00 fd 00 fd cmpwi cr7,r3,0 #0 | |
0029bc70: fd fb 00 fb bge cr7,0x29bc7c | |
0029bc80: fd fb fd fb b 0x29be04 | |
0029bc90: fd fb fd fb mr r30,r31 | |
0029bca0: fd fb fd fb std r2,40(r1) #28 | |
0029bcb0: fd fb fd fb lwz r0,0(r26) #0 | |
0029bcc0: fd fb fd fb add r31,r31,r29 | |
0029bcd0: f9 02 fb fd mr r3,r28 | |
0029bce0: 00 fd 00 00 lwz r2,4(r26) #4 | |
0029bcf0: 00 00 00 02 clrldi r4,r31,32 | |
0029bd00: 02 00 fd 02 mtctr r0 | |
0029bd10: f7 09 1c 1e bcctrl 20,0,0 | |
0029bd20: dc f7 1b 1c ld r2,40(r1) #28 | |
0029bd30: ee fb fb fb cmpwi cr7,r3,0 #0 | |
0029bd40: fb e4 f5 11 blt cr7,0x29bd14 | |
0029bd50: 22 1e 1b 18 cmpw cr7,r27,r30 | |
0029bd60: 25 23 23 25 beq cr7,0x29bce4 | |
0029bd70: 1b 18 18 1b clrldi r3,r30,32 | |
0029bd80: 1e 1e 23 1c mr r4,r28 | |
0029bd90: 22 1b 15 1b clrldi r5,r17,32 | |
0029bda0: 25 22 23 23 addi r23,-1(r23) #ffffffff | |
0029bdb0: dc dc da e3 bl 0x29b814 | |
0029bdc0: 23 22 1e 15 cmpwi cr7,r23,0 #0 | |
0029bdd0: e7 ef e7 dd bne cr7,0x29bd44 | |
0029bde0: da e3 e7 f2 ld r0,288(r1) #120 | |
0029bdf0: ee ea dd e3 ld r14,128(r1) #80 | |
0029be00: e3 dd dd dc ld r15,136(r1) #88 | |
0029be10: dc dc dd dc mtlr r0 | |
0029be20: e3 e4 e4 e4 ld r16,144(r1) #90 | |
0029be30: fb fd 02 1b ld r17,152(r1) #98 | |
0029be40: 23 22 1b 0d ld r18,160(r1) #a0 | |
0029be50: 22 10 08 fb ld r19,168(r1) #a8 | |
0029be60: 18 1b 1e 1e ld r20,176(r1) #b0 | |
0029be70: e7 eb ee f2 ld r21,184(r1) #b8 | |
0029be80: ef e7 e1 dd ld r22,192(r1) #c0 | |
0029be90: ee e4 dd dc ld r23,200(r1) #c8 | |
0029bea0: f7 01 0a 09 ld r24,208(r1) #d0 | |
0029beb0: 1b 1c 1c 1c ld r25,216(r1) #d8 | |
0029bec0: 23 22 23 23 ld r26,224(r1) #e0 | |
0029bed0: 23 1e 22 1b ld r27,232(r1) #e8 | |
0029bee0: 1c 22 1b 11 ld r28,240(r1) #f0 | |
0029bef0: 10 18 1b 25 ld r29,248(r1) #f8 | |
0029bf00: 18 1e 14 1e ld r30,256(r1) #100 | |
0029bf10: ee e1 e1 da ld r31,264(r1) #108 | |
0029bf20: 18 22 23 22 addi r1,272(r1) #110 | |
0029bf30: e1 dc e1 dd blr | |
0029bfc0: dc e4 f5 04 clrldi r4,r23,32 | |
0029bfd0: 23 18 fd ee clrldi r3,r19,32 | |
0029bfe0: ef ee f2 ef clrldi r5,r16,32 | |
0029bff0: dd e7 ef ee mr r6,r21 | |
0029c000: e3 e3 e3 ea mr r7,r24 | |
0029c010: 14 10 15 14 mr r23,r11 | |
0029c020: 18 1b 1c 23 bl 0x29bae4 | |
0029c030: 1e 22 1e 25 cmpwi cr7,r16,0 #0 | |
0029c040: 1b 1b 22 1e bne cr7,0x29beec | |
0029c290: 0a 0a fd eb mr r4,r28 | |
0029c2a0: 01 04 14 1c mr r3,r25 | |
0029c2b0: e7 f5 04 1b clrldi r5,r17,32 | |
0029c2c0: dc e1 e4 e7 bl 0x29bbe0 | |
0029c2d0: ee e3 e1 f5 b 0x29c0f8 | |
LLVM bytecode: | |
; ModuleID = 'Module' | |
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-pc-windows-elf" | |
declare x86_64_win64cc i32 @execute_unknown_function(i8*, i64) | |
declare x86_64_win64cc i32 @execute_unknown_block(i8*, i64) | |
define x86_64_win64cc i32 @fn_0x000A6ACC_0(i8* %ppu_state, i64 %context) { | |
entry: | |
br label %instr_0x000A6ACC | |
instr_0x000A6ACC: ; preds = %entry | |
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 5, i32 0) | |
br label %instr_0x000A6AD0 | |
instr_0x000A6AD0: ; preds = %instr_0x000A6ACC | |
%0 = call i32 @MFSPR(i8* %ppu_state, i32 0, i32 256) | |
br label %instr_0x000A6AD4 | |
instr_0x000A6AD4: ; preds = %instr_0x000A6AD0 | |
%1 = call i32 @STDU(i8* %ppu_state, i32 1, i32 1, i32 -272) | |
br label %instr_0x000A6AD8 | |
instr_0x000A6AD8: ; preds = %instr_0x000A6AD4 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 16, i32 1, i32 144) | |
br label %instr_0x000A6ADC | |
instr_0x000A6ADC: ; preds = %instr_0x000A6AD8 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 17, i32 1, i32 152) | |
br label %instr_0x000A6AE0 | |
instr_0x000A6AE0: ; preds = %instr_0x000A6ADC | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 22, i32 1, i32 192) | |
br label %instr_0x000A6AE4 | |
instr_0x000A6AE4: ; preds = %instr_0x000A6AE0 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 23, i32 1, i32 200) | |
br label %instr_0x000A6AE8 | |
instr_0x000A6AE8: ; preds = %instr_0x000A6AE4 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 14, i32 1, i32 128) | |
br label %instr_0x000A6AEC | |
instr_0x000A6AEC: ; preds = %instr_0x000A6AE8 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 15, i32 1, i32 136) | |
br label %instr_0x000A6AF0 | |
instr_0x000A6AF0: ; preds = %instr_0x000A6AEC | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 18, i32 1, i32 160) | |
br label %instr_0x000A6AF4 | |
instr_0x000A6AF4: ; preds = %instr_0x000A6AF0 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 19, i32 1, i32 168) | |
br label %instr_0x000A6AF8 | |
instr_0x000A6AF8: ; preds = %instr_0x000A6AF4 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 20, i32 1, i32 176) | |
br label %instr_0x000A6AFC | |
instr_0x000A6AFC: ; preds = %instr_0x000A6AF8 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 21, i32 1, i32 184) | |
br label %instr_0x000A6B00 | |
instr_0x000A6B00: ; preds = %instr_0x000A6AFC | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 24, i32 1, i32 208) | |
br label %instr_0x000A6B04 | |
instr_0x000A6B04: ; preds = %instr_0x000A6B00 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 25, i32 1, i32 216) | |
br label %instr_0x000A6B08 | |
instr_0x000A6B08: ; preds = %instr_0x000A6B04 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 26, i32 1, i32 224) | |
br label %instr_0x000A6B0C | |
instr_0x000A6B0C: ; preds = %instr_0x000A6B08 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 27, i32 1, i32 232) | |
br label %instr_0x000A6B10 | |
instr_0x000A6B10: ; preds = %instr_0x000A6B0C | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 28, i32 1, i32 240) | |
br label %instr_0x000A6B14 | |
instr_0x000A6B14: ; preds = %instr_0x000A6B10 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 29, i32 1, i32 248) | |
br label %instr_0x000A6B18 | |
instr_0x000A6B18: ; preds = %instr_0x000A6B14 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 30, i32 1, i32 256) | |
br label %instr_0x000A6B1C | |
instr_0x000A6B1C: ; preds = %instr_0x000A6B18 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 31, i32 1, i32 264) | |
br label %instr_0x000A6B20 | |
instr_0x000A6B20: ; preds = %instr_0x000A6B1C | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 0, i32 1, i32 288) | |
br label %instr_0x000A6B24 | |
instr_0x000A6B24: ; preds = %instr_0x000A6B20 | |
%2 = call i32 @OR(i8* %ppu_state, i32 16, i32 5, i32 5, i32 0) | |
br label %instr_0x000A6B28 | |
instr_0x000A6B28: ; preds = %instr_0x000A6B24 | |
%3 = call i32 @OR(i8* %ppu_state, i32 22, i32 3, i32 3, i32 0) | |
br label %instr_0x000A6B2C | |
instr_0x000A6B2C: ; preds = %instr_0x000A6B28 | |
%4 = call i32 @OR(i8* %ppu_state, i32 23, i32 4, i32 4, i32 0) | |
br label %instr_0x000A6B30 | |
instr_0x000A6B30: ; preds = %instr_0x000A6B2C | |
call void @STW(i8* %ppu_state, i32 7, i32 1, i32 112) | |
br label %instr_0x000A6B34 | |
instr_0x000A6B34: ; preds = %instr_0x000A6B30 | |
%5 = call i32 @OR(i8* %ppu_state, i32 17, i32 6, i32 6, i32 0) | |
br label %instr_0x000A6B38 | |
instr_0x000A6B38: ; preds = %instr_0x000A6B34 | |
%6 = getelementptr i8* %ppu_state, i32 1576 | |
%7 = bitcast i8* %6 to i64* | |
%8 = load i64* %7, align 8 | |
%9 = getelementptr i8* %ppu_state, i32 1540 | |
%10 = bitcast i8* %9 to i32* | |
%11 = load i32* %10, align 4 | |
%12 = lshr i32 %11, 1 | |
%13 = and i32 %12, 1 | |
%14 = trunc i32 %13 to i1 | |
br i1 %14, label %instr_0x000A7014, label %instr_0x000A6B3C | |
instr_0x000A6B3C: ; preds = %instr_0x000A6B38 | |
call void @CMPLI(i8* %ppu_state, i32 7, i32 0, i32 4, i32 32) | |
br label %instr_0x000A6B40 | |
instr_0x000A6B40: ; preds = %instr_0x000A6B3C | |
%15 = getelementptr i8* %ppu_state, i32 1576 | |
%16 = bitcast i8* %15 to i64* | |
%17 = load i64* %16, align 8 | |
%18 = getelementptr i8* %ppu_state, i32 1540 | |
%19 = bitcast i8* %18 to i32* | |
%20 = load i32* %19, align 4 | |
%21 = lshr i32 %20, 2 | |
%22 = and i32 %21, 1 | |
%23 = trunc i32 %22 to i1 | |
%24 = xor i1 %23, true | |
br i1 %24, label %instr_0x000A6EC4, label %instr_0x000A6B44 | |
instr_0x000A6B44: ; preds = %instr_0x000A6B40 | |
call void @RLWINM(i8* %ppu_state, i32 9, i32 6, i32 3, i32 0, i32 28, i32 0) | |
br label %instr_0x000A6B48 | |
instr_0x000A6B48: ; preds = %instr_0x000A6B44 | |
call void @RLWINM(i8* %ppu_state, i32 0, i32 6, i32 5, i32 0, i32 26, i32 0) | |
br label %instr_0x000A6B4C | |
instr_0x000A6B4C: ; preds = %instr_0x000A6B48 | |
%25 = call i32 @OR(i8* %ppu_state, i32 25, i32 6, i32 6, i32 0) | |
br label %instr_0x000A6B50 | |
instr_0x000A6B50: ; preds = %instr_0x000A6B4C | |
call void @ADD(i8* %ppu_state, i32 14, i32 9, i32 0, i32 0, i32 0) | |
br label %instr_0x000A6B54 | |
instr_0x000A6B54: ; preds = %instr_0x000A6B50 | |
call void @RLDICL(i8* %ppu_state, i32 21, i32 6, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6B58 | |
instr_0x000A6B58: ; preds = %instr_0x000A6B54 | |
call void @RLDICL(i8* %ppu_state, i32 24, i32 7, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6B5C | |
instr_0x000A6B5C: ; preds = %instr_0x000A6B58 | |
call void @NEG(i8* %ppu_state, i32 20, i32 6, i32 0, i32 0) | |
br label %instr_0x000A6B60 | |
instr_0x000A6B60: ; preds = %instr_0x000A6EC0, %instr_0x000A6B5C | |
call void @RLWINM(i8* %ppu_state, i32 0, i32 23, i32 31, i32 1, i32 31, i32 0) | |
br label %instr_0x000A6B64 | |
instr_0x000A6B64: ; preds = %instr_0x000A6B60 | |
call void @MULLW(i8* %ppu_state, i32 9, i32 17, i32 23, i32 0, i32 0) | |
br label %instr_0x000A6B68 | |
instr_0x000A6B68: ; preds = %instr_0x000A6B64 | |
call void @ADD(i8* %ppu_state, i32 18, i32 9, i32 22, i32 0, i32 0) | |
br label %instr_0x000A6B6C | |
instr_0x000A6B6C: ; preds = %instr_0x000A6B68 | |
call void @MULLW(i8* %ppu_state, i32 0, i32 17, i32 0, i32 0, i32 0) | |
br label %instr_0x000A6B70 | |
instr_0x000A6B70: ; preds = %instr_0x000A6B6C | |
call void @SUBF(i8* %ppu_state, i32 31, i32 25, i32 18, i32 0, i32 0) | |
br label %instr_0x000A6B74 | |
instr_0x000A6B74: ; preds = %instr_0x000A6B70 | |
call void @ADD(i8* %ppu_state, i32 23, i32 0, i32 22, i32 0, i32 0) | |
br label %instr_0x000A6B78 | |
instr_0x000A6B78: ; preds = %instr_0x000A6B74 | |
call void @SUBF(i8* %ppu_state, i32 29, i32 22, i32 31, i32 0, i32 0) | |
br label %instr_0x000A6B7C | |
instr_0x000A6B7C: ; preds = %instr_0x000A6B78 | |
call void @ADD(i8* %ppu_state, i32 19, i32 23, i32 25, i32 0, i32 0) | |
br label %instr_0x000A6B80 | |
instr_0x000A6B80: ; preds = %instr_0x000A6B7C | |
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 29, i32 14) | |
br label %instr_0x000A6B84 | |
instr_0x000A6B84: ; preds = %instr_0x000A6B80 | |
%26 = getelementptr i8* %ppu_state, i32 1576 | |
%27 = bitcast i8* %26 to i64* | |
%28 = load i64* %27, align 8 | |
%29 = getelementptr i8* %ppu_state, i32 1540 | |
%30 = bitcast i8* %29 to i32* | |
%31 = load i32* %30, align 4 | |
%32 = lshr i32 %31, 2 | |
%33 = and i32 %32, 1 | |
%34 = trunc i32 %33 to i1 | |
%35 = xor i1 %34, true | |
br i1 %35, label %instr_0x000A6FD0, label %instr_0x000A6B88 | |
instr_0x000A6B88: ; preds = %instr_0x000A6B84 | |
call void @RLDICL(i8* %ppu_state, i32 15, i32 22, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6B8C | |
instr_0x000A6B8C: ; preds = %instr_0x000A6B88 | |
%36 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0) | |
br label %instr_0x000A6B90 | |
instr_0x000A6B90: ; preds = %instr_0x000A6B8C | |
%37 = call i32 @OR(i8* %ppu_state, i32 3, i32 15, i32 15, i32 0) | |
br label %instr_0x000A6B94 | |
instr_0x000A6B94: ; preds = %instr_0x000A6B90 | |
%38 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0) | |
br label %instr_0x000A6B98 | |
instr_0x000A6B98: ; preds = %instr_0x000A6B94 | |
call void @RLDICL(i8* %ppu_state, i32 26, i32 23, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6B9C | |
instr_0x000A6B9C: ; preds = %instr_0x000A6B98 | |
call void @DIVWU(i8* %ppu_state, i32 29, i32 29, i32 17, i32 0, i32 0) | |
br label %instr_0x000A6BA0 | |
instr_0x000A6BA0: ; preds = %instr_0x000A6B9C | |
call void @RLWINM(i8* %ppu_state, i32 29, i32 29, i32 29, i32 3, i32 31, i32 0) | |
br label %instr_0x000A6BA4 | |
instr_0x000A6BA4: ; preds = %instr_0x000A6BA0 | |
call void @ADDI(i8* %ppu_state, i32 29, i32 29, i32 1) | |
br label %instr_0x000A6BA8 | |
instr_0x000A6BA8: ; preds = %instr_0x000A6BA4 | |
call void @MULLW(i8* %ppu_state, i32 29, i32 17, i32 29, i32 0, i32 0) | |
br label %instr_0x000A6BAC | |
instr_0x000A6BAC: ; preds = %instr_0x000A6BA8 | |
call void @RLWINM(i8* %ppu_state, i32 28, i32 29, i32 1, i32 0, i32 30, i32 0) | |
br label %instr_0x000A6BB0 | |
instr_0x000A6BB0: ; preds = %instr_0x000A6BAC | |
call void @ADD(i8* %ppu_state, i32 27, i32 22, i32 29, i32 0, i32 0) | |
br label %instr_0x000A6BB4 | |
instr_0x000A6BB4: ; preds = %instr_0x000A6BB0 | |
call void @ADD(i8* %ppu_state, i32 5, i32 22, i32 28, i32 0, i32 0) | |
br label %instr_0x000A6BB8 | |
instr_0x000A6BB8: ; preds = %instr_0x000A6BB4 | |
call void @RLDICL(i8* %ppu_state, i32 27, i32 27, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6BBC | |
instr_0x000A6BBC: ; preds = %instr_0x000A6BB8 | |
call void @RLDICL(i8* %ppu_state, i32 5, i32 5, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6BC0 | |
instr_0x000A6BC0: ; preds = %instr_0x000A6BBC | |
%39 = call i32 @OR(i8* %ppu_state, i32 4, i32 27, i32 27, i32 0) | |
br label %instr_0x000A6BC4 | |
instr_0x000A6BC4: ; preds = %instr_0x000A6BC0 | |
call void @SUBF(i8* %ppu_state, i32 28, i32 28, i32 31, i32 0, i32 0) | |
br label %instr_0x000A6BC8 | |
instr_0x000A6BC8: ; preds = %instr_0x000A6BC4 | |
%40 = getelementptr i8* %ppu_state, i32 1568 | |
%41 = bitcast i8* %40 to i64* | |
store i64 682956, i64* %41, align 8 | |
%42 = getelementptr i8* %ppu_state, i32 1664 | |
%43 = bitcast i8* %42 to i32* | |
store i32 682104, i32* %43, align 4 | |
%44 = load i64* inttoptr (i64 8623115688 to i64*) | |
%45 = inttoptr i64 %44 to i32 (i8*, i64)* | |
%46 = call i32 %45(i8* %ppu_state, i64 0) | |
%47 = icmp eq i32 %46, -1 | |
br i1 %47, label %instr_0x000A6BC8_then_all_fs, label %instr_0x000A6BC8_merge_all_fs | |
instr_0x000A6BC8_then_all_fs: ; preds = %instr_0x000A6BC8 | |
ret i32 0 | |
instr_0x000A6BC8_merge_all_fs: ; preds = %instr_0x000A6BC8 | |
br label %instr_0x000A6BCC | |
instr_0x000A6BCC: ; preds = %instr_0x000A6BC8_merge_all_fs | |
call void @SUBF(i8* %ppu_state, i32 3, i32 29, i32 23, i32 0, i32 0) | |
br label %instr_0x000A6BD0 | |
instr_0x000A6BD0: ; preds = %instr_0x000A6BCC | |
call void @ADD(i8* %ppu_state, i32 5, i32 23, i32 29, i32 0, i32 0) | |
br label %instr_0x000A6BD4 | |
instr_0x000A6BD4: ; preds = %instr_0x000A6BD0 | |
call void @SUBF(i8* %ppu_state, i32 29, i32 29, i32 31, i32 0, i32 0) | |
br label %instr_0x000A6BD8 | |
instr_0x000A6BD8: ; preds = %instr_0x000A6BD4 | |
call void @RLDICL(i8* %ppu_state, i32 3, i32 3, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6BDC | |
instr_0x000A6BDC: ; preds = %instr_0x000A6BD8 | |
call void @RLDICL(i8* %ppu_state, i32 5, i32 5, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6BE0 | |
instr_0x000A6BE0: ; preds = %instr_0x000A6BDC | |
%48 = call i32 @OR(i8* %ppu_state, i32 4, i32 26, i32 26, i32 0) | |
br label %instr_0x000A6BE4 | |
instr_0x000A6BE4: ; preds = %instr_0x000A6BE0 | |
%49 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0) | |
br label %instr_0x000A6BE8 | |
instr_0x000A6BE8: ; preds = %instr_0x000A6BE4 | |
%50 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0) | |
br label %instr_0x000A6BEC | |
instr_0x000A6BEC: ; preds = %instr_0x000A6BE8 | |
call void @RLDICL(i8* %ppu_state, i32 29, i32 29, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6BF0 | |
instr_0x000A6BF0: ; preds = %instr_0x000A6BEC | |
%51 = getelementptr i8* %ppu_state, i32 1568 | |
%52 = bitcast i8* %51 to i64* | |
store i64 682996, i64* %52, align 8 | |
%53 = getelementptr i8* %ppu_state, i32 1664 | |
%54 = bitcast i8* %53 to i32* | |
store i32 682104, i32* %54, align 4 | |
%55 = load i64* inttoptr (i64 8623115688 to i64*) | |
%56 = inttoptr i64 %55 to i32 (i8*, i64)* | |
%57 = call i32 %56(i8* %ppu_state, i64 0) | |
%58 = icmp eq i32 %57, -1 | |
br i1 %58, label %instr_0x000A6BF0_then_all_fs, label %instr_0x000A6BF0_merge_all_fs | |
instr_0x000A6BF0_then_all_fs: ; preds = %instr_0x000A6BF0 | |
ret i32 0 | |
instr_0x000A6BF0_merge_all_fs: ; preds = %instr_0x000A6BF0 | |
br label %instr_0x000A6BF4 | |
instr_0x000A6BF4: ; preds = %instr_0x000A6BF0_merge_all_fs | |
call void @RLDICL(i8* %ppu_state, i32 3, i32 28, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6BF8 | |
instr_0x000A6BF8: ; preds = %instr_0x000A6BF4 | |
call void @RLDICL(i8* %ppu_state, i32 5, i32 31, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6BFC | |
instr_0x000A6BFC: ; preds = %instr_0x000A6BF8 | |
%59 = call i32 @OR(i8* %ppu_state, i32 4, i32 29, i32 29, i32 0) | |
br label %instr_0x000A6C00 | |
instr_0x000A6C00: ; preds = %instr_0x000A6BFC | |
%60 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0) | |
br label %instr_0x000A6C04 | |
instr_0x000A6C04: ; preds = %instr_0x000A6C00 | |
%61 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0) | |
br label %instr_0x000A6C08 | |
instr_0x000A6C08: ; preds = %instr_0x000A6C04 | |
%62 = getelementptr i8* %ppu_state, i32 1568 | |
%63 = bitcast i8* %62 to i64* | |
store i64 683020, i64* %63, align 8 | |
%64 = getelementptr i8* %ppu_state, i32 1664 | |
%65 = bitcast i8* %64 to i32* | |
store i32 682104, i32* %65, align 4 | |
%66 = load i64* inttoptr (i64 8623115688 to i64*) | |
%67 = inttoptr i64 %66 to i32 (i8*, i64)* | |
%68 = call i32 %67(i8* %ppu_state, i64 0) | |
%69 = icmp eq i32 %68, -1 | |
br i1 %69, label %instr_0x000A6C08_then_all_fs, label %instr_0x000A6C08_merge_all_fs | |
instr_0x000A6C08_then_all_fs: ; preds = %instr_0x000A6C08 | |
ret i32 0 | |
instr_0x000A6C08_merge_all_fs: ; preds = %instr_0x000A6C08 | |
br label %instr_0x000A6C0C | |
instr_0x000A6C0C: ; preds = %instr_0x000A6C08_merge_all_fs | |
%70 = call i32 @OR(i8* %ppu_state, i32 3, i32 27, i32 27, i32 0) | |
br label %instr_0x000A6C10 | |
instr_0x000A6C10: ; preds = %instr_0x000A6C0C | |
%71 = call i32 @OR(i8* %ppu_state, i32 4, i32 26, i32 26, i32 0) | |
br label %instr_0x000A6C14 | |
instr_0x000A6C14: ; preds = %instr_0x000A6C10 | |
%72 = call i32 @OR(i8* %ppu_state, i32 5, i32 29, i32 29, i32 0) | |
br label %instr_0x000A6C18 | |
instr_0x000A6C18: ; preds = %instr_0x000A6C14 | |
%73 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0) | |
br label %instr_0x000A6C1C | |
instr_0x000A6C1C: ; preds = %instr_0x000A6C18 | |
%74 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0) | |
br label %instr_0x000A6C20 | |
instr_0x000A6C20: ; preds = %instr_0x000A6C1C | |
%75 = getelementptr i8* %ppu_state, i32 1568 | |
%76 = bitcast i8* %75 to i64* | |
store i64 683044, i64* %76, align 8 | |
%77 = getelementptr i8* %ppu_state, i32 1664 | |
%78 = bitcast i8* %77 to i32* | |
store i32 682104, i32* %78, align 4 | |
%79 = load i64* inttoptr (i64 8623115688 to i64*) | |
%80 = inttoptr i64 %79 to i32 (i8*, i64)* | |
%81 = call i32 %80(i8* %ppu_state, i64 0) | |
%82 = icmp eq i32 %81, -1 | |
br i1 %82, label %instr_0x000A6C20_then_all_fs, label %instr_0x000A6C20_merge_all_fs | |
instr_0x000A6C20_then_all_fs: ; preds = %instr_0x000A6C20 | |
ret i32 0 | |
instr_0x000A6C20_merge_all_fs: ; preds = %instr_0x000A6C20 | |
br label %instr_0x000A6C24 | |
instr_0x000A6C24: ; preds = %instr_0x000A6C20_merge_all_fs | |
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 23, i32 22) | |
br label %instr_0x000A6C28 | |
instr_0x000A6C28: ; preds = %instr_0x000A6C24 | |
%83 = call i32 @OR(i8* %ppu_state, i32 31, i32 23, i32 23, i32 0) | |
br label %instr_0x000A6C2C | |
instr_0x000A6C2C: ; preds = %instr_0x000A6C28 | |
%84 = getelementptr i8* %ppu_state, i32 1576 | |
%85 = bitcast i8* %84 to i64* | |
%86 = load i64* %85, align 8 | |
%87 = getelementptr i8* %ppu_state, i32 1540 | |
%88 = bitcast i8* %87 to i32* | |
%89 = load i32* %88, align 4 | |
%90 = lshr i32 %89, 2 | |
%91 = and i32 %90, 1 | |
%92 = trunc i32 %91 to i1 | |
%93 = xor i1 %92, true | |
br i1 %93, label %instr_0x000A6C84, label %instr_0x000A6C30 | |
instr_0x000A6C30: ; preds = %instr_0x000A6C2C | |
%94 = call i32 @OR(i8* %ppu_state, i32 30, i32 23, i32 23, i32 0) | |
br label %instr_0x000A6C34 | |
instr_0x000A6C34: ; preds = %instr_0x000A6C30 | |
call void @NEG(i8* %ppu_state, i32 29, i32 25, i32 0, i32 0) | |
br label %instr_0x000A6C38 | |
instr_0x000A6C38: ; preds = %instr_0x000A6C34 | |
call void @SUBF(i8* %ppu_state, i32 26, i32 25, i32 23, i32 0, i32 0) | |
br label %instr_0x000A6C3C | |
instr_0x000A6C3C: ; preds = %instr_0x000A6C38 | |
br label %instr_0x000A6C48 | |
instr_0x000A6C40: ; preds = %instr_0x000A6C7C | |
%95 = phi i32 [ 683132, %instr_0x000A6C7C ] | |
%96 = getelementptr i8* %ppu_state, i32 1664 | |
%97 = bitcast i8* %96 to i32* | |
store i32 683072, i32* %97, align 4 | |
%98 = zext i32 %95 to i64 | |
%99 = or i64 %98, 2932174172979200 | |
%100 = load i64* inttoptr (i64 8623115696 to i64*) | |
%101 = inttoptr i64 %100 to i32 (i8*, i64)* | |
%102 = call i32 %101(i8* %ppu_state, i64 %99) | |
%103 = icmp eq i32 %102, -1 | |
br i1 %103, label %instr_0x000A6C40_then_all_fs, label %instr_0x000A6C40_merge_all_fs | |
instr_0x000A6C40_then_all_fs: ; preds = %instr_0x000A6C40 | |
ret i32 0 | |
instr_0x000A6C40_merge_all_fs: ; preds = %instr_0x000A6C40 | |
%104 = icmp ne i32 %102, 0 | |
br i1 %104, label %instr_0x000A6C40_then_0, label %instr_0x000A6C40_merge_0 | |
instr_0x000A6C40_then_0: ; preds = %instr_0x000A6C40_merge_all_fs | |
%105 = zext i32 %102 to i64 | |
%106 = or i64 %105, 2932174172979200 | |
%107 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %106) | |
br label %instr_0x000A6C40_merge_0 | |
instr_0x000A6C40_merge_0: ; preds = %instr_0x000A6C40_then_0, %instr_0x000A6C40_merge_all_fs | |
ret i32 0 | |
instr_0x000A6C48: ; preds = %instr_0x000A6C3C | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
br label %instr_0x000A6C4C | |
instr_0x000A6C4C: ; preds = %instr_0x000A6C48 | |
%108 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 24, i32 0) | |
br label %instr_0x000A6C50 | |
instr_0x000A6C50: ; preds = %instr_0x000A6C4C | |
call void @ADD(i8* %ppu_state, i32 31, i32 30, i32 29, i32 0, i32 0) | |
br label %instr_0x000A6C54 | |
instr_0x000A6C54: ; preds = %instr_0x000A6C50 | |
call void @RLDICL(i8* %ppu_state, i32 4, i32 30, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6C58 | |
instr_0x000A6C58: ; preds = %instr_0x000A6C54 | |
%109 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 24, i32 4) | |
br label %instr_0x000A6C5C | |
instr_0x000A6C5C: ; preds = %instr_0x000A6C58 | |
%110 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0) | |
br label %instr_0x000A6C60 | |
instr_0x000A6C60: ; preds = %instr_0x000A6C5C | |
call void @RLDICL(i8* %ppu_state, i32 3, i32 31, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6C64 | |
instr_0x000A6C64: ; preds = %instr_0x000A6C60 | |
call void @ADD(i8* %ppu_state, i32 26, i32 26, i32 29, i32 0, i32 0) | |
br label %instr_0x000A6C68 | |
instr_0x000A6C68: ; preds = %instr_0x000A6C64 | |
%111 = getelementptr i8* %ppu_state, i32 1576 | |
%112 = bitcast i8* %111 to i64* | |
%113 = load i64* %112, align 8 | |
%114 = and i64 %113, -4 | |
%115 = trunc i64 %114 to i32 | |
%116 = getelementptr i8* %ppu_state, i32 1576 | |
%117 = bitcast i8* %116 to i64* | |
%118 = load i64* %117, align 8 | |
%119 = getelementptr i8* %ppu_state, i32 1568 | |
%120 = bitcast i8* %119 to i64* | |
store i64 683116, i64* %120, align 8 | |
%121 = getelementptr i8* %ppu_state, i32 1664 | |
%122 = bitcast i8* %121 to i32* | |
store i32 %115, i32* %122, align 4 | |
switch i32 %115, label %instr_0x000A6C68_unknown_function [ | |
i32 469328, label %instr_0x000A6C68_0x00072950 | |
] | |
instr_0x000A6C68_unknown_function: ; preds = %instr_0x000A6C68 | |
%123 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0) | |
br label %instr_0x000A6C6C | |
instr_0x000A6C68_0x00072950: ; preds = %instr_0x000A6C68 | |
%124 = load i64* inttoptr (i64 8623115688 to i64*) | |
%125 = inttoptr i64 %124 to i32 (i8*, i64)* | |
%126 = call i32 %125(i8* %ppu_state, i64 0) | |
%127 = icmp eq i32 %126, -1 | |
br i1 %127, label %instr_0x000A6C68_then_all_fs, label %instr_0x000A6C68_merge_all_fs | |
instr_0x000A6C68_then_all_fs: ; preds = %instr_0x000A6C68_0x00072950 | |
ret i32 0 | |
instr_0x000A6C68_merge_all_fs: ; preds = %instr_0x000A6C68_0x00072950 | |
br label %instr_0x000A6C6C | |
instr_0x000A6C6C: ; preds = %instr_0x000A6C68_merge_all_fs, %instr_0x000A6C68_unknown_function | |
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6C70 | |
instr_0x000A6C70: ; preds = %instr_0x000A6C6C | |
call void @ADD(i8* %ppu_state, i32 0, i32 25, i32 26, i32 0, i32 0) | |
br label %instr_0x000A6C74 | |
instr_0x000A6C74: ; preds = %instr_0x000A6C70 | |
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0) | |
br label %instr_0x000A6C78 | |
instr_0x000A6C78: ; preds = %instr_0x000A6C74 | |
call void @CMPL(i8* %ppu_state, i32 6, i32 0, i32 0, i32 22) | |
br label %instr_0x000A6C7C | |
instr_0x000A6C7C: ; preds = %instr_0x000A6C78 | |
%128 = getelementptr i8* %ppu_state, i32 1576 | |
%129 = bitcast i8* %128 to i64* | |
%130 = load i64* %129, align 8 | |
%131 = getelementptr i8* %ppu_state, i32 1540 | |
%132 = bitcast i8* %131 to i32* | |
%133 = load i32* %132, align 4 | |
%134 = lshr i32 %133, 1 | |
%135 = and i32 %134, 1 | |
%136 = trunc i32 %135 to i1 | |
br i1 %136, label %instr_0x000A6C40, label %instr_0x000A6C80 | |
instr_0x000A6C80: ; preds = %instr_0x000A6C7C | |
%137 = call i32 @OR(i8* %ppu_state, i32 31, i32 30, i32 30, i32 0) | |
br label %instr_0x000A6C84 | |
instr_0x000A6C84: ; preds = %instr_0x000A6C80, %instr_0x000A6C2C | |
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 18, i32 19) | |
br label %instr_0x000A6C88 | |
instr_0x000A6C88: ; preds = %instr_0x000A6C84 | |
call void @ADD(i8* %ppu_state, i32 30, i32 19, i32 25, i32 0, i32 0) | |
br label %instr_0x000A6C8C | |
instr_0x000A6C8C: ; preds = %instr_0x000A6C88 | |
call void @RLDICL(i8* %ppu_state, i32 26, i32 31, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6C90 | |
instr_0x000A6C90: ; preds = %instr_0x000A6C8C | |
%138 = getelementptr i8* %ppu_state, i32 1576 | |
%139 = bitcast i8* %138 to i64* | |
%140 = load i64* %139, align 8 | |
%141 = getelementptr i8* %ppu_state, i32 1540 | |
%142 = bitcast i8* %141 to i32* | |
%143 = load i32* %142, align 4 | |
%144 = lshr i32 %143, 2 | |
%145 = and i32 %144, 1 | |
%146 = trunc i32 %145 to i1 | |
br i1 %146, label %instr_0x000A6CA0, label %instr_0x000A6C94 | |
instr_0x000A6C94: ; preds = %instr_0x000A6C90 | |
%147 = phi i32 [ 683152, %instr_0x000A6C90 ] | |
%148 = getelementptr i8* %ppu_state, i32 1664 | |
%149 = bitcast i8* %148 to i32* | |
store i32 683156, i32* %149, align 4 | |
%150 = zext i32 %147 to i64 | |
%151 = or i64 %150, 2932174172979200 | |
%152 = load i64* inttoptr (i64 8623115696 to i64*) | |
%153 = inttoptr i64 %152 to i32 (i8*, i64)* | |
%154 = call i32 %153(i8* %ppu_state, i64 %151) | |
%155 = icmp eq i32 %154, -1 | |
br i1 %155, label %instr_0x000A6C94_then_all_fs, label %instr_0x000A6C94_merge_all_fs | |
instr_0x000A6C94_then_all_fs: ; preds = %instr_0x000A6C94 | |
ret i32 0 | |
instr_0x000A6C94_merge_all_fs: ; preds = %instr_0x000A6C94 | |
%156 = icmp ne i32 %154, 0 | |
br i1 %156, label %instr_0x000A6C94_then_0, label %instr_0x000A6C94_merge_0 | |
instr_0x000A6C94_then_0: ; preds = %instr_0x000A6C94_merge_all_fs | |
%157 = zext i32 %154 to i64 | |
%158 = or i64 %157, 2932174172979200 | |
%159 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %158) | |
br label %instr_0x000A6C94_merge_0 | |
instr_0x000A6C94_merge_0: ; preds = %instr_0x000A6C94_then_0, %instr_0x000A6C94_merge_all_fs | |
ret i32 0 | |
instr_0x000A6C98: ; preds = %instr_0x000A6CD0 | |
%160 = phi i32 [ 683216, %instr_0x000A6CD0 ] | |
%161 = getelementptr i8* %ppu_state, i32 1664 | |
%162 = bitcast i8* %161 to i32* | |
store i32 683160, i32* %162, align 4 | |
%163 = zext i32 %160 to i64 | |
%164 = or i64 %163, 2932174172979200 | |
%165 = load i64* inttoptr (i64 8623115696 to i64*) | |
%166 = inttoptr i64 %165 to i32 (i8*, i64)* | |
%167 = call i32 %166(i8* %ppu_state, i64 %164) | |
%168 = icmp eq i32 %167, -1 | |
br i1 %168, label %instr_0x000A6C98_then_all_fs, label %instr_0x000A6C98_merge_all_fs | |
instr_0x000A6C98_then_all_fs: ; preds = %instr_0x000A6C98 | |
ret i32 0 | |
instr_0x000A6C98_merge_all_fs: ; preds = %instr_0x000A6C98 | |
%169 = icmp ne i32 %167, 0 | |
br i1 %169, label %instr_0x000A6C98_then_0, label %instr_0x000A6C98_merge_0 | |
instr_0x000A6C98_then_0: ; preds = %instr_0x000A6C98_merge_all_fs | |
%170 = zext i32 %167 to i64 | |
%171 = or i64 %170, 2932174172979200 | |
%172 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %171) | |
br label %instr_0x000A6C98_merge_0 | |
instr_0x000A6C98_merge_0: ; preds = %instr_0x000A6C98_then_0, %instr_0x000A6C98_merge_all_fs | |
ret i32 0 | |
instr_0x000A6CA0: ; preds = %instr_0x000A6C90 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
br label %instr_0x000A6CA4 | |
instr_0x000A6CA4: ; preds = %instr_0x000A6CA0 | |
%173 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 24, i32 0) | |
br label %instr_0x000A6CA8 | |
instr_0x000A6CA8: ; preds = %instr_0x000A6CA4 | |
call void @RLDICL(i8* %ppu_state, i32 3, i32 19, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6CAC | |
instr_0x000A6CAC: ; preds = %instr_0x000A6CA8 | |
%174 = call i32 @OR(i8* %ppu_state, i32 4, i32 26, i32 26, i32 0) | |
br label %instr_0x000A6CB0 | |
instr_0x000A6CB0: ; preds = %instr_0x000A6CAC | |
%175 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 24, i32 4) | |
br label %instr_0x000A6CB4 | |
instr_0x000A6CB4: ; preds = %instr_0x000A6CB0 | |
%176 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0) | |
br label %instr_0x000A6CB8 | |
instr_0x000A6CB8: ; preds = %instr_0x000A6CB4 | |
call void @ADD(i8* %ppu_state, i32 30, i32 30, i32 25, i32 0, i32 0) | |
br label %instr_0x000A6CBC | |
instr_0x000A6CBC: ; preds = %instr_0x000A6CB8 | |
%177 = getelementptr i8* %ppu_state, i32 1576 | |
%178 = bitcast i8* %177 to i64* | |
%179 = load i64* %178, align 8 | |
%180 = and i64 %179, -4 | |
%181 = trunc i64 %180 to i32 | |
%182 = getelementptr i8* %ppu_state, i32 1576 | |
%183 = bitcast i8* %182 to i64* | |
%184 = load i64* %183, align 8 | |
%185 = getelementptr i8* %ppu_state, i32 1568 | |
%186 = bitcast i8* %185 to i64* | |
store i64 683200, i64* %186, align 8 | |
%187 = getelementptr i8* %ppu_state, i32 1664 | |
%188 = bitcast i8* %187 to i32* | |
store i32 %181, i32* %188, align 4 | |
switch i32 %181, label %instr_0x000A6CBC_unknown_function [ | |
i32 469328, label %instr_0x000A6CBC_0x00072950 | |
] | |
instr_0x000A6CBC_unknown_function: ; preds = %instr_0x000A6CBC | |
%189 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0) | |
br label %instr_0x000A6CC0 | |
instr_0x000A6CBC_0x00072950: ; preds = %instr_0x000A6CBC | |
%190 = load i64* inttoptr (i64 8623115688 to i64*) | |
%191 = inttoptr i64 %190 to i32 (i8*, i64)* | |
%192 = call i32 %191(i8* %ppu_state, i64 0) | |
%193 = icmp eq i32 %192, -1 | |
br i1 %193, label %instr_0x000A6CBC_then_all_fs, label %instr_0x000A6CBC_merge_all_fs | |
instr_0x000A6CBC_then_all_fs: ; preds = %instr_0x000A6CBC_0x00072950 | |
ret i32 0 | |
instr_0x000A6CBC_merge_all_fs: ; preds = %instr_0x000A6CBC_0x00072950 | |
br label %instr_0x000A6CC0 | |
instr_0x000A6CC0: ; preds = %instr_0x000A6CBC_merge_all_fs, %instr_0x000A6CBC_unknown_function | |
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6CC4 | |
instr_0x000A6CC4: ; preds = %instr_0x000A6CC0 | |
call void @SUBF(i8* %ppu_state, i32 0, i32 25, i32 30, i32 0, i32 0) | |
br label %instr_0x000A6CC8 | |
instr_0x000A6CC8: ; preds = %instr_0x000A6CC4 | |
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0) | |
br label %instr_0x000A6CCC | |
instr_0x000A6CCC: ; preds = %instr_0x000A6CC8 | |
call void @CMPL(i8* %ppu_state, i32 6, i32 0, i32 0, i32 18) | |
br label %instr_0x000A6CD0 | |
instr_0x000A6CD0: ; preds = %instr_0x000A6CCC | |
%194 = getelementptr i8* %ppu_state, i32 1576 | |
%195 = bitcast i8* %194 to i64* | |
%196 = load i64* %195, align 8 | |
%197 = getelementptr i8* %ppu_state, i32 1540 | |
%198 = bitcast i8* %197 to i32* | |
%199 = load i32* %198, align 4 | |
%200 = lshr i32 %199, 1 | |
%201 = and i32 %200, 1 | |
%202 = trunc i32 %201 to i1 | |
br i1 %202, label %instr_0x000A6C98, label %instr_0x000A6CD4 | |
instr_0x000A6CD4: ; preds = %instr_0x000A6CD0 | |
%203 = call i32 @OR(i8* %ppu_state, i32 23, i32 19, i32 19, i32 0) | |
br label %instr_0x000A6CD8 | |
instr_0x000A6CD8: ; preds = %instr_0x000A6CD4 | |
%204 = call i32 @OR(i8* %ppu_state, i32 27, i32 31, i32 31, i32 0) | |
br label %instr_0x000A6CDC | |
instr_0x000A6CDC: ; preds = %instr_0x000A6E44, %instr_0x000A6CD8 | |
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 23, i32 18) | |
br label %instr_0x000A6CE0 | |
instr_0x000A6CE0: ; preds = %instr_0x000A6CDC | |
%205 = getelementptr i8* %ppu_state, i32 1576 | |
%206 = bitcast i8* %205 to i64* | |
%207 = load i64* %206, align 8 | |
%208 = getelementptr i8* %ppu_state, i32 1540 | |
%209 = bitcast i8* %208 to i32* | |
%210 = load i32* %209, align 4 | |
%211 = lshr i32 %210, 3 | |
%212 = and i32 %211, 1 | |
%213 = trunc i32 %212 to i1 | |
br i1 %213, label %instr_0x000A6D88, label %instr_0x000A6CE4 | |
instr_0x000A6CE4: ; preds = %instr_0x000A6DB4, %instr_0x000A6D84, %instr_0x000A6CE0 | |
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 27, i32 22) | |
br label %instr_0x000A6CE8 | |
instr_0x000A6CE8: ; preds = %instr_0x000A6CE4 | |
%214 = getelementptr i8* %ppu_state, i32 1576 | |
%215 = bitcast i8* %214 to i64* | |
%216 = load i64* %215, align 8 | |
%217 = getelementptr i8* %ppu_state, i32 1540 | |
%218 = bitcast i8* %217 to i32* | |
%219 = load i32* %218, align 4 | |
%220 = lshr i32 %219, 2 | |
%221 = and i32 %220, 1 | |
%222 = trunc i32 %221 to i1 | |
%223 = xor i1 %222, true | |
br i1 %223, label %instr_0x000A6D58, label %instr_0x000A6CEC | |
instr_0x000A6CEC: ; preds = %instr_0x000A6CE8 | |
call void @SUBF(i8* %ppu_state, i32 28, i32 25, i32 27, i32 0, i32 0) | |
br label %instr_0x000A6CF0 | |
instr_0x000A6CF0: ; preds = %instr_0x000A6CEC | |
%224 = call i32 @OR(i8* %ppu_state, i32 30, i32 27, i32 27, i32 0) | |
br label %instr_0x000A6CF4 | |
instr_0x000A6CF4: ; preds = %instr_0x000A6CF0 | |
call void @RLDICL(i8* %ppu_state, i32 26, i32 31, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6CF8 | |
instr_0x000A6CF8: ; preds = %instr_0x000A6D54, %instr_0x000A6CF4 | |
call void @ADD(i8* %ppu_state, i32 27, i32 20, i32 27, i32 0, i32 0) | |
br label %instr_0x000A6CFC | |
instr_0x000A6CFC: ; preds = %instr_0x000A6CF8 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
br label %instr_0x000A6D00 | |
instr_0x000A6D00: ; preds = %instr_0x000A6CFC | |
call void @RLDICL(i8* %ppu_state, i32 29, i32 27, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6D04 | |
instr_0x000A6D04: ; preds = %instr_0x000A6D00 | |
%225 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 24, i32 0) | |
br label %instr_0x000A6D08 | |
instr_0x000A6D08: ; preds = %instr_0x000A6D04 | |
%226 = call i32 @OR(i8* %ppu_state, i32 4, i32 26, i32 26, i32 0) | |
br label %instr_0x000A6D0C | |
instr_0x000A6D0C: ; preds = %instr_0x000A6D08 | |
%227 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 24, i32 4) | |
br label %instr_0x000A6D10 | |
instr_0x000A6D10: ; preds = %instr_0x000A6D0C | |
%228 = call i32 @OR(i8* %ppu_state, i32 3, i32 29, i32 29, i32 0) | |
br label %instr_0x000A6D14 | |
instr_0x000A6D14: ; preds = %instr_0x000A6D10 | |
%229 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0) | |
br label %instr_0x000A6D18 | |
instr_0x000A6D18: ; preds = %instr_0x000A6D14 | |
call void @ADD(i8* %ppu_state, i32 28, i32 28, i32 20, i32 0, i32 0) | |
br label %instr_0x000A6D1C | |
instr_0x000A6D1C: ; preds = %instr_0x000A6D18 | |
%230 = getelementptr i8* %ppu_state, i32 1576 | |
%231 = bitcast i8* %230 to i64* | |
%232 = load i64* %231, align 8 | |
%233 = and i64 %232, -4 | |
%234 = trunc i64 %233 to i32 | |
%235 = getelementptr i8* %ppu_state, i32 1576 | |
%236 = bitcast i8* %235 to i64* | |
%237 = load i64* %236, align 8 | |
%238 = getelementptr i8* %ppu_state, i32 1568 | |
%239 = bitcast i8* %238 to i64* | |
store i64 683296, i64* %239, align 8 | |
%240 = getelementptr i8* %ppu_state, i32 1664 | |
%241 = bitcast i8* %240 to i32* | |
store i32 %234, i32* %241, align 4 | |
switch i32 %234, label %instr_0x000A6D1C_unknown_function [ | |
i32 469328, label %instr_0x000A6D1C_0x00072950 | |
] | |
instr_0x000A6D1C_unknown_function: ; preds = %instr_0x000A6D1C | |
%242 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0) | |
br label %instr_0x000A6D20 | |
instr_0x000A6D1C_0x00072950: ; preds = %instr_0x000A6D1C | |
%243 = load i64* inttoptr (i64 8623115688 to i64*) | |
%244 = inttoptr i64 %243 to i32 (i8*, i64)* | |
%245 = call i32 %244(i8* %ppu_state, i64 0) | |
%246 = icmp eq i32 %245, -1 | |
br i1 %246, label %instr_0x000A6D1C_then_all_fs, label %instr_0x000A6D1C_merge_all_fs | |
instr_0x000A6D1C_then_all_fs: ; preds = %instr_0x000A6D1C_0x00072950 | |
ret i32 0 | |
instr_0x000A6D1C_merge_all_fs: ; preds = %instr_0x000A6D1C_0x00072950 | |
br label %instr_0x000A6D20 | |
instr_0x000A6D20: ; preds = %instr_0x000A6D1C_merge_all_fs, %instr_0x000A6D1C_unknown_function | |
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6D24 | |
instr_0x000A6D24: ; preds = %instr_0x000A6D20 | |
%247 = call i32 @OR(i8* %ppu_state, i32 4, i32 29, i32 29, i32 0) | |
br label %instr_0x000A6D28 | |
instr_0x000A6D28: ; preds = %instr_0x000A6D24 | |
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0) | |
br label %instr_0x000A6D2C | |
instr_0x000A6D2C: ; preds = %instr_0x000A6D28 | |
%248 = call i32 @OR(i8* %ppu_state, i32 5, i32 21, i32 21, i32 0) | |
br label %instr_0x000A6D30 | |
instr_0x000A6D30: ; preds = %instr_0x000A6D2C | |
%249 = getelementptr i8* %ppu_state, i32 1576 | |
%250 = bitcast i8* %249 to i64* | |
%251 = load i64* %250, align 8 | |
%252 = getelementptr i8* %ppu_state, i32 1540 | |
%253 = bitcast i8* %252 to i32* | |
%254 = load i32* %253, align 4 | |
%255 = lshr i32 %254, 3 | |
%256 = and i32 %255, 1 | |
%257 = trunc i32 %256 to i1 | |
br i1 %257, label %instr_0x000A6D48, label %instr_0x000A6D34 | |
instr_0x000A6D34: ; preds = %instr_0x000A6D30 | |
%258 = getelementptr i8* %ppu_state, i32 1576 | |
%259 = bitcast i8* %258 to i64* | |
%260 = load i64* %259, align 8 | |
%261 = getelementptr i8* %ppu_state, i32 1540 | |
%262 = bitcast i8* %261 to i32* | |
%263 = load i32* %262, align 4 | |
%264 = lshr i32 %263, 1 | |
%265 = and i32 %264, 1 | |
%266 = trunc i32 %265 to i1 | |
%267 = xor i1 %266, true | |
br i1 %267, label %instr_0x000A6DD4, label %instr_0x000A6D38 | |
instr_0x000A6D38: ; preds = %instr_0x000A6D34 | |
%268 = phi i32 [ 683316, %instr_0x000A6D34 ] | |
%269 = getelementptr i8* %ppu_state, i32 1664 | |
%270 = bitcast i8* %269 to i32* | |
store i32 683320, i32* %270, align 4 | |
%271 = zext i32 %268 to i64 | |
%272 = or i64 %271, 2932174172979200 | |
%273 = load i64* inttoptr (i64 8623115696 to i64*) | |
%274 = inttoptr i64 %273 to i32 (i8*, i64)* | |
%275 = call i32 %274(i8* %ppu_state, i64 %272) | |
%276 = icmp eq i32 %275, -1 | |
br i1 %276, label %instr_0x000A6D38_then_all_fs, label %instr_0x000A6D38_merge_all_fs | |
instr_0x000A6D38_then_all_fs: ; preds = %instr_0x000A6D38 | |
ret i32 0 | |
instr_0x000A6D38_merge_all_fs: ; preds = %instr_0x000A6D38 | |
%277 = icmp ne i32 %275, 0 | |
br i1 %277, label %instr_0x000A6D38_then_0, label %instr_0x000A6D38_merge_0 | |
instr_0x000A6D38_then_0: ; preds = %instr_0x000A6D38_merge_all_fs | |
%278 = zext i32 %275 to i64 | |
%279 = or i64 %278, 2932174172979200 | |
%280 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %279) | |
br label %instr_0x000A6D38_merge_0 | |
instr_0x000A6D38_merge_0: ; preds = %instr_0x000A6D38_then_0, %instr_0x000A6D38_merge_all_fs | |
ret i32 0 | |
instr_0x000A6D48: ; preds = %instr_0x000A6D30 | |
call void @ADD(i8* %ppu_state, i32 0, i32 28, i32 25, i32 0, i32 0) | |
br label %instr_0x000A6D4C | |
instr_0x000A6D4C: ; preds = %instr_0x000A6D48 | |
%281 = call i32 @OR(i8* %ppu_state, i32 30, i32 27, i32 27, i32 0) | |
br label %instr_0x000A6D50 | |
instr_0x000A6D50: ; preds = %instr_0x000A6D4C | |
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 0, i32 22) | |
br label %instr_0x000A6D54 | |
instr_0x000A6D54: ; preds = %instr_0x000A6D50 | |
%282 = getelementptr i8* %ppu_state, i32 1576 | |
%283 = bitcast i8* %282 to i64* | |
%284 = load i64* %283, align 8 | |
%285 = getelementptr i8* %ppu_state, i32 1540 | |
%286 = bitcast i8* %285 to i32* | |
%287 = load i32* %286, align 4 | |
%288 = lshr i32 %287, 2 | |
%289 = and i32 %288, 1 | |
%290 = trunc i32 %289 to i1 | |
br i1 %290, label %instr_0x000A6CF8, label %instr_0x000A6D58 | |
instr_0x000A6D58: ; preds = %instr_0x000A6D54, %instr_0x000A6CE8 | |
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 22, i32 27) | |
br label %instr_0x000A6D5C | |
instr_0x000A6D5C: ; preds = %instr_0x000A6D58 | |
%291 = getelementptr i8* %ppu_state, i32 1576 | |
%292 = bitcast i8* %291 to i64* | |
%293 = load i64* %292, align 8 | |
%294 = getelementptr i8* %ppu_state, i32 1540 | |
%295 = bitcast i8* %294 to i32* | |
%296 = load i32* %295, align 4 | |
%297 = lshr i32 %296, 1 | |
%298 = and i32 %297, 1 | |
%299 = trunc i32 %298 to i1 | |
br i1 %299, label %instr_0x000A6DE0, label %instr_0x000A6D60 | |
instr_0x000A6D60: ; preds = %instr_0x000A6DDC, %instr_0x000A6D5C | |
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 23, i32 18) | |
br label %instr_0x000A6D64 | |
instr_0x000A6D64: ; preds = %instr_0x000A6D60 | |
%300 = getelementptr i8* %ppu_state, i32 1576 | |
%301 = bitcast i8* %300 to i64* | |
%302 = load i64* %301, align 8 | |
%303 = getelementptr i8* %ppu_state, i32 1540 | |
%304 = bitcast i8* %303 to i32* | |
%305 = load i32* %304, align 4 | |
%306 = lshr i32 %305, 1 | |
%307 = and i32 %306, 1 | |
%308 = trunc i32 %307 to i1 | |
br i1 %308, label %instr_0x000A6E18, label %instr_0x000A6D68 | |
instr_0x000A6D68: ; preds = %instr_0x000A6D64 | |
call void @SUBF(i8* %ppu_state, i32 27, i32 25, i32 27, i32 0, i32 0) | |
br label %instr_0x000A6D6C | |
instr_0x000A6D6C: ; preds = %instr_0x000A6D68 | |
call void @RLDICL(i8* %ppu_state, i32 3, i32 23, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6D70 | |
instr_0x000A6D70: ; preds = %instr_0x000A6D6C | |
call void @RLDICL(i8* %ppu_state, i32 4, i32 27, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6D74 | |
instr_0x000A6D74: ; preds = %instr_0x000A6D70 | |
%309 = call i32 @OR(i8* %ppu_state, i32 5, i32 21, i32 21, i32 0) | |
br label %instr_0x000A6D78 | |
instr_0x000A6D78: ; preds = %instr_0x000A6D74 | |
call void @ADD(i8* %ppu_state, i32 23, i32 23, i32 25, i32 0, i32 0) | |
br label %instr_0x000A6D7C | |
instr_0x000A6D7C: ; preds = %instr_0x000A6D78 | |
%310 = getelementptr i8* %ppu_state, i32 1568 | |
%311 = bitcast i8* %310 to i64* | |
store i64 683392, i64* %311, align 8 | |
%312 = getelementptr i8* %ppu_state, i32 1664 | |
%313 = bitcast i8* %312 to i32* | |
store i32 681316, i32* %313, align 4 | |
%314 = load i64* inttoptr (i64 8623115688 to i64*) | |
%315 = inttoptr i64 %314 to i32 (i8*, i64)* | |
%316 = call i32 %315(i8* %ppu_state, i64 0) | |
%317 = icmp eq i32 %316, -1 | |
br i1 %317, label %instr_0x000A6D7C_then_all_fs, label %instr_0x000A6D7C_merge_all_fs | |
instr_0x000A6D7C_then_all_fs: ; preds = %instr_0x000A6D7C | |
ret i32 0 | |
instr_0x000A6D7C_merge_all_fs: ; preds = %instr_0x000A6D7C | |
br label %instr_0x000A6D80 | |
instr_0x000A6D80: ; preds = %instr_0x000A6D7C_merge_all_fs | |
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 23, i32 18) | |
br label %instr_0x000A6D84 | |
instr_0x000A6D84: ; preds = %instr_0x000A6D80 | |
%318 = getelementptr i8* %ppu_state, i32 1576 | |
%319 = bitcast i8* %318 to i64* | |
%320 = load i64* %319, align 8 | |
%321 = getelementptr i8* %ppu_state, i32 1540 | |
%322 = bitcast i8* %321 to i32* | |
%323 = load i32* %322, align 4 | |
%324 = lshr i32 %323, 3 | |
%325 = and i32 %324, 1 | |
%326 = trunc i32 %325 to i1 | |
%327 = xor i1 %326, true | |
br i1 %327, label %instr_0x000A6CE4, label %instr_0x000A6D88 | |
instr_0x000A6D88: ; preds = %instr_0x000A6D84, %instr_0x000A6CE0 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
br label %instr_0x000A6D8C | |
instr_0x000A6D8C: ; preds = %instr_0x000A6D88 | |
%328 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 24, i32 0) | |
br label %instr_0x000A6D90 | |
instr_0x000A6D90: ; preds = %instr_0x000A6D8C | |
call void @RLDICL(i8* %ppu_state, i32 30, i32 23, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6D94 | |
instr_0x000A6D94: ; preds = %instr_0x000A6D90 | |
call void @RLDICL(i8* %ppu_state, i32 3, i32 31, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6D98 | |
instr_0x000A6D98: ; preds = %instr_0x000A6D94 | |
%329 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 24, i32 4) | |
br label %instr_0x000A6D9C | |
instr_0x000A6D9C: ; preds = %instr_0x000A6D98 | |
%330 = call i32 @OR(i8* %ppu_state, i32 4, i32 30, i32 30, i32 0) | |
br label %instr_0x000A6DA0 | |
instr_0x000A6DA0: ; preds = %instr_0x000A6D9C | |
%331 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0) | |
br label %instr_0x000A6DA4 | |
instr_0x000A6DA4: ; preds = %instr_0x000A6DA0 | |
%332 = getelementptr i8* %ppu_state, i32 1576 | |
%333 = bitcast i8* %332 to i64* | |
%334 = load i64* %333, align 8 | |
%335 = and i64 %334, -4 | |
%336 = trunc i64 %335 to i32 | |
%337 = getelementptr i8* %ppu_state, i32 1576 | |
%338 = bitcast i8* %337 to i64* | |
%339 = load i64* %338, align 8 | |
%340 = getelementptr i8* %ppu_state, i32 1568 | |
%341 = bitcast i8* %340 to i64* | |
store i64 683432, i64* %341, align 8 | |
%342 = getelementptr i8* %ppu_state, i32 1664 | |
%343 = bitcast i8* %342 to i32* | |
store i32 %336, i32* %343, align 4 | |
switch i32 %336, label %instr_0x000A6DA4_unknown_function [ | |
i32 469328, label %instr_0x000A6DA4_0x00072950 | |
] | |
instr_0x000A6DA4_unknown_function: ; preds = %instr_0x000A6DA4 | |
%344 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0) | |
br label %instr_0x000A6DA8 | |
instr_0x000A6DA4_0x00072950: ; preds = %instr_0x000A6DA4 | |
%345 = load i64* inttoptr (i64 8623115688 to i64*) | |
%346 = inttoptr i64 %345 to i32 (i8*, i64)* | |
%347 = call i32 %346(i8* %ppu_state, i64 0) | |
%348 = icmp eq i32 %347, -1 | |
br i1 %348, label %instr_0x000A6DA4_then_all_fs, label %instr_0x000A6DA4_merge_all_fs | |
instr_0x000A6DA4_then_all_fs: ; preds = %instr_0x000A6DA4_0x00072950 | |
ret i32 0 | |
instr_0x000A6DA4_merge_all_fs: ; preds = %instr_0x000A6DA4_0x00072950 | |
br label %instr_0x000A6DA8 | |
instr_0x000A6DA8: ; preds = %instr_0x000A6DA4_merge_all_fs, %instr_0x000A6DA4_unknown_function | |
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6DAC | |
instr_0x000A6DAC: ; preds = %instr_0x000A6DA8 | |
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0) | |
br label %instr_0x000A6DB0 | |
instr_0x000A6DB0: ; preds = %instr_0x000A6DAC | |
%349 = getelementptr i8* %ppu_state, i32 1576 | |
%350 = bitcast i8* %349 to i64* | |
%351 = load i64* %350, align 8 | |
%352 = getelementptr i8* %ppu_state, i32 1540 | |
%353 = bitcast i8* %352 to i32* | |
%354 = load i32* %353, align 4 | |
%355 = lshr i32 %354, 3 | |
%356 = and i32 %355, 1 | |
%357 = trunc i32 %356 to i1 | |
br i1 %357, label %instr_0x000A6DCC, label %instr_0x000A6DB4 | |
instr_0x000A6DB4: ; preds = %instr_0x000A6DB0 | |
%358 = getelementptr i8* %ppu_state, i32 1576 | |
%359 = bitcast i8* %358 to i64* | |
%360 = load i64* %359, align 8 | |
%361 = getelementptr i8* %ppu_state, i32 1540 | |
%362 = bitcast i8* %361 to i32* | |
%363 = load i32* %362, align 4 | |
%364 = lshr i32 %363, 1 | |
%365 = and i32 %364, 1 | |
%366 = trunc i32 %365 to i1 | |
%367 = xor i1 %366, true | |
br i1 %367, label %instr_0x000A6CE4, label %instr_0x000A6DB8 | |
instr_0x000A6DB8: ; preds = %instr_0x000A6DB4 | |
%368 = phi i32 [ 683444, %instr_0x000A6DB4 ] | |
%369 = getelementptr i8* %ppu_state, i32 1664 | |
%370 = bitcast i8* %369 to i32* | |
store i32 683448, i32* %370, align 4 | |
%371 = zext i32 %368 to i64 | |
%372 = or i64 %371, 2932174172979200 | |
%373 = load i64* inttoptr (i64 8623115696 to i64*) | |
%374 = inttoptr i64 %373 to i32 (i8*, i64)* | |
%375 = call i32 %374(i8* %ppu_state, i64 %372) | |
%376 = icmp eq i32 %375, -1 | |
br i1 %376, label %instr_0x000A6DB8_then_all_fs, label %instr_0x000A6DB8_merge_all_fs | |
instr_0x000A6DB8_then_all_fs: ; preds = %instr_0x000A6DB8 | |
ret i32 0 | |
instr_0x000A6DB8_merge_all_fs: ; preds = %instr_0x000A6DB8 | |
%377 = icmp ne i32 %375, 0 | |
br i1 %377, label %instr_0x000A6DB8_then_0, label %instr_0x000A6DB8_merge_0 | |
instr_0x000A6DB8_then_0: ; preds = %instr_0x000A6DB8_merge_all_fs | |
%378 = zext i32 %375 to i64 | |
%379 = or i64 %378, 2932174172979200 | |
%380 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %379) | |
br label %instr_0x000A6DB8_merge_0 | |
instr_0x000A6DB8_merge_0: ; preds = %instr_0x000A6DB8_then_0, %instr_0x000A6DB8_merge_all_fs | |
ret i32 0 | |
instr_0x000A6DCC: ; preds = %instr_0x000A6DB0 | |
%381 = phi i32 [ 683440, %instr_0x000A6DB0 ] | |
%382 = getelementptr i8* %ppu_state, i32 1664 | |
%383 = bitcast i8* %382 to i32* | |
store i32 683468, i32* %383, align 4 | |
%384 = zext i32 %381 to i64 | |
%385 = or i64 %384, 2932174172979200 | |
%386 = load i64* inttoptr (i64 8623115696 to i64*) | |
%387 = inttoptr i64 %386 to i32 (i8*, i64)* | |
%388 = call i32 %387(i8* %ppu_state, i64 %385) | |
%389 = icmp eq i32 %388, -1 | |
br i1 %389, label %instr_0x000A6DCC_then_all_fs, label %instr_0x000A6DCC_merge_all_fs | |
instr_0x000A6DCC_then_all_fs: ; preds = %instr_0x000A6DCC | |
ret i32 0 | |
instr_0x000A6DCC_merge_all_fs: ; preds = %instr_0x000A6DCC | |
%390 = icmp ne i32 %388, 0 | |
br i1 %390, label %instr_0x000A6DCC_then_0, label %instr_0x000A6DCC_merge_0 | |
instr_0x000A6DCC_then_0: ; preds = %instr_0x000A6DCC_merge_all_fs | |
%391 = zext i32 %388 to i64 | |
%392 = or i64 %391, 2932174172979200 | |
%393 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %392) | |
br label %instr_0x000A6DCC_merge_0 | |
instr_0x000A6DCC_merge_0: ; preds = %instr_0x000A6DCC_then_0, %instr_0x000A6DCC_merge_all_fs | |
ret i32 0 | |
instr_0x000A6DD4: ; preds = %instr_0x000A6D34 | |
%394 = call i32 @OR(i8* %ppu_state, i32 27, i32 30, i32 30, i32 0) | |
br label %instr_0x000A6DD8 | |
instr_0x000A6DD8: ; preds = %instr_0x000A6DD4 | |
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 22, i32 27) | |
br label %instr_0x000A6DDC | |
instr_0x000A6DDC: ; preds = %instr_0x000A6DD8 | |
%395 = getelementptr i8* %ppu_state, i32 1576 | |
%396 = bitcast i8* %395 to i64* | |
%397 = load i64* %396, align 8 | |
%398 = getelementptr i8* %ppu_state, i32 1540 | |
%399 = bitcast i8* %398 to i32* | |
%400 = load i32* %399, align 4 | |
%401 = lshr i32 %400, 1 | |
%402 = and i32 %401, 1 | |
%403 = trunc i32 %402 to i1 | |
%404 = xor i1 %403, true | |
br i1 %404, label %instr_0x000A6D60, label %instr_0x000A6DE0 | |
instr_0x000A6DE0: ; preds = %instr_0x000A6DDC, %instr_0x000A6D5C | |
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 23, i32 18) | |
br label %instr_0x000A6DE4 | |
instr_0x000A6DE4: ; preds = %instr_0x000A6DE0 | |
%405 = getelementptr i8* %ppu_state, i32 1576 | |
%406 = bitcast i8* %405 to i64* | |
%407 = load i64* %406, align 8 | |
%408 = getelementptr i8* %ppu_state, i32 1540 | |
%409 = bitcast i8* %408 to i32* | |
%410 = load i32* %409, align 4 | |
%411 = lshr i32 %410, 1 | |
%412 = and i32 %411, 1 | |
%413 = trunc i32 %412 to i1 | |
br i1 %413, label %instr_0x000A6E74, label %instr_0x000A6DE8 | |
instr_0x000A6DE8: ; preds = %instr_0x000A6DE4 | |
%414 = phi i32 [ 683492, %instr_0x000A6DE4 ] | |
%415 = getelementptr i8* %ppu_state, i32 1664 | |
%416 = bitcast i8* %415 to i32* | |
store i32 683496, i32* %416, align 4 | |
%417 = zext i32 %414 to i64 | |
%418 = or i64 %417, 2932174172979200 | |
%419 = load i64* inttoptr (i64 8623115696 to i64*) | |
%420 = inttoptr i64 %419 to i32 (i8*, i64)* | |
%421 = call i32 %420(i8* %ppu_state, i64 %418) | |
%422 = icmp eq i32 %421, -1 | |
br i1 %422, label %instr_0x000A6DE8_then_all_fs, label %instr_0x000A6DE8_merge_all_fs | |
instr_0x000A6DE8_then_all_fs: ; preds = %instr_0x000A6DE8 | |
ret i32 0 | |
instr_0x000A6DE8_merge_all_fs: ; preds = %instr_0x000A6DE8 | |
%423 = icmp ne i32 %421, 0 | |
br i1 %423, label %instr_0x000A6DE8_then_0, label %instr_0x000A6DE8_merge_0 | |
instr_0x000A6DE8_then_0: ; preds = %instr_0x000A6DE8_merge_all_fs | |
%424 = zext i32 %421 to i64 | |
%425 = or i64 %424, 2932174172979200 | |
%426 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %425) | |
br label %instr_0x000A6DE8_merge_0 | |
instr_0x000A6DE8_merge_0: ; preds = %instr_0x000A6DE8_then_0, %instr_0x000A6DE8_merge_all_fs | |
ret i32 0 | |
instr_0x000A6E18: ; preds = %instr_0x000A6D64 | |
call void @SUBF(i8* %ppu_state, i32 27, i32 25, i32 27, i32 0, i32 0) | |
br label %instr_0x000A6E1C | |
instr_0x000A6E1C: ; preds = %instr_0x000A6E18 | |
call void @SUBF(i8* %ppu_state, i32 31, i32 25, i32 31, i32 0, i32 0) | |
br label %instr_0x000A6E20 | |
instr_0x000A6E20: ; preds = %instr_0x000A6E1C | |
call void @SUBF(i8* %ppu_state, i32 19, i32 25, i32 19, i32 0, i32 0) | |
br label %instr_0x000A6E24 | |
instr_0x000A6E24: ; preds = %instr_0x000A6E20 | |
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 27, i32 31) | |
br label %instr_0x000A6E28 | |
instr_0x000A6E28: ; preds = %instr_0x000A6E24 | |
%427 = getelementptr i8* %ppu_state, i32 1576 | |
%428 = bitcast i8* %427 to i64* | |
%429 = load i64* %428, align 8 | |
%430 = getelementptr i8* %ppu_state, i32 1540 | |
%431 = bitcast i8* %430 to i32* | |
%432 = load i32* %431, align 4 | |
%433 = lshr i32 %432, 1 | |
%434 = and i32 %433, 1 | |
%435 = trunc i32 %434 to i1 | |
br i1 %435, label %instr_0x000A6E48, label %instr_0x000A6E2C | |
instr_0x000A6E2C: ; preds = %instr_0x000A6E28 | |
call void @RLDICL(i8* %ppu_state, i32 3, i32 27, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6E30 | |
instr_0x000A6E30: ; preds = %instr_0x000A6E2C | |
call void @RLDICL(i8* %ppu_state, i32 4, i32 19, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6E34 | |
instr_0x000A6E34: ; preds = %instr_0x000A6E30 | |
call void @RLDICL(i8* %ppu_state, i32 5, i32 31, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6E38 | |
instr_0x000A6E38: ; preds = %instr_0x000A6E34 | |
%436 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0) | |
br label %instr_0x000A6E3C | |
instr_0x000A6E3C: ; preds = %instr_0x000A6E38 | |
%437 = call i32 @OR(i8* %ppu_state, i32 23, i32 18, i32 18, i32 0) | |
br label %instr_0x000A6E40 | |
instr_0x000A6E40: ; preds = %instr_0x000A6E3C | |
%438 = getelementptr i8* %ppu_state, i32 1568 | |
%439 = bitcast i8* %438 to i64* | |
store i64 683588, i64* %439, align 8 | |
%440 = getelementptr i8* %ppu_state, i32 1664 | |
%441 = bitcast i8* %440 to i32* | |
store i32 680920, i32* %441, align 4 | |
%442 = load i64* inttoptr (i64 8623115688 to i64*) | |
%443 = inttoptr i64 %442 to i32 (i8*, i64)* | |
%444 = call i32 %443(i8* %ppu_state, i64 0) | |
%445 = icmp eq i32 %444, -1 | |
br i1 %445, label %instr_0x000A6E40_then_all_fs, label %instr_0x000A6E40_merge_all_fs | |
instr_0x000A6E40_then_all_fs: ; preds = %instr_0x000A6E40 | |
ret i32 0 | |
instr_0x000A6E40_merge_all_fs: ; preds = %instr_0x000A6E40 | |
br label %instr_0x000A6E44 | |
instr_0x000A6E44: ; preds = %instr_0x000A6E40_merge_all_fs | |
br label %instr_0x000A6CDC | |
instr_0x000A6E48: ; preds = %instr_0x000A6E28 | |
%446 = phi i32 [ 683560, %instr_0x000A6E28 ] | |
%447 = getelementptr i8* %ppu_state, i32 1664 | |
%448 = bitcast i8* %447 to i32* | |
store i32 683592, i32* %448, align 4 | |
%449 = zext i32 %446 to i64 | |
%450 = or i64 %449, 2932174172979200 | |
%451 = load i64* inttoptr (i64 8623115696 to i64*) | |
%452 = inttoptr i64 %451 to i32 (i8*, i64)* | |
%453 = call i32 %452(i8* %ppu_state, i64 %450) | |
%454 = icmp eq i32 %453, -1 | |
br i1 %454, label %instr_0x000A6E48_then_all_fs, label %instr_0x000A6E48_merge_all_fs | |
instr_0x000A6E48_then_all_fs: ; preds = %instr_0x000A6E48 | |
ret i32 0 | |
instr_0x000A6E48_merge_all_fs: ; preds = %instr_0x000A6E48 | |
%455 = icmp ne i32 %453, 0 | |
br i1 %455, label %instr_0x000A6E48_then_0, label %instr_0x000A6E48_merge_0 | |
instr_0x000A6E48_then_0: ; preds = %instr_0x000A6E48_merge_all_fs | |
%456 = zext i32 %453 to i64 | |
%457 = or i64 %456, 2932174172979200 | |
%458 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %457) | |
br label %instr_0x000A6E48_merge_0 | |
instr_0x000A6E48_merge_0: ; preds = %instr_0x000A6E48_then_0, %instr_0x000A6E48_merge_all_fs | |
ret i32 0 | |
instr_0x000A6E74: ; preds = %instr_0x000A6DE4 | |
call void @SUBF(i8* %ppu_state, i32 11, i32 22, i32 31, i32 0, i32 0) | |
br label %instr_0x000A6E78 | |
instr_0x000A6E78: ; preds = %instr_0x000A6E74 | |
call void @SUBF(i8* %ppu_state, i32 0, i32 19, i32 18, i32 0, i32 0) | |
br label %instr_0x000A6E7C | |
instr_0x000A6E7C: ; preds = %instr_0x000A6E78 | |
call void @RLWINM(i8* %ppu_state, i32 10, i32 16, i32 30, i32 2, i32 31, i32 0) | |
br label %instr_0x000A6E80 | |
instr_0x000A6E80: ; preds = %instr_0x000A6E7C | |
call void @DIVWU(i8* %ppu_state, i32 11, i32 11, i32 17, i32 0, i32 0) | |
br label %instr_0x000A6E84 | |
instr_0x000A6E84: ; preds = %instr_0x000A6E80 | |
call void @RLWINM(i8* %ppu_state, i32 9, i32 16, i32 31, i32 1, i32 31, i32 0) | |
br label %instr_0x000A6E88 | |
instr_0x000A6E88: ; preds = %instr_0x000A6E84 | |
call void @DIVWU(i8* %ppu_state, i32 23, i32 0, i32 17, i32 0, i32 0) | |
br label %instr_0x000A6E8C | |
instr_0x000A6E8C: ; preds = %instr_0x000A6E88 | |
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 11, i32 23) | |
br label %instr_0x000A6E90 | |
instr_0x000A6E90: ; preds = %instr_0x000A6E8C | |
call void @ADD(i8* %ppu_state, i32 16, i32 9, i32 10, i32 0, i32 0) | |
br label %instr_0x000A6E94 | |
instr_0x000A6E94: ; preds = %instr_0x000A6E90 | |
%459 = getelementptr i8* %ppu_state, i32 1576 | |
%460 = bitcast i8* %459 to i64* | |
%461 = load i64* %460, align 8 | |
%462 = getelementptr i8* %ppu_state, i32 1540 | |
%463 = bitcast i8* %462 to i32* | |
%464 = load i32* %463, align 4 | |
%465 = lshr i32 %464, 2 | |
%466 = and i32 %465, 1 | |
%467 = trunc i32 %466 to i1 | |
br i1 %467, label %instr_0x000A6FF0, label %instr_0x000A6E98 | |
instr_0x000A6E98: ; preds = %instr_0x000A6E94 | |
%468 = call i32 @OR(i8* %ppu_state, i32 3, i32 15, i32 15, i32 0) | |
br label %instr_0x000A6E9C | |
instr_0x000A6E9C: ; preds = %instr_0x000A6E98 | |
call void @RLDICL(i8* %ppu_state, i32 4, i32 11, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6EA0 | |
instr_0x000A6EA0: ; preds = %instr_0x000A6E9C | |
call void @RLDICL(i8* %ppu_state, i32 5, i32 16, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6EA4 | |
instr_0x000A6EA4: ; preds = %instr_0x000A6EA0 | |
%469 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0) | |
br label %instr_0x000A6EA8 | |
instr_0x000A6EA8: ; preds = %instr_0x000A6EA4 | |
%470 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0) | |
br label %instr_0x000A6EAC | |
instr_0x000A6EAC: ; preds = %instr_0x000A6EA8 | |
%471 = call i32 @OR(i8* %ppu_state, i32 22, i32 19, i32 19, i32 0) | |
br label %instr_0x000A6EB0 | |
instr_0x000A6EB0: ; preds = %instr_0x000A6EAC | |
%472 = getelementptr i8* %ppu_state, i32 1568 | |
%473 = bitcast i8* %472 to i64* | |
store i64 683700, i64* %473, align 8 | |
%474 = getelementptr i8* %ppu_state, i32 1664 | |
%475 = bitcast i8* %474 to i32* | |
store i32 682700, i32* %475, align 4 | |
%476 = load i64* inttoptr (i64 8623115688 to i64*) | |
%477 = inttoptr i64 %476 to i32 (i8*, i64)* | |
%478 = call i32 %477(i8* %ppu_state, i64 0) | |
%479 = icmp eq i32 %478, -1 | |
br i1 %479, label %instr_0x000A6EB0_then_all_fs, label %instr_0x000A6EB0_merge_all_fs | |
instr_0x000A6EB0_then_all_fs: ; preds = %instr_0x000A6EB0 | |
ret i32 0 | |
instr_0x000A6EB0_merge_all_fs: ; preds = %instr_0x000A6EB0 | |
br label %instr_0x000A6EB4 | |
instr_0x000A6EB4: ; preds = %instr_0x000A6EB0_merge_all_fs | |
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 16, i32 0) | |
br label %instr_0x000A6EB8 | |
instr_0x000A6EB8: ; preds = %instr_0x000A6EB4 | |
%480 = getelementptr i8* %ppu_state, i32 1576 | |
%481 = bitcast i8* %480 to i64* | |
%482 = load i64* %481, align 8 | |
%483 = getelementptr i8* %ppu_state, i32 1540 | |
%484 = bitcast i8* %483 to i32* | |
%485 = load i32* %484, align 4 | |
%486 = lshr i32 %485, 1 | |
%487 = and i32 %486, 1 | |
%488 = trunc i32 %487 to i1 | |
br i1 %488, label %instr_0x000A7014, label %instr_0x000A6EBC | |
instr_0x000A6EBC: ; preds = %instr_0x000A7010, %instr_0x000A6EB8 | |
call void @CMPLI(i8* %ppu_state, i32 7, i32 0, i32 23, i32 32) | |
br label %instr_0x000A6EC0 | |
instr_0x000A6EC0: ; preds = %instr_0x000A6EBC | |
%489 = getelementptr i8* %ppu_state, i32 1576 | |
%490 = bitcast i8* %489 to i64* | |
%491 = load i64* %490, align 8 | |
%492 = getelementptr i8* %ppu_state, i32 1540 | |
%493 = bitcast i8* %492 to i32* | |
%494 = load i32* %493, align 4 | |
%495 = lshr i32 %494, 2 | |
%496 = and i32 %495, 1 | |
%497 = trunc i32 %496 to i1 | |
br i1 %497, label %instr_0x000A6B60, label %instr_0x000A6EC4 | |
instr_0x000A6EC4: ; preds = %instr_0x000A6EC0, %instr_0x000A6B40 | |
call void @CMPLI(i8* %ppu_state, i32 7, i32 0, i32 23, i32 1) | |
br label %instr_0x000A6EC8 | |
instr_0x000A6EC8: ; preds = %instr_0x000A6EC4 | |
%498 = call i32 @LWZ(i8* %ppu_state, i32 26, i32 1, i32 112) | |
br label %instr_0x000A6ECC | |
instr_0x000A6ECC: ; preds = %instr_0x000A6EC8 | |
%499 = call i32 @OR(i8* %ppu_state, i32 27, i32 22, i32 22, i32 0) | |
br label %instr_0x000A6ED0 | |
instr_0x000A6ED0: ; preds = %instr_0x000A6ECC | |
call void @RLDICL(i8* %ppu_state, i32 25, i32 22, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6ED4 | |
instr_0x000A6ED4: ; preds = %instr_0x000A6ED0 | |
call void @NEG(i8* %ppu_state, i32 29, i32 17, i32 0, i32 0) | |
br label %instr_0x000A6ED8 | |
instr_0x000A6ED8: ; preds = %instr_0x000A6ED4 | |
%500 = getelementptr i8* %ppu_state, i32 1576 | |
%501 = bitcast i8* %500 to i64* | |
%502 = load i64* %501, align 8 | |
%503 = getelementptr i8* %ppu_state, i32 1540 | |
%504 = bitcast i8* %503 to i32* | |
%505 = load i32* %504, align 4 | |
%506 = lshr i32 %505, 2 | |
%507 = and i32 %506, 1 | |
%508 = trunc i32 %507 to i1 | |
%509 = xor i1 %508, true | |
br i1 %509, label %instr_0x000A6F78, label %instr_0x000A6EDC | |
instr_0x000A6EDC: ; preds = %instr_0x000A70B4, %instr_0x000A6F58, %instr_0x000A6ED8 | |
call void @ADDI(i8* %ppu_state, i32 23, i32 23, i32 -1) | |
br label %instr_0x000A6EE0 | |
instr_0x000A6EE0: ; preds = %instr_0x000A6EDC | |
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 23, i32 0) | |
br label %instr_0x000A6EE4 | |
instr_0x000A6EE4: ; preds = %instr_0x000A6EE0 | |
%510 = getelementptr i8* %ppu_state, i32 1576 | |
%511 = bitcast i8* %510 to i64* | |
%512 = load i64* %511, align 8 | |
%513 = getelementptr i8* %ppu_state, i32 1540 | |
%514 = bitcast i8* %513 to i32* | |
%515 = load i32* %514, align 4 | |
%516 = lshr i32 %515, 1 | |
%517 = and i32 %516, 1 | |
%518 = trunc i32 %517 to i1 | |
br i1 %518, label %instr_0x000A6F78, label %instr_0x000A6EE8 | |
instr_0x000A6EE8: ; preds = %instr_0x000A6F74, %instr_0x000A6EE4 | |
call void @ADD(i8* %ppu_state, i32 27, i32 27, i32 17, i32 0, i32 0) | |
br label %instr_0x000A6EEC | |
instr_0x000A6EEC: ; preds = %instr_0x000A6EE8 | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
br label %instr_0x000A6EF0 | |
instr_0x000A6EF0: ; preds = %instr_0x000A6EEC | |
%519 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 26, i32 0) | |
br label %instr_0x000A6EF4 | |
instr_0x000A6EF4: ; preds = %instr_0x000A6EF0 | |
call void @RLDICL(i8* %ppu_state, i32 28, i32 27, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6EF8 | |
instr_0x000A6EF8: ; preds = %instr_0x000A6EF4 | |
%520 = call i32 @OR(i8* %ppu_state, i32 4, i32 25, i32 25, i32 0) | |
br label %instr_0x000A6EFC | |
instr_0x000A6EFC: ; preds = %instr_0x000A6EF8 | |
%521 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 26, i32 4) | |
br label %instr_0x000A6F00 | |
instr_0x000A6F00: ; preds = %instr_0x000A6EFC | |
%522 = call i32 @OR(i8* %ppu_state, i32 3, i32 28, i32 28, i32 0) | |
br label %instr_0x000A6F04 | |
instr_0x000A6F04: ; preds = %instr_0x000A6F00 | |
%523 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0) | |
br label %instr_0x000A6F08 | |
instr_0x000A6F08: ; preds = %instr_0x000A6F04 | |
%524 = call i32 @OR(i8* %ppu_state, i32 30, i32 27, i32 27, i32 0) | |
br label %instr_0x000A6F0C | |
instr_0x000A6F0C: ; preds = %instr_0x000A6F08 | |
%525 = call i32 @OR(i8* %ppu_state, i32 31, i32 27, i32 27, i32 0) | |
br label %instr_0x000A6F10 | |
instr_0x000A6F10: ; preds = %instr_0x000A6F0C | |
%526 = getelementptr i8* %ppu_state, i32 1576 | |
%527 = bitcast i8* %526 to i64* | |
%528 = load i64* %527, align 8 | |
%529 = and i64 %528, -4 | |
%530 = trunc i64 %529 to i32 | |
%531 = getelementptr i8* %ppu_state, i32 1576 | |
%532 = bitcast i8* %531 to i64* | |
%533 = load i64* %532, align 8 | |
%534 = getelementptr i8* %ppu_state, i32 1568 | |
%535 = bitcast i8* %534 to i64* | |
store i64 683796, i64* %535, align 8 | |
%536 = getelementptr i8* %ppu_state, i32 1664 | |
%537 = bitcast i8* %536 to i32* | |
store i32 %530, i32* %537, align 4 | |
switch i32 %530, label %instr_0x000A6F10_unknown_function [ | |
i32 469328, label %instr_0x000A6F10_0x00072950 | |
] | |
instr_0x000A6F10_unknown_function: ; preds = %instr_0x000A6F10 | |
%538 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0) | |
br label %instr_0x000A6F14 | |
instr_0x000A6F10_0x00072950: ; preds = %instr_0x000A6F10 | |
%539 = load i64* inttoptr (i64 8623115688 to i64*) | |
%540 = inttoptr i64 %539 to i32 (i8*, i64)* | |
%541 = call i32 %540(i8* %ppu_state, i64 0) | |
%542 = icmp eq i32 %541, -1 | |
br i1 %542, label %instr_0x000A6F10_then_all_fs, label %instr_0x000A6F10_merge_all_fs | |
instr_0x000A6F10_then_all_fs: ; preds = %instr_0x000A6F10_0x00072950 | |
ret i32 0 | |
instr_0x000A6F10_merge_all_fs: ; preds = %instr_0x000A6F10_0x00072950 | |
br label %instr_0x000A6F14 | |
instr_0x000A6F14: ; preds = %instr_0x000A6F10_merge_all_fs, %instr_0x000A6F10_unknown_function | |
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6F18 | |
instr_0x000A6F18: ; preds = %instr_0x000A6F14 | |
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0) | |
br label %instr_0x000A6F1C | |
instr_0x000A6F1C: ; preds = %instr_0x000A6F18 | |
%543 = getelementptr i8* %ppu_state, i32 1576 | |
%544 = bitcast i8* %543 to i64* | |
%545 = load i64* %544, align 8 | |
%546 = getelementptr i8* %ppu_state, i32 1540 | |
%547 = bitcast i8* %546 to i32* | |
%548 = load i32* %547, align 4 | |
%549 = lshr i32 %548, 3 | |
%550 = and i32 %549, 1 | |
%551 = trunc i32 %550 to i1 | |
%552 = xor i1 %551, true | |
br i1 %552, label %instr_0x000A6F28, label %instr_0x000A6F20 | |
instr_0x000A6F20: ; preds = %instr_0x000A6F1C | |
br label %instr_0x000A70A4 | |
instr_0x000A6F24: ; preds = %instr_0x000A6F50 | |
%553 = call i32 @OR(i8* %ppu_state, i32 30, i32 31, i32 31, i32 0) | |
br label %instr_0x000A6F28 | |
instr_0x000A6F28: ; preds = %instr_0x000A6F24, %instr_0x000A6F1C | |
call void @updateLastInst(i8* %ppu_state) | |
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
br label %instr_0x000A6F2C | |
instr_0x000A6F2C: ; preds = %instr_0x000A6F28 | |
%554 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 26, i32 0) | |
br label %instr_0x000A6F30 | |
instr_0x000A6F30: ; preds = %instr_0x000A6F2C | |
call void @ADD(i8* %ppu_state, i32 31, i32 31, i32 29, i32 0, i32 0) | |
br label %instr_0x000A6F34 | |
instr_0x000A6F34: ; preds = %instr_0x000A6F30 | |
%555 = call i32 @OR(i8* %ppu_state, i32 3, i32 28, i32 28, i32 0) | |
br label %instr_0x000A6F38 | |
instr_0x000A6F38: ; preds = %instr_0x000A6F34 | |
%556 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 26, i32 4) | |
br label %instr_0x000A6F3C | |
instr_0x000A6F3C: ; preds = %instr_0x000A6F38 | |
call void @RLDICL(i8* %ppu_state, i32 4, i32 31, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6F40 | |
instr_0x000A6F40: ; preds = %instr_0x000A6F3C | |
%557 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0) | |
br label %instr_0x000A6F44 | |
instr_0x000A6F44: ; preds = %instr_0x000A6F40 | |
%558 = getelementptr i8* %ppu_state, i32 1576 | |
%559 = bitcast i8* %558 to i64* | |
%560 = load i64* %559, align 8 | |
%561 = and i64 %560, -4 | |
%562 = trunc i64 %561 to i32 | |
%563 = getelementptr i8* %ppu_state, i32 1576 | |
%564 = bitcast i8* %563 to i64* | |
%565 = load i64* %564, align 8 | |
%566 = getelementptr i8* %ppu_state, i32 1568 | |
%567 = bitcast i8* %566 to i64* | |
store i64 683848, i64* %567, align 8 | |
%568 = getelementptr i8* %ppu_state, i32 1664 | |
%569 = bitcast i8* %568 to i32* | |
store i32 %562, i32* %569, align 4 | |
switch i32 %562, label %instr_0x000A6F44_unknown_function [ | |
i32 469328, label %instr_0x000A6F44_0x00072950 | |
] | |
instr_0x000A6F44_unknown_function: ; preds = %instr_0x000A6F44 | |
%570 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0) | |
br label %instr_0x000A6F48 | |
instr_0x000A6F44_0x00072950: ; preds = %instr_0x000A6F44 | |
%571 = load i64* inttoptr (i64 8623115688 to i64*) | |
%572 = inttoptr i64 %571 to i32 (i8*, i64)* | |
%573 = call i32 %572(i8* %ppu_state, i64 0) | |
%574 = icmp eq i32 %573, -1 | |
br i1 %574, label %instr_0x000A6F44_then_all_fs, label %instr_0x000A6F44_merge_all_fs | |
instr_0x000A6F44_then_all_fs: ; preds = %instr_0x000A6F44_0x00072950 | |
ret i32 0 | |
instr_0x000A6F44_merge_all_fs: ; preds = %instr_0x000A6F44_0x00072950 | |
br label %instr_0x000A6F48 | |
instr_0x000A6F48: ; preds = %instr_0x000A6F44_merge_all_fs, %instr_0x000A6F44_unknown_function | |
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6F4C | |
instr_0x000A6F4C: ; preds = %instr_0x000A6F48 | |
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0) | |
br label %instr_0x000A6F50 | |
instr_0x000A6F50: ; preds = %instr_0x000A6F4C | |
%575 = getelementptr i8* %ppu_state, i32 1576 | |
%576 = bitcast i8* %575 to i64* | |
%577 = load i64* %576, align 8 | |
%578 = getelementptr i8* %ppu_state, i32 1540 | |
%579 = bitcast i8* %578 to i32* | |
%580 = load i32* %579, align 4 | |
%581 = lshr i32 %580, 3 | |
%582 = and i32 %581, 1 | |
%583 = trunc i32 %582 to i1 | |
br i1 %583, label %instr_0x000A6F24, label %instr_0x000A6F54 | |
instr_0x000A6F54: ; preds = %instr_0x000A6F50 | |
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 27, i32 30) | |
br label %instr_0x000A6F58 | |
instr_0x000A6F58: ; preds = %instr_0x000A6F54 | |
%584 = getelementptr i8* %ppu_state, i32 1576 | |
%585 = bitcast i8* %584 to i64* | |
%586 = load i64* %585, align 8 | |
%587 = getelementptr i8* %ppu_state, i32 1540 | |
%588 = bitcast i8* %587 to i32* | |
%589 = load i32* %588, align 4 | |
%590 = lshr i32 %589, 1 | |
%591 = and i32 %590, 1 | |
%592 = trunc i32 %591 to i1 | |
br i1 %592, label %instr_0x000A6EDC, label %instr_0x000A6F5C | |
instr_0x000A6F5C: ; preds = %instr_0x000A6F58 | |
call void @RLDICL(i8* %ppu_state, i32 3, i32 30, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6F60 | |
instr_0x000A6F60: ; preds = %instr_0x000A6F5C | |
%593 = call i32 @OR(i8* %ppu_state, i32 4, i32 28, i32 28, i32 0) | |
br label %instr_0x000A6F64 | |
instr_0x000A6F64: ; preds = %instr_0x000A6F60 | |
call void @RLDICL(i8* %ppu_state, i32 5, i32 17, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6F68 | |
instr_0x000A6F68: ; preds = %instr_0x000A6F64 | |
call void @ADDI(i8* %ppu_state, i32 23, i32 23, i32 -1) | |
br label %instr_0x000A6F6C | |
instr_0x000A6F6C: ; preds = %instr_0x000A6F68 | |
%594 = getelementptr i8* %ppu_state, i32 1568 | |
%595 = bitcast i8* %594 to i64* | |
store i64 683888, i64* %595, align 8 | |
%596 = getelementptr i8* %ppu_state, i32 1664 | |
%597 = bitcast i8* %596 to i32* | |
store i32 682448, i32* %597, align 4 | |
%598 = load i64* inttoptr (i64 8623115688 to i64*) | |
%599 = inttoptr i64 %598 to i32 (i8*, i64)* | |
%600 = call i32 %599(i8* %ppu_state, i64 0) | |
%601 = icmp eq i32 %600, -1 | |
br i1 %601, label %instr_0x000A6F6C_then_all_fs, label %instr_0x000A6F6C_merge_all_fs | |
instr_0x000A6F6C_then_all_fs: ; preds = %instr_0x000A6F6C | |
ret i32 0 | |
instr_0x000A6F6C_merge_all_fs: ; preds = %instr_0x000A6F6C | |
br label %instr_0x000A6F70 | |
instr_0x000A6F70: ; preds = %instr_0x000A6F6C_merge_all_fs | |
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 23, i32 0) | |
br label %instr_0x000A6F74 | |
instr_0x000A6F74: ; preds = %instr_0x000A6F70 | |
%602 = getelementptr i8* %ppu_state, i32 1576 | |
%603 = bitcast i8* %602 to i64* | |
%604 = load i64* %603, align 8 | |
%605 = getelementptr i8* %ppu_state, i32 1540 | |
%606 = bitcast i8* %605 to i32* | |
%607 = load i32* %606, align 4 | |
%608 = lshr i32 %607, 1 | |
%609 = and i32 %608, 1 | |
%610 = trunc i32 %609 to i1 | |
%611 = xor i1 %610, true | |
br i1 %611, label %instr_0x000A6EE8, label %instr_0x000A6F78 | |
instr_0x000A6F78: ; preds = %instr_0x000A6F74, %instr_0x000A6EE4, %instr_0x000A6ED8 | |
call void @LD(i8* %ppu_state, i32 0, i32 1, i32 288) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6F7C | |
instr_0x000A6F7C: ; preds = %instr_0x000A6F78 | |
call void @LD(i8* %ppu_state, i32 14, i32 1, i32 128) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6F80 | |
instr_0x000A6F80: ; preds = %instr_0x000A6F7C | |
call void @LD(i8* %ppu_state, i32 15, i32 1, i32 136) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6F84 | |
instr_0x000A6F84: ; preds = %instr_0x000A6F80 | |
%612 = call i32 @MTSPR(i8* %ppu_state, i32 256, i32 0) | |
br label %instr_0x000A6F88 | |
instr_0x000A6F88: ; preds = %instr_0x000A6F84 | |
call void @LD(i8* %ppu_state, i32 16, i32 1, i32 144) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6F8C | |
instr_0x000A6F8C: ; preds = %instr_0x000A6F88 | |
call void @LD(i8* %ppu_state, i32 17, i32 1, i32 152) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6F90 | |
instr_0x000A6F90: ; preds = %instr_0x000A6F8C | |
call void @LD(i8* %ppu_state, i32 18, i32 1, i32 160) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6F94 | |
instr_0x000A6F94: ; preds = %instr_0x000A6F90 | |
call void @LD(i8* %ppu_state, i32 19, i32 1, i32 168) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6F98 | |
instr_0x000A6F98: ; preds = %instr_0x000A6F94 | |
call void @LD(i8* %ppu_state, i32 20, i32 1, i32 176) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6F9C | |
instr_0x000A6F9C: ; preds = %instr_0x000A6F98 | |
call void @LD(i8* %ppu_state, i32 21, i32 1, i32 184) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6FA0 | |
instr_0x000A6FA0: ; preds = %instr_0x000A6F9C | |
call void @LD(i8* %ppu_state, i32 22, i32 1, i32 192) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6FA4 | |
instr_0x000A6FA4: ; preds = %instr_0x000A6FA0 | |
call void @LD(i8* %ppu_state, i32 23, i32 1, i32 200) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6FA8 | |
instr_0x000A6FA8: ; preds = %instr_0x000A6FA4 | |
call void @LD(i8* %ppu_state, i32 24, i32 1, i32 208) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6FAC | |
instr_0x000A6FAC: ; preds = %instr_0x000A6FA8 | |
call void @LD(i8* %ppu_state, i32 25, i32 1, i32 216) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6FB0 | |
instr_0x000A6FB0: ; preds = %instr_0x000A6FAC | |
call void @LD(i8* %ppu_state, i32 26, i32 1, i32 224) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6FB4 | |
instr_0x000A6FB4: ; preds = %instr_0x000A6FB0 | |
call void @LD(i8* %ppu_state, i32 27, i32 1, i32 232) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6FB8 | |
instr_0x000A6FB8: ; preds = %instr_0x000A6FB4 | |
call void @LD(i8* %ppu_state, i32 28, i32 1, i32 240) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6FBC | |
instr_0x000A6FBC: ; preds = %instr_0x000A6FB8 | |
call void @LD(i8* %ppu_state, i32 29, i32 1, i32 248) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6FC0 | |
instr_0x000A6FC0: ; preds = %instr_0x000A6FBC | |
call void @LD(i8* %ppu_state, i32 30, i32 1, i32 256) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6FC4 | |
instr_0x000A6FC4: ; preds = %instr_0x000A6FC0 | |
call void @LD(i8* %ppu_state, i32 31, i32 1, i32 264) | |
call void @updateLastInst(i8* %ppu_state) | |
br label %instr_0x000A6FC8 | |
instr_0x000A6FC8: ; preds = %instr_0x000A6FC4 | |
call void @ADDI(i8* %ppu_state, i32 1, i32 1, i32 272) | |
br label %instr_0x000A6FCC | |
instr_0x000A6FCC: ; preds = %instr_0x000A6FC8 | |
%613 = getelementptr i8* %ppu_state, i32 1568 | |
%614 = bitcast i8* %613 to i64* | |
%615 = load i64* %614, align 8 | |
%616 = and i64 %615, -4 | |
%617 = trunc i64 %616 to i32 | |
%618 = getelementptr i8* %ppu_state, i32 1576 | |
%619 = bitcast i8* %618 to i64* | |
%620 = load i64* %619, align 8 | |
%621 = getelementptr i8* %ppu_state, i32 1664 | |
%622 = bitcast i8* %621 to i32* | |
store i32 %617, i32* %622, align 4 | |
ret i32 0 | |
instr_0x000A6FD0: ; preds = %instr_0x000A6B84 | |
%623 = phi i32 [ 682884, %instr_0x000A6B84 ] | |
%624 = getelementptr i8* %ppu_state, i32 1664 | |
%625 = bitcast i8* %624 to i32* | |
store i32 683984, i32* %625, align 4 | |
%626 = zext i32 %623 to i64 | |
%627 = or i64 %626, 2932174172979200 | |
%628 = load i64* inttoptr (i64 8623115696 to i64*) | |
%629 = inttoptr i64 %628 to i32 (i8*, i64)* | |
%630 = call i32 %629(i8* %ppu_state, i64 %627) | |
%631 = icmp eq i32 %630, -1 | |
br i1 %631, label %instr_0x000A6FD0_then_all_fs, label %instr_0x000A6FD0_merge_all_fs | |
instr_0x000A6FD0_then_all_fs: ; preds = %instr_0x000A6FD0 | |
ret i32 0 | |
instr_0x000A6FD0_merge_all_fs: ; preds = %instr_0x000A6FD0 | |
%632 = icmp ne i32 %630, 0 | |
br i1 %632, label %instr_0x000A6FD0_then_0, label %instr_0x000A6FD0_merge_0 | |
instr_0x000A6FD0_then_0: ; preds = %instr_0x000A6FD0_merge_all_fs | |
%633 = zext i32 %630 to i64 | |
%634 = or i64 %633, 2932174172979200 | |
%635 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %634) | |
br label %instr_0x000A6FD0_merge_0 | |
instr_0x000A6FD0_merge_0: ; preds = %instr_0x000A6FD0_then_0, %instr_0x000A6FD0_merge_all_fs | |
ret i32 0 | |
instr_0x000A6FF0: ; preds = %instr_0x000A6E94 | |
call void @RLDICL(i8* %ppu_state, i32 4, i32 23, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6FF4 | |
instr_0x000A6FF4: ; preds = %instr_0x000A6FF0 | |
call void @RLDICL(i8* %ppu_state, i32 3, i32 19, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6FF8 | |
instr_0x000A6FF8: ; preds = %instr_0x000A6FF4 | |
call void @RLDICL(i8* %ppu_state, i32 5, i32 16, i32 0, i32 32, i32 0) | |
br label %instr_0x000A6FFC | |
instr_0x000A6FFC: ; preds = %instr_0x000A6FF8 | |
%636 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0) | |
br label %instr_0x000A7000 | |
instr_0x000A7000: ; preds = %instr_0x000A6FFC | |
%637 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0) | |
br label %instr_0x000A7004 | |
instr_0x000A7004: ; preds = %instr_0x000A7000 | |
%638 = call i32 @OR(i8* %ppu_state, i32 23, i32 11, i32 11, i32 0) | |
br label %instr_0x000A7008 | |
instr_0x000A7008: ; preds = %instr_0x000A7004 | |
%639 = getelementptr i8* %ppu_state, i32 1568 | |
%640 = bitcast i8* %639 to i64* | |
store i64 684044, i64* %640, align 8 | |
%641 = getelementptr i8* %ppu_state, i32 1664 | |
%642 = bitcast i8* %641 to i32* | |
store i32 682700, i32* %642, align 4 | |
%643 = load i64* inttoptr (i64 8623115688 to i64*) | |
%644 = inttoptr i64 %643 to i32 (i8*, i64)* | |
%645 = call i32 %644(i8* %ppu_state, i64 0) | |
%646 = icmp eq i32 %645, -1 | |
br i1 %646, label %instr_0x000A7008_then_all_fs, label %instr_0x000A7008_merge_all_fs | |
instr_0x000A7008_then_all_fs: ; preds = %instr_0x000A7008 | |
ret i32 0 | |
instr_0x000A7008_merge_all_fs: ; preds = %instr_0x000A7008 | |
br label %instr_0x000A700C | |
instr_0x000A700C: ; preds = %instr_0x000A7008_merge_all_fs | |
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 16, i32 0) | |
br label %instr_0x000A7010 | |
instr_0x000A7010: ; preds = %instr_0x000A700C | |
%647 = getelementptr i8* %ppu_state, i32 1576 | |
%648 = bitcast i8* %647 to i64* | |
%649 = load i64* %648, align 8 | |
%650 = getelementptr i8* %ppu_state, i32 1540 | |
%651 = bitcast i8* %650 to i32* | |
%652 = load i32* %651, align 4 | |
%653 = lshr i32 %652, 1 | |
%654 = and i32 %653, 1 | |
%655 = trunc i32 %654 to i1 | |
%656 = xor i1 %655, true | |
br i1 %656, label %instr_0x000A6EBC, label %instr_0x000A7014 | |
instr_0x000A7014: ; preds = %instr_0x000A7010, %instr_0x000A6EB8, %instr_0x000A6B38 | |
%657 = phi i32 [ 684048, %instr_0x000A7010 ], [ 683704, %instr_0x000A6EB8 ], [ 682808, %instr_0x000A6B38 ] | |
%658 = getelementptr i8* %ppu_state, i32 1664 | |
%659 = bitcast i8* %658 to i32* | |
store i32 684052, i32* %659, align 4 | |
%660 = zext i32 %657 to i64 | |
%661 = or i64 %660, 2932174172979200 | |
%662 = load i64* inttoptr (i64 8623115696 to i64*) | |
%663 = inttoptr i64 %662 to i32 (i8*, i64)* | |
%664 = call i32 %663(i8* %ppu_state, i64 %661) | |
%665 = icmp eq i32 %664, -1 | |
br i1 %665, label %instr_0x000A7014_then_all_fs, label %instr_0x000A7014_merge_all_fs | |
instr_0x000A7014_then_all_fs: ; preds = %instr_0x000A7014 | |
ret i32 0 | |
instr_0x000A7014_merge_all_fs: ; preds = %instr_0x000A7014 | |
%666 = icmp ne i32 %664, 0 | |
br i1 %666, label %instr_0x000A7014_then_0, label %instr_0x000A7014_merge_0 | |
instr_0x000A7014_then_0: ; preds = %instr_0x000A7014_merge_all_fs | |
%667 = zext i32 %664 to i64 | |
%668 = or i64 %667, 2932174172979200 | |
%669 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %668) | |
br label %instr_0x000A7014_merge_0 | |
instr_0x000A7014_merge_0: ; preds = %instr_0x000A7014_then_0, %instr_0x000A7014_merge_all_fs | |
ret i32 0 | |
instr_0x000A70A4: ; preds = %instr_0x000A6F20 | |
%670 = call i32 @OR(i8* %ppu_state, i32 4, i32 28, i32 28, i32 0) | |
br label %instr_0x000A70A8 | |
instr_0x000A70A8: ; preds = %instr_0x000A70A4 | |
%671 = call i32 @OR(i8* %ppu_state, i32 3, i32 25, i32 25, i32 0) | |
br label %instr_0x000A70AC | |
instr_0x000A70AC: ; preds = %instr_0x000A70A8 | |
call void @RLDICL(i8* %ppu_state, i32 5, i32 17, i32 0, i32 32, i32 0) | |
br label %instr_0x000A70B0 | |
instr_0x000A70B0: ; preds = %instr_0x000A70AC | |
%672 = getelementptr i8* %ppu_state, i32 1568 | |
%673 = bitcast i8* %672 to i64* | |
store i64 684212, i64* %673, align 8 | |
%674 = getelementptr i8* %ppu_state, i32 1664 | |
%675 = bitcast i8* %674 to i32* | |
store i32 682448, i32* %675, align 4 | |
%676 = load i64* inttoptr (i64 8623115688 to i64*) | |
%677 = inttoptr i64 %676 to i32 (i8*, i64)* | |
%678 = call i32 %677(i8* %ppu_state, i64 0) | |
%679 = icmp eq i32 %678, -1 | |
br i1 %679, label %instr_0x000A70B0_then_all_fs, label %instr_0x000A70B0_merge_all_fs | |
instr_0x000A70B0_then_all_fs: ; preds = %instr_0x000A70B0 | |
ret i32 0 | |
instr_0x000A70B0_merge_all_fs: ; preds = %instr_0x000A70B0 | |
br label %instr_0x000A70B4 | |
instr_0x000A70B4: ; preds = %instr_0x000A70B0_merge_all_fs | |
br label %instr_0x000A6EDC | |
} | |
declare x86_64_win64cc void @CMPI(i8*, i32, i32, i32, i32) | |
declare x86_64_win64cc i32 @MFSPR(i8*, i32, i32) | |
declare x86_64_win64cc i32 @STDU(i8*, i32, i32, i32) | |
declare x86_64_win64cc void @updateLastInst(i8*) | |
declare x86_64_win64cc void @STD(i8*, i32, i32, i32) | |
declare x86_64_win64cc i32 @OR(i8*, i32, i32, i32, i32) | |
declare x86_64_win64cc void @STW(i8*, i32, i32, i32) | |
declare x86_64_win64cc void @CMPLI(i8*, i32, i32, i32, i32) | |
declare x86_64_win64cc void @RLWINM(i8*, i32, i32, i32, i32, i32, i32) | |
declare x86_64_win64cc void @ADD(i8*, i32, i32, i32, i32, i32) | |
declare x86_64_win64cc void @RLDICL(i8*, i32, i32, i32, i32, i32) | |
declare x86_64_win64cc void @NEG(i8*, i32, i32, i32, i32) | |
declare x86_64_win64cc void @MULLW(i8*, i32, i32, i32, i32, i32) | |
declare x86_64_win64cc void @SUBF(i8*, i32, i32, i32, i32, i32) | |
declare x86_64_win64cc void @CMPL(i8*, i32, i32, i32, i32) | |
declare x86_64_win64cc void @DIVWU(i8*, i32, i32, i32, i32, i32) | |
declare x86_64_win64cc void @ADDI(i8*, i32, i32, i32) | |
declare x86_64_win64cc i32 @LWZ(i8*, i32, i32, i32) | |
declare x86_64_win64cc i32 @MTSPR(i8*, i32, i32) | |
declare x86_64_win64cc void @LD(i8*, i32, i32, i32) | |
declare x86_64_win64cc void @CMP(i8*, i32, i32, i32, i32) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment