aboutsummaryrefslogtreecommitdiff
path: root/deps/lightning/check/fib.tst
diff options
context:
space:
mode:
authorTwinaphex2020-02-08 16:24:22 +0100
committerGitHub2020-02-08 16:24:22 +0100
commit0adc619b5a5705d16cc6caea64951776ababbb96 (patch)
treefbae9b1d18d04d8e7908aa1c3446782ebf6e8785 /deps/lightning/check/fib.tst
parent0204c39a68a1fd4bf667aa8ece5a769f2983b7d0 (diff)
parent6f1edc3c7fd1f7f58155107d0c99d0ac7d22443b (diff)
downloadpcsx_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.tst62
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