aboutsummaryrefslogtreecommitdiffhomepage
path: root/problems/11-Square-Sum
diff options
context:
space:
mode:
Diffstat (limited to 'problems/11-Square-Sum')
-rw-r--r--problems/11-Square-Sum/05.vsm4
-rw-r--r--problems/11-Square-Sum/06.vsm12
-rw-r--r--problems/11-Square-Sum/07.vsm11
3 files changed, 23 insertions, 4 deletions
diff --git a/problems/11-Square-Sum/05.vsm b/problems/11-Square-Sum/05.vsm
index 4da9e64..7d05005 100644
--- a/problems/11-Square-Sum/05.vsm
+++ b/problems/11-Square-Sum/05.vsm
@@ -1,16 +1,12 @@
lpackbit $mabid $ln0 $t # t = 2 x mab
nop
-
dvmulu $lmt0v32 $lmt0v32 $nowrite
dvfmad $lmt0v32 $lmt0v32 $mauf $nowrite
dvmulu $lmt128v32 $lmt128v32 $nowrite; l1bmrdfadd $mauf $lbi
dvfmad $lmt128v32 $lmt128v32 $mauf $nowrite
-
l1bmm $lbi $lm256v; l1bmrdfadd $mauf $lbi
l1bmm $lbi $lm264v
-
nop
nop
-
l1bmrdfadd $lmt256v $lbi
l1bmm $lbi $ln0v
diff --git a/problems/11-Square-Sum/06.vsm b/problems/11-Square-Sum/06.vsm
new file mode 100644
index 0000000..cef4384
--- /dev/null
+++ b/problems/11-Square-Sum/06.vsm
@@ -0,0 +1,12 @@
+lpackbit $mabid $ln0 $t # t = 2 x mab
+nop
+dvmulu $lmt0v32 $lmt0v32 $nowrite
+dvfmad $lmt0v32 $lmt0v32 $mauf $nowrite
+dvfmau $lmt128v32 $lmt128v32 $mauf $nowrite
+dvfmad $lmt128v32 $lmt128v32 $mauf $nowrite
+l1bmrdfadd $mauf $lbi
+l1bmm $lbi $lm256v
+nop
+nop
+l1bmrdfadd $lmt256v $lbi
+l1bmm $lbi $ln0v
diff --git a/problems/11-Square-Sum/07.vsm b/problems/11-Square-Sum/07.vsm
new file mode 100644
index 0000000..1cc0719
--- /dev/null
+++ b/problems/11-Square-Sum/07.vsm
@@ -0,0 +1,11 @@
+lpackbit $mabid $ln0 $t
+imm i"1" $s3v2
+dvmulu $lmt0v32 $lmt0v32 $nowrite ; iinc $aluf $s5v2
+dvfmad $lmt0v32 $lmt0v32 $mauf $nowrite ; iinc $aluf $s7v2
+dvfmau $lmt128v32 $lmt128v32 $mauf $nowrite
+dvfmad $lmt128v32 $lmt128v32 $mauf $nowrite; lxor $mabid $ls0v $omr1
+l1bmrdfadd $mauf $lbi
+l1bmm $lbi $lr0/$imr1
+nop
+l1bmrdfadd $lr[256,256,256,0] $lbi
+l1bmm $lbi $ln0