From 4a71579b757d3a2eb6902c84391f429838ad4912 Mon Sep 17 00:00:00 2001 From: Paul Cercueil Date: Thu, 30 Jan 2020 12:33:44 -0300 Subject: git subrepo clone https://git.savannah.gnu.org/git/lightning.git deps/lightning subrepo: subdir: "deps/lightning" merged: "b0b8eb5" upstream: origin: "https://git.savannah.gnu.org/git/lightning.git" branch: "master" commit: "b0b8eb5" git-subrepo: version: "0.4.1" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "a04d8c2" --- deps/lightning/check/rpn.tst | 183 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 deps/lightning/check/rpn.tst (limited to 'deps/lightning/check/rpn.tst') diff --git a/deps/lightning/check/rpn.tst b/deps/lightning/check/rpn.tst new file mode 100644 index 0000000..62ef8d6 --- /dev/null +++ b/deps/lightning/check/rpn.tst @@ -0,0 +1,183 @@ +.data 256 +.$($int = 4) +C: +.c "\nC:" +F: +.c "\nF:" +format: +.c "%3d " +newline: +.c "\n" + +.code + jmpi main + + name c2f +c2f: + prolog + arg $in + + allocai $(32 * $int) $index + + getarg %r2 $in + + // 32x9*5/+ + movi %r0 32 + + // x9*5/+ + stxi_i $index %fp %r0 +. $($index = $index + $int) + movr %r0 %r2 + + // 9*5/+ + stxi_i $index %fp %r0 +. $($index = $index + $int) + movi %r0 9 + + // *5/+ +. $($index = $index - $int) + ldxi_i %r1 %fp $index + mulr %r0 %r1 %r0 + + // 5/+ + stxi_i $index %fp %r0 +. $($index = $index + $int) + movi %r0 5 + + // /+ +. $($index = $index - $int) + ldxi_i %r1 %fp $index + divr %r0 %r1 %r0 + + // + +. $($index = $index - $int) + ldxi_i %r1 %fp $index + addr %r0 %r1 %r0 + + retr %r0 + epilog + + name f2c +f2c: + prolog + arg $in + + allocai $(32 * $int) $index + + getarg %r2 $in + + // x32-5*9/ + stxi_i $index %fp %r0 +. $($index = $index + $int) + movr %r0 %r2 + + // 32-5*9/ + stxi_i $index %fp %r0 +. $($index = $index + $int) + movi %r0 32 + + // -5*9/ +. $($index = $index - $int) + ldxi_i %r1 %fp $index + subr %r0 %r1 %r0 + + // 5*9/ + stxi_i $index %fp %r0 +. $($index = $index + $int) + movi %r0 5 + + // *9/ +. $($index = $index - $int) + ldxi_i %r1 %fp $index + mulr %r0 %r1 %r0 + + // 9/ + stxi_i $index %fp %r0 +. $($index = $index + $int) + movi %r0 9 + + // / +. $($index = $index - $int) + ldxi_i %r1 %fp $index + divr %r0 %r1 %r0 + + retr %r0 + epilog + +//----------------------------------------------------------------------- + name main +main: + prolog + + prepare + pushargi C + ellipsis + finishi @printf + movi %v0 0 +loopC: + prepare + pushargi format + ellipsis + pushargr %v0 + finishi @printf + addi %v0 %v0 10 + blei loopC %v0 100 + prepare + pushargi F + ellipsis + finishi @printf + movi %v0 0 +loopC2F: + prepare + pushargr %v0 + finishi c2f + retval %r0 + prepare + pushargi format + ellipsis + pushargr %r0 + finishi @printf + addi %v0 %v0 10 + blei loopC2F %v0 100 + prepare + pushargi newline + ellipsis + finishi @printf + + prepare + pushargi F + ellipsis + finishi @printf + movi %v0 32 +loopF: + prepare + pushargi format + ellipsis + pushargr %v0 + finishi @printf + addi %v0 %v0 18 + blei loopF %v0 212 + prepare + pushargi C + ellipsis + finishi @printf + movi %v0 32 +loopF2C: + prepare + pushargr %v0 + finishi f2c + retval %r0 + prepare + pushargi format + ellipsis + pushargr %r0 + finishi @printf + addi %v0 %v0 18 + blei loopF2C %v0 212 + prepare + pushargi newline + ellipsis + finishi @printf + + ret + epilog -- cgit v1.2.3