about summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-04-01 20:41:51 +0200
committerptitSeb <sebastien.chev@gmail.com>2022-04-01 20:41:51 +0200
commitead3217bf47f328ee7cce78a3080112f0f7a804b (patch)
tree1d9c2a8f8bd3edabb6cfb7b9b75ef7e65bbb5d15 /tests
parentf2012fc6365c338b977a6e6a230e1d9d7c750d51 (diff)
downloadbox64-ead3217bf47f328ee7cce78a3080112f0f7a804b.tar.gz
box64-ead3217bf47f328ee7cce78a3080112f0f7a804b.zip
More work on test17, and handling -NAN on divsd
Diffstat (limited to 'tests')
-rw-r--r--tests/ref17.txt60
-rwxr-xr-xtests/test17bin221720 -> 254272 bytes
-rw-r--r--tests/test17.c10
3 files changed, 69 insertions, 1 deletions
diff --git a/tests/ref17.txt b/tests/ref17.txt
index eb67ae5e..97e5ea89 100644
--- a/tests/ref17.txt
+++ b/tests/ref17.txt
@@ -454,23 +454,83 @@ sqrtsd(1 2 , 1 2 ) = 1 2
 sqrtsd(1 2 , 0 -2 ) = 0 2 
 sqrtsd(1 2 , inf -inf ) = inf 2 
 sqrtsd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 2 
+sqrtsd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+sqrtsd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -inf 
 sqrtsd(1 2 , 2 1 ) = 1.41421 2 
 sqrtsd(1 2 , -2 0 ) = 0xfff8000000000000 2 
 sqrtsd(1 2 , -inf inf ) = 0xfff8000000000000 2 
 sqrtsd(1 2 , -0 0x7ff8000000000000 ) = -0 2 
+sqrtsd(0 -2 , -0 0x7ff8000000000000 ) = -0 -2 
+sqrtsd(0 -2 , -0 0x7ff8000000000000 ) = -0 -2 
 addsd(1 2 , 1 2 ) = 2 2 
 addsd(1 2 , 0 -2 ) = 1 2 
 addsd(1 2 , inf -inf ) = inf 2 
 addsd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 2 
+addsd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+addsd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -inf 
 addsd(1 2 , 2 1 ) = 3 2 
 addsd(1 2 , -2 0 ) = -1 2 
 addsd(1 2 , -inf inf ) = -inf 2 
 addsd(1 2 , -0 0x7ff8000000000000 ) = 1 2 
+addsd(0 -2 , -0 0x7ff8000000000000 ) = 0 -2 
+addsd(0 -2 , -0 0x7ff8000000000000 ) = 0 -2 
 mulsd(1 2 , 1 2 ) = 1 2 
 mulsd(1 2 , 0 -2 ) = 0 2 
 mulsd(1 2 , inf -inf ) = inf 2 
 mulsd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 2 
+mulsd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+mulsd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -inf 
 mulsd(1 2 , 2 1 ) = 2 2 
 mulsd(1 2 , -2 0 ) = -2 2 
 mulsd(1 2 , -inf inf ) = -inf 2 
 mulsd(1 2 , -0 0x7ff8000000000000 ) = -0 2 
