diff options
Diffstat (limited to 'problems/11-Square-Sum')
| -rw-r--r-- | problems/11-Square-Sum/05.vsm | 4 | ||||
| -rw-r--r-- | problems/11-Square-Sum/06.vsm | 12 | ||||
| -rw-r--r-- | problems/11-Square-Sum/07.vsm | 11 |
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 |
