holey-bytes/lang/tests/son_tests_struct_patterns.txt
Jakub Doka 3f6ebdd009
fixing phi moves (longer move cycles)
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 22:33:13 +01:00

54 lines
975 B
Plaintext

fib:
ADDI64 r254, r254, -32d
ST r31, r254, 0a, 32h
CP r32, r2
LI64 r33, 2d
JLTU r32, r33, :0
ADDI64 r34, r32, -1d
CP r2, r34
JAL r31, r0, :fib
CP r34, r1
SUB64 r32, r32, r33
CP r2, r32
JAL r31, r0, :fib
CP r32, r1
ADD64 r32, r32, r34
CP r1, r32
JMP :1
0: CP r1, r32
1: LD r31, r254, 0a, 32h
ADDI64 r254, r254, 32d
JALA r0, r31, 0a
fib_iter:
CP r13, r2
LI64 r17, 1d
CP r15, r0
CP r14, r15
CP r16, r17
2: JNE r13, r15, :0
CP r1, r14
JMP :1
0: SUB64 r13, r13, r17
ADD64 r14, r16, r14
SWA r14, r16
JMP :2
1: JALA r0, r31, 0a
main:
ADDI64 r254, r254, -24d
ST r31, r254, 0a, 24h
LI64 r32, 10d
CP r2, r32
JAL r31, r0, :fib
CP r33, r1
CP r2, r32
JAL r31, r0, :fib_iter
CP r32, r1
SUB64 r32, r33, r32
CP r1, r32
LD r31, r254, 0a, 24h
ADDI64 r254, r254, 24d
JALA r0, r31, 0a
code size: 305
ret: 0
status: Ok(())