cfd3eac0a8
the instructions that are only depended by phis are pushed to the end of the block, which usually saves copy instructions Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
72 lines
1.4 KiB
Plaintext
72 lines
1.4 KiB
Plaintext
main:
|
|
ADDI64 r254, r254, -88d
|
|
ST r31, r254, 48a, 40h
|
|
LRA r32, r0, :glob_stru
|
|
JAL r31, r0, :new_stru
|
|
ST r1, r32, 0a, 16h
|
|
LD r33, r32, 0a, 8h
|
|
JEQ r33, r0, :0
|
|
LI64 r32, 300d
|
|
CP r1, r32
|
|
JMP :1
|
|
0: ST r0, r32, 0a, 8h
|
|
LD r33, r32, 0a, 8h
|
|
JEQ r33, r0, :2
|
|
LI64 r32, 200d
|
|
CP r1, r32
|
|
JMP :1
|
|
2: LI64 r34, 1d
|
|
ST r34, r32, 0a, 8h
|
|
ST r34, r32, 8a, 8h
|
|
ADDI64 r33, r254, 0d
|
|
ST r34, r254, 0a, 8h
|
|
ST r34, r254, 8a, 8h
|
|
ST r34, r254, 16a, 8h
|
|
ST r34, r254, 24a, 8h
|
|
ST r34, r254, 32a, 8h
|
|
ST r34, r254, 40a, 8h
|
|
ADDI64 r35, r33, 48d
|
|
CP r32, r33
|
|
8: JNE r35, r32, :3
|
|
LD r32, r254, 32a, 8h
|
|
JEQ r32, r0, :4
|
|
LI64 r32, 100d
|
|
CP r1, r32
|
|
JMP :1
|
|
4: ST r34, r254, 0a, 8h
|
|
ST r34, r254, 8a, 8h
|
|
ST r34, r254, 16a, 8h
|
|
ST r34, r254, 24a, 8h
|
|
ST r34, r254, 32a, 8h
|
|
ST r34, r254, 40a, 8h
|
|
CP r32, r33
|
|
7: LD r34, r254, 32a, 8h
|
|
JNE r35, r32, :5
|
|
JEQ r34, r0, :6
|
|
LI64 r32, 10d
|
|
CP r1, r32
|
|
JMP :1
|
|
6: CP r1, r0
|
|
JMP :1
|
|
5: ST r0, r32, 0a, 8h
|
|
ST r0, r32, 8a, 8h
|
|
ADDI64 r32, r32, 16d
|
|
JMP :7
|
|
3: JAL r31, r0, :new_stru
|
|
ST r1, r32, 0a, 16h
|
|
ADDI64 r32, r32, 16d
|
|
JMP :8
|
|
1: LD r31, r254, 48a, 40h
|
|
ADDI64 r254, r254, 88d
|
|
JALA r0, r31, 0a
|
|
new_stru:
|
|
ADDI64 r254, r254, -16d
|
|
ST r0, r254, 0a, 8h
|
|
ST r0, r254, 8a, 8h
|
|
LD r1, r254, 0a, 16h
|
|
ADDI64 r254, r254, 16d
|
|
JALA r0, r31, 0a
|
|
code size: 655
|
|
ret: 0
|
|
status: Ok(())
|