aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndrew Chambers <[email protected]>2021-10-16 02:07:56 +1300
committerAndrew Chambers <[email protected]>2021-10-16 02:07:56 +1300
commit490cb559cc4713b43d38c5667e56abc2f52973f9 (patch)
tree808edd96ed4d84334953e5ca04972fd6d94115a8 /test
parente45f7325b6104396676deedfe203833a52a11b18 (diff)
Add instructions and refactor.
Diffstat (limited to 'test')
-rw-r--r--test/test.sh120
1 files changed, 20 insertions, 100 deletions
diff --git a/test/test.sh b/test/test.sh
index 256654e..7ee3855 100644
--- a/test/test.sh
+++ b/test/test.sh
@@ -57,6 +57,7 @@ t "movb %r11b, (%rsi, %r12, 1)"
t "cvttsd2si %xmm1, %rax"
t "cvttsd2si %xmm10, %rax"
+t "cvttsd2si %xmm10, %r9"
t "cvttsd2si %xmm1, %eax"
t "cvttsd2si %xmm10, %eax"
@@ -67,6 +68,7 @@ t "cvttss2si %xmm10, %eax"
t "cvtsi2sd %rax, %xmm1"
t "cvtsi2sd %rax, %xmm10"
+t "cvtsi2sd %r9, %xmm10"
t "cvtsi2sd (%rax), %xmm1"
t "cvtsi2sd (%rax), %xmm10"
t "cvtsi2sd %eax, %xmm1"
@@ -74,111 +76,29 @@ t "cvtsi2sd %eax, %xmm10"
t "cvtsi2ss %rax, %xmm1"
t "cvtsi2ss %rax, %xmm10"
+t "cvtsi2ss %r9, %xmm10"
t "cvtsi2ss (%rax), %xmm1"
t "cvtsi2ss (%rax), %xmm10"
t "cvtsi2ss %eax, %xmm1"
t "cvtsi2ss %eax, %xmm10"
-t "pxor %xmm0, %xmm1"
-t "pxor %xmm10, %xmm1"
-t "pxor (%rax), %xmm0"
-t "pxor (%rax), %xmm10"
-
-t "movaps %xmm0, %xmm1"
-t "movaps %xmm0, (%rax)"
-t "movaps (%rax), %xmm0"
-t "movaps %xmm0, %xmm1"
-t "movaps %xmm10, (%rax)"
-t "movaps (%rax), %xmm10"
-
-t "cvtss2sd %xmm0, %xmm1"
-t "cvtss2sd %xmm10, %xmm1"
-t "cvtss2sd (%rax), %xmm0"
-t "cvtss2sd (%rax), %xmm10"
-
-t "cvtsd2ss %xmm0, %xmm1"
-t "cvtsd2ss %xmm10, %xmm1"
-t "cvtsd2ss (%rax), %xmm0"
-t "cvtsd2ss (%rax), %xmm10"
-
-t "pxor %xmm0, %xmm1"
-t "pxor (%rax), %xmm1"
-
-t "xorps %xmm0, %xmm1"
-t "xorps %xmm10, %xmm1"
-t "xorps (%rax), %xmm0"
-t "xorps (%rax), %xmm10"
-
-t "xorpd %xmm0, %xmm1"
-t "xorpd %xmm10, %xmm1"
-t "xorpd (%rax), %xmm0"
-t "xorpd (%rax), %xmm10"
-
-t "movsd %xmm0, %xmm1"
-t "movsd %xmm0, (%rax)"
-t "movsd (%rax), %xmm0"
-t "movsd %xmm0, %xmm1"
-t "movsd %xmm10, (%rax)"
-t "movsd (%rax), %xmm10"
-
-t "movss %xmm0, %xmm1"
-t "movss %xmm0, (%rax)"
-t "movss (%rax), %xmm0"
-t "movss %xmm0, %xmm1"
-t "movss %xmm10, (%rax)"
-t "movss (%rax), %xmm10"
-
-t "addsd %xmm0, %xmm1"
-t "addsd (%rax), %xmm1"
-t "addsd %xmm10, %xmm1"
-t "addsd %xmm1, %xmm10"
-t "addsd %xmm10, %xmm11"
-t "addsd (%rax), %xmm11"
-t "addss %xmm0, %xmm1"
-t "addss (%rax), %xmm1"
-t "addss %xmm10, %xmm1"
-t "addss %xmm1, %xmm10"
-t "addss %xmm10, %xmm11"
-t "addss (%rax), %xmm11"
-
-t "subsd %xmm0, %xmm1"
-t "subsd (%rax), %xmm1"
-t "subsd %xmm10, %xmm1"
-t "subsd %xmm1, %xmm10"
-t "subsd %xmm10, %xmm11"
-t "subsd (%rax), %xmm11"
-t "subss %xmm0, %xmm1"
-t "subss (%rax), %xmm1"
-t "subss %xmm10, %xmm1"
-t "subss %xmm1, %xmm10"
-t "subss %xmm10, %xmm11"
-t "subss (%rax), %xmm11"
-
-t "mulsd %xmm0, %xmm1"
-t "mulsd (%rax), %xmm1"
-t "mulsd %xmm10, %xmm1"
-t "mulsd %xmm1, %xmm10"
-t "mulsd %xmm10, %xmm11"
-t "mulsd (%rax), %xmm11"
-t "mulss %xmm0, %xmm1"
-t "mulss (%rax), %xmm1"
-t "mulss %xmm10, %xmm1"
-t "mulss %xmm1, %xmm10"
-t "mulss %xmm10, %xmm11"
-t "mulss (%rax), %xmm11"
-
-t "ucomisd %xmm0, %xmm1"
-t "ucomisd (%rax), %xmm1"
-t "ucomisd %xmm10, %xmm1"
-t "ucomisd %xmm1, %xmm10"
-t "ucomisd %xmm10, %xmm11"
-t "ucomisd (%rax), %xmm11"
-t "ucomiss %xmm0, %xmm1"
-t "ucomiss (%rax), %xmm1"
-t "ucomiss %xmm10, %xmm1"
-t "ucomiss %xmm1, %xmm10"
-t "ucomiss %xmm10, %xmm11"
-t "ucomiss (%rax), %xmm11"
+
+xmmops="
+pxor movaps cvtss2sd xorps xorpd
+movss addsd addss subsd subss
+divss divsd mulss mulsd ucomiss
+ucomisd
+"
+for op in $xmmops
+do
+ t "${op} %xmm0, %xmm1"
+ t "${op} (%rax), %xmm1"
+ t "${op} %xmm10, %xmm1"
+ t "${op} %xmm1, %xmm10"
+ t "${op} %xmm10, %xmm11"
+ t "${op} (%rax), %xmm11"
+done
+
for r in a b
do