aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-09-05 04:56:16 +0900
committernsfisis <nsfisis@gmail.com>2024-09-05 04:56:16 +0900
commiteba972743efaf0ea031a5a229e8a28957474a2a6 (patch)
treeccf7d9f9a64dab78687e1ea59137b749f12e3277
parentdad39e540a3250f718335ea10f1ef3e75d9982da (diff)
downloadmncore-challenge-eba972743efaf0ea031a5a229e8a28957474a2a6.tar.gz
mncore-challenge-eba972743efaf0ea031a5a229e8a28957474a2a6.tar.zst
mncore-challenge-eba972743efaf0ea031a5a229e8a28957474a2a6.zip
13-Mod-3
-rw-r--r--problems/13-Mod-3/07.vsm64
1 files changed, 64 insertions, 0 deletions
diff --git a/problems/13-Mod-3/07.vsm b/problems/13-Mod-3/07.vsm
new file mode 100644
index 0000000..6d9783d
--- /dev/null
+++ b/problems/13-Mod-3/07.vsm
@@ -0,0 +1,64 @@
+# (32 / 8).times do |i|
+# j = i * 8
+# # itof (1)
+# puts "ior $lm#{j}v $lr0 $nowrite"
+# end
+# puts
+# (32 / 8).times do |i|
+# j = i * 8
+# # itof (2)
+# puts "fvadd $aluf -$lr0 $ls#{j}v"
+# end
+# puts
+# (32 / 8).times do |i|
+# j = i * 8
+# # /3
+# puts "fvmul $ls#{j}v $lr4 $nowrite"
+# end
+# puts
+# (32 / 8).times do |i|
+# j = i * 8
+# # ftoi
+# puts "fftoi $mauf $ls#{j+32}v"
+# end
+# puts
+# (32 / 8).times do |i|
+# j = i * 8
+# # x3
+# puts "ipackbit $ls#{j+32}v $lr8 $nowrite"
+# puts "iadd $ls#{j+32}v $aluf $nowrite"
+# # %3
+# puts "isub $lm#{j}v $aluf $ln#{j}v"
+# puts
+# end
+
+imm f"8388608" $r0v
+imm f"0.3333333333333333333333" $r4v
+
+ior $lm0v $lr0 $nowrite
+ior $lm8v $lr0 $nowrite; fvadd $aluf -$lr0 $ls0v
+ior $lm16v $lr0 $nowrite; fvadd $aluf -$lr0 $ls8v
+ior $lm24v $lr0 $nowrite; fvadd $aluf -$lr0 $ls16v
+fvadd $aluf -$lr0 $ls24v
+
+fvmul $ls0v $lr4 $nowrite
+fvmul $ls8v $lr4 $nowrite; fftoi $mauf $ls32v
+fvmul $ls16v $lr4 $nowrite; fftoi $mauf $ls40v
+fvmul $ls24v $lr4 $nowrite; fftoi $mauf $ls48v
+fftoi $mauf $ls56v
+
+ipackbit $ls32v $lr8 $nowrite
+iadd $ls32v $aluf $nowrite
+isub $lm0v $aluf $ln0v
+
+ipackbit $ls40v $lr8 $nowrite
+iadd $ls40v $aluf $nowrite
+isub $lm8v $aluf $ln8v
+
+ipackbit $ls48v $lr8 $nowrite
+iadd $ls48v $aluf $nowrite
+isub $lm16v $aluf $ln16v
+
+ipackbit $ls56v $lr8 $nowrite
+iadd $ls56v $aluf $nowrite
+isub $lm24v $aluf $ln24v