diff options
author | Twinaphex | 2020-02-08 16:24:22 +0100 |
---|---|---|
committer | GitHub | 2020-02-08 16:24:22 +0100 |
commit | 0adc619b5a5705d16cc6caea64951776ababbb96 (patch) | |
tree | fbae9b1d18d04d8e7908aa1c3446782ebf6e8785 /deps/lightning/check/fib.tst | |
parent | 0204c39a68a1fd4bf667aa8ece5a769f2983b7d0 (diff) | |
parent | 6f1edc3c7fd1f7f58155107d0c99d0ac7d22443b (diff) | |
download | pcsx_rearmed-0adc619b5a5705d16cc6caea64951776ababbb96.tar.gz pcsx_rearmed-0adc619b5a5705d16cc6caea64951776ababbb96.tar.bz2 pcsx_rearmed-0adc619b5a5705d16cc6caea64951776ababbb96.zip |
Merge pull request #377 from pcercuei/libretro
Lightrec dynarec
Diffstat (limited to 'deps/lightning/check/fib.tst')
-rw-r--r-- | deps/lightning/check/fib.tst | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/deps/lightning/check/fib.tst b/deps/lightning/check/fib.tst new file mode 100644 index 0000000..0835323 --- /dev/null +++ b/deps/lightning/check/fib.tst @@ -0,0 +1,62 @@ +.data 32 +format: +.c "nfibs(%d) = %d\n" + +.code + jmpi main + + name nfibs +nfibs: + prolog + arg $in + getarg %r0 $in // R0 = n + beqi ref %r0 0 + movr %r1 %r0 + movi %r0 1 + blei_u ref %r1 2 + subi %r2 %r1 2 + movr %r1 %r0 +loop: + subi %r2 %r2 1 // decr. counter + movr %v0 %r0 // V0 = R0 + addr %r0 %r0 %r1 // R0 = R0 + R1 + movr %r1 %v0 // R1 = V0 + bnei loop %r2 0 // if (R2) goto loop +ref: + retr %r0 // RET = R0 + epilog + + name main +main: + prolog + arg $argc + arg $argv + + getarg_i %r0 $argc + blei default %r0 1 + getarg %r0 $argv + addi %r0 %r0 $(__WORDSIZE >> 3) + ldr %r0 %r0 + prepare + pushargr %r0 + finishi @atoi + retval %r0 + jmpi call + +default: + movi %r0 32 + +call: + movr %v0 %r0 + prepare + pushargr %r0 + finishi nfibs + retval %r0 + prepare + pushargi format + ellipsis + pushargr %v0 + pushargr %r0 + finishi @printf + ret + epilog |