+mulsd(0 -2 , -0 0x7ff8000000000000 ) = -0 -2 
+mulsd(0 -2 , -0 0x7ff8000000000000 ) = -0 -2 
+subsd(1 2 , 1 2 ) = 0 2 
+subsd(1 2 , 0 -2 ) = 1 2 
+subsd(1 2 , inf -inf ) = -inf 2 
+subsd(1 2 , 0x7ff8000000000000 -0 ) = 0xfff8000000000000 2 
+subsd(0 -2 , 0x7ff8000000000000 -0 ) = 0xfff8000000000000 -2 
+subsd(inf -inf , 0x7ff8000000000000 -0 ) = 0xfff8000000000000 -inf 
+subsd(1 2 , 2 1 ) = -1 2 
+subsd(1 2 , -2 0 ) = 3 2 
+subsd(1 2 , -inf inf ) = inf 2 
+subsd(1 2 , -0 0x7ff8000000000000 ) = 1 2 
+subsd(0 -2 , -0 0x7ff8000000000000 ) = 0 -2 
+subsd(0 -2 , -0 0x7ff8000000000000 ) = 0 -2 
+minsd(1 2 , 1 2 ) = 1 2 
+minsd(1 2 , 0 -2 ) = 0 2 
+minsd(1 2 , inf -inf ) = 1 2 
+minsd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 2 
+minsd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+minsd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -inf 
+minsd(1 2 , 2 1 ) = 1 2 
+minsd(1 2 , -2 0 ) = -2 2 
+minsd(1 2 , -inf inf ) = -inf 2 
+minsd(1 2 , -0 0x7ff8000000000000 ) = -0 2 
+minsd(0 -2 , -0 0x7ff8000000000000 ) = -0 -2 
+minsd(0 -2 , -0 0x7ff8000000000000 ) = -0 -2 
+divsd(1 2 , 1 2 ) = 1 2 
+divsd(1 2 , 0 -2 ) = inf 2 
+divsd(1 2 , inf -inf ) = 0 2 
+divsd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 2 
+divsd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+divsd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -inf 
+divsd(1 2 , 2 1 ) = 0.5 2 
+divsd(1 2 , -2 0 ) = -0.5 2 
+divsd(1 2 , -inf inf ) = -0 2 
+divsd(1 2 , -0 0x7ff8000000000000 ) = -inf 2 
+divsd(0 -2 , -0 0x7ff8000000000000 ) = 0xfff8000000000000 -2 
+divsd(0 -2 , -0 0x7ff8000000000000 ) = 0xfff8000000000000 -2 
+maxsd(1 2 , 1 2 ) = 1 2 
+maxsd(1 2 , 0 -2 ) = 1 2 
+maxsd(1 2 , inf -inf ) = inf 2 
+maxsd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 2 
+maxsd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+maxsd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -inf 
+maxsd(1 2 , 2 1 ) = 2 2 
+maxsd(1 2 , -2 0 ) = 1 2 
+maxsd(1 2 , -inf inf ) = 1 2 
+maxsd(1 2 , -0 0x7ff8000000000000 ) = 1 2 
+maxsd(0 -2 , -0 0x7ff8000000000000 ) = 0 -2 
+maxsd(0 -2 , -0 0x7ff8000000000000 ) = 0 -2 
diff --git a/tests/test17 b/tests/test17
index f2632c6b..23f9c660 100755
--- a/tests/test17
+++ b/tests/test17
Binary files differdiff --git a/tests/test17.c b/tests/test17.c
index 0627d8c5..385b624c 100644
--- a/tests/test17.c
+++ b/tests/test17.c
@@ -391,10 +391,14 @@ printf(N " %g, %g => %g\n", b, a, *(float*)&r);
  GO2sd(A, B, a128_pd, b128_pd)              \
  GO2sd(A, B, a128_pd, c128_pd)              \
  GO2sd(A, B, a128_pd, d128_pd)              \
+ GO2sd(A, B, b128_pd, d128_pd)              \
+ GO2sd(A, B, c128_pd, d128_pd)              \
  GO2sd(A, B, a128_pd, reverse_pd(a128_pd))  \
  GO2sd(A, B, a128_pd, reverse_pd(b128_pd))  \
  GO2sd(A, B, a128_pd, reverse_pd(c128_pd))  \
- GO2sd(A, B, a128_pd, reverse_pd(d128_pd))
+ GO2sd(A, B, a128_pd, reverse_pd(d128_pd))  \
+ GO2sd(A, B, b128_pd, reverse_pd(d128_pd))  \
+ GO2sd(A, B, b128_pd, reverse_pd(d128_pd))
 
 
  GO2(shuffle, 8, pshufb, a128_8, b128_8)
@@ -581,6 +585,10 @@ printf(N " %g, %g => %g\n", b, a, *(float*)&r);
  MULTIGO2sd(sqrt, sqrtsd)
  MULTIGO2sd(add, addsd)
  MULTIGO2sd(mul, mulsd)
+ MULTIGO2sd(sub, subsd)
+ MULTIGO2sd(min, minsd)
+ MULTIGO2sd(div, divsd)
+ MULTIGO2sd(max, maxsd)
 
  return 0;
 }