aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-09-03 03:36:14 +0900
committernsfisis <nsfisis@gmail.com>2024-09-03 03:37:43 +0900
commit826faf5b3de956002a21bb31dce822f0ca047f05 (patch)
tree5f0bc14b6c3bd7a931edc94a1f1a73256c91c724
parentd5a5bfb4bd9830043efc7b704aeaff85732a209c (diff)
downloadmncore-challenge-826faf5b3de956002a21bb31dce822f0ca047f05.tar.gz
mncore-challenge-826faf5b3de956002a21bb31dce822f0ca047f05.tar.zst
mncore-challenge-826faf5b3de956002a21bb31dce822f0ca047f05.zip
11-Square-Sum
-rw-r--r--problems/11-Square-Sum/01.vsm32
1 files changed, 32 insertions, 0 deletions
diff --git a/problems/11-Square-Sum/01.vsm b/problems/11-Square-Sum/01.vsm
new file mode 100644
index 0000000..b38b9af
--- /dev/null
+++ b/problems/11-Square-Sum/01.vsm
@@ -0,0 +1,32 @@
+imm i"4" $s257v2
+imm i"1" $s265
+llsl $mabid $ls256 $t
+nop
+
+lpassa $lmt0v $lr0v # $lm[16mab+0,16mab+2,16mab+4,16mab+6]
+lpassa $lmt8v $lr8v # $lm[16mab+8,16mab+10,16mab+12,16mab+14]
+
+dvmulu $lmt0v $lr0v $ls0v # $ls[0,2,4,6] = x^2 @ PE0,PE1
+dvmulu $lmt8v $lr8v $ls8v # $ls[8,10,12,14] = x^2 @ PE0,PE1
+
+dvmuld $lmt0v $lr0v $ls16v # $ls[16,18,20,22] = x^2 @ PE2,PE3
+dvmuld $lmt8v $lr8v $ls24v # $ls[24,26,28,30] = x^2 @ PE2,PE3
+
+l1bmrdfadd $ls0v $lb0
+l1bmm $lbi $lm256v # $lm[256,258,260,262] = (x^2) x16
+l1bmrdfadd $ls8v $lb0
+l1bmm $lbi $lm264v # $lm[264,266,268,270] = (x^2) x16
+
+l1bmrdfadd $ls16v $lb0
+l1bmm $lbi $lm272v # $lm[272,274,276,278] = (x^2) x16
+l1bmrdfadd $ls24v $lb0
+l1bmm $lbi $lm280v # $lm[280,282,284,286] = (x^2) x16
+
+llsl $mabid $ls264 $t
+nop
+lpassa $lmt256v $ls0v # $lm[2mab,?,?,?]
+
+nop
+
+l1bmrdfadd $ls0v $lb0
+l1bmm $lbi $ln0v