about summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorKreitinnSoftware <80591934+KreitinnSoftware@users.noreply.github.com>2024-02-14 05:14:01 -0300
committerGitHub <noreply@github.com>2024-02-14 09:14:01 +0100
commit549e042e678e0909c1a79325fb406fb0081ccac7 (patch)
treef05a9323a5d22d14f60c3ce3bc6f61b3d9a579fb /tests
parentc70581abc9380ab57deba3f8076e26191b5c2755 (diff)
downloadbox64-549e042e678e0909c1a79325fb406fb0081ccac7.tar.gz
box64-549e042e678e0909c1a79325fb406fb0081ccac7.zip
[CI] Add Android Tests (#1263)
* [CI] Add Android Tests

* Remove a Build of Box64 that I placed and forgot to remove before

* Fix some tests checking

* Disable Test07 and Test17 for now

* Comment set_tests_proprieties (I have forgotten)

* Add mmx test and benchfloat for Android

* Fix build for Clang-17 on non-Termux

* Update NDK to 26b and add Termux Build/Testing

* Revert to NDK 25b, something is wrong

* Add -DTERMUX=1 to Termux Build

* Add LD_LIBRARY_PATH for Termux Testing

* Set LD_LIBRARY_PATH on QEMU_SET_ENV

* Move data folder to current dir before testing on Termux

* Copy Termux Data Libs for /data

* Try to set QEMU_SET_ENV on GITHUB_ENV

---------

Co-authored-by: Pablo Carlos <pablo@localhost.localdomain>
Diffstat (limited to 'tests')
-rwxr-xr-xtests/benchfloat_androidbin0 -> 15248 bytes
-rwxr-xr-xtests/extensions/mmx_androidbin0 -> 58384 bytes
-rw-r--r--tests/ref12_android.txt4
-rw-r--r--tests/ref17_android.txt564
-rw-r--r--tests/ref22_android.txt1224
-rwxr-xr-xtests/test01_androidbin0 -> 5024 bytes
-rwxr-xr-xtests/test02_androidbin0 -> 5144 bytes
-rwxr-xr-xtests/test03_androidbin0 -> 5088 bytes
-rwxr-xr-xtests/test04_androidbin0 -> 5120 bytes
-rwxr-xr-xtests/test05_androidbin0 -> 6432 bytes
-rwxr-xr-xtests/test06_androidbin0 -> 6720 bytes
-rwxr-xr-xtests/test07_androidbin0 -> 5352 bytes
-rwxr-xr-xtests/test08_androidbin0 -> 5408 bytes
-rwxr-xr-xtests/test09_androidbin0 -> 5472 bytes
-rwxr-xr-xtests/test10_androidbin0 -> 119224 bytes
-rwxr-xr-xtests/test11_androidbin0 -> 12216 bytes
-rw-r--r--tests/test12.c14
-rwxr-xr-xtests/test12_androidbin0 -> 5376 bytes
-rw-r--r--tests/test14.c5
-rwxr-xr-xtests/test14_androidbin0 -> 8464 bytes
-rwxr-xr-xtests/test15_androidbin0 -> 5480 bytes
-rwxr-xr-xtests/test16_androidbin0 -> 16088 bytes
-rwxr-xr-xtests/test17_androidbin0 -> 94024 bytes
-rwxr-xr-xtests/test18_androidbin0 -> 7936 bytes
-rwxr-xr-xtests/test20_androidbin0 -> 5592 bytes
-rwxr-xr-xtests/test21_androidbin0 -> 5808 bytes
-rw-r--r--tests/test22.c14
-rwxr-xr-xtests/test22_androidbin0 -> 8216 bytes
-rwxr-xr-xtests/test23_androidbin0 -> 5264 bytes
-rwxr-xr-xtests/test24_androidbin0 -> 5472 bytes
-rwxr-xr-xtests/test25_androidbin0 -> 5552 bytes
-rwxr-xr-xtests/test26_androidbin0 -> 22664 bytes
-rwxr-xr-xtests/test27_androidbin0 -> 270584 bytes
-rwxr-xr-xtests/test28_androidbin0 -> 15272 bytes
-rwxr-xr-xtests/test29_androidbin0 -> 5464 bytes
35 files changed, 1825 insertions, 0 deletions
diff --git a/tests/benchfloat_android b/tests/benchfloat_android
new file mode 100755
index 00000000..97a12ac4
--- /dev/null
+++ b/tests/benchfloat_android
Binary files differdiff --git a/tests/extensions/mmx_android b/tests/extensions/mmx_android
new file mode 100755
index 00000000..80857cc5
--- /dev/null
+++ b/tests/extensions/mmx_android
Binary files differdiff --git a/tests/ref12_android.txt b/tests/ref12_android.txt
new file mode 100644
index 00000000..0dbc7165
--- /dev/null
+++ b/tests/ref12_android.txt
@@ -0,0 +1,4 @@
+1000000000000 => 1000000000000.000000
+-1000000000000 => -1000000000000.000000
+(angle_t)268435456.000000 = 268435456 == 0x10000000
+go PI trucated=-1, -PI rounded=-3
diff --git a/tests/ref17_android.txt b/tests/ref17_android.txt
new file mode 100644
index 00000000..6972890c
--- /dev/null
+++ b/tests/ref17_android.txt
@@ -0,0 +1,564 @@
+ucomiss 1.000000, 2.000000 => 0x203
+ucomiss 2.000000, 1.000000 => 0x202
+ucomiss 1.000000, inf => 0x203
+ucomiss inf, 1.000000 => 0x202
+ucomiss 1.000000, -inf => 0x202
+ucomiss -inf, 1.000000 => 0x203
+ucomiss 1.000000, nan => 0x247
+ucomiss nan, 1.000000 => 0x247
+ucomiss 1.000000, 1.000000 => 0x242
+ucomiss 1.000000, 1.000000 => 0x242
+ucomiss inf, inf => 0x242
+ucomiss -inf, inf => 0x203
+ucomiss inf, -inf => 0x202
+ucomiss nan, nan => 0x247
+minss 1, 2 => 1
+minss 2, 1 => 1
+minss -inf, 2 => -inf
+minss 2, -inf => -inf
+minss inf, 2 => 2
+minss 2, inf => 2
+minss nan, 2 => 2
+minss 2, nan => nan
+minss nan, 3.40282e+38 => 3.40282e+38
+minss 3.40282e+38, nan => nan
+minss -inf, 3.40282e+38 => -inf
+minss 3.40282e+38, -inf => -inf
+minss inf, 3.40282e+38 => 3.40282e+38
+minss 3.40282e+38, inf => 3.40282e+38
+maxss 1, 2 => 2
+maxss 2, 1 => 2
+maxss -inf, 2 => 2
+maxss 2, -inf => 2
+maxss inf, 2 => inf
+maxss 2, inf => inf
+maxss nan, 2 => 2
+maxss 2, nan => nan
+maxss nan, 3.40282e+38 => 3.40282e+38
+maxss 3.40282e+38, nan => nan
+maxss -inf, 3.40282e+38 => 3.40282e+38
+maxss 3.40282e+38, -inf => 3.40282e+38
+maxss inf, 3.40282e+38 => inf
+maxss 3.40282e+38, inf => inf
+cmpss 0 1.000000, 2.000000 => 0x0
+cmpss 0 2.000000, 1.000000 => 0x0
+cmpss 0 1.000000, inf => 0x0
+cmpss 0 inf, 1.000000 => 0x0
+cmpss 0 1.000000, -inf => 0x0
+cmpss 0 -inf, 1.000000 => 0x0
+cmpss 0 1.000000, nan => 0x0
+cmpss 0 nan, 1.000000 => 0x0
+cmpss 0 1.000000, 1.000000 => 0xffffffff
+cmpss 0 1.000000, 1.000000 => 0xffffffff
+cmpss 0 inf, inf => 0xffffffff
+cmpss 0 -inf, inf => 0x0
+cmpss 0 inf, -inf => 0x0
+cmpss 0 nan, nan => 0x0
+cmpss 1 1.000000, 2.000000 => 0xffffffff
+cmpss 1 2.000000, 1.000000 => 0x0
+cmpss 1 1.000000, inf => 0xffffffff
+cmpss 1 inf, 1.000000 => 0x0
+cmpss 1 1.000000, -inf => 0x0
+cmpss 1 -inf, 1.000000 => 0xffffffff
+cmpss 1 1.000000, nan => 0x0
+cmpss 1 nan, 1.000000 => 0x0
+cmpss 1 1.000000, 1.000000 => 0x0
+cmpss 1 1.000000, 1.000000 => 0x0
+cmpss 1 inf, inf => 0x0
+cmpss 1 -inf, inf => 0xffffffff
+cmpss 1 inf, -inf => 0x0
+cmpss 1 nan, nan => 0x0
+cmpss 2 1.000000, 2.000000 => 0xffffffff
+cmpss 2 2.000000, 1.000000 => 0x0
+cmpss 2 1.000000, inf => 0xffffffff
+cmpss 2 inf, 1.000000 => 0x0
+cmpss 2 1.000000, -inf => 0x0
+cmpss 2 -inf, 1.000000 => 0xffffffff
+cmpss 2 1.000000, nan => 0x0
+cmpss 2 nan, 1.000000 => 0x0
+cmpss 2 1.000000, 1.000000 => 0xffffffff
+cmpss 2 1.000000, 1.000000 => 0xffffffff
+cmpss 2 inf, inf => 0xffffffff
+cmpss 2 -inf, inf => 0xffffffff
+cmpss 2 inf, -inf => 0x0
+cmpss 2 nan, nan => 0x0
+cmpss 3 1.000000, 2.000000 => 0x0
+cmpss 3 2.000000, 1.000000 => 0x0
+cmpss 3 1.000000, inf => 0x0
+cmpss 3 inf, 1.000000 => 0x0
+cmpss 3 1.000000, -inf => 0x0
+cmpss 3 -inf, 1.000000 => 0x0
+cmpss 3 1.000000, nan => 0xffffffff
+cmpss 3 nan, 1.000000 => 0xffffffff
+cmpss 3 1.000000, 1.000000 => 0x0
+cmpss 3 1.000000, 1.000000 => 0x0
+cmpss 3 inf, inf => 0x0
+cmpss 3 -inf, inf => 0x0
+cmpss 3 inf, -inf => 0x0
+cmpss 3 nan, nan => 0xffffffff
+cmpss 4 1.000000, 2.000000 => 0xffffffff
+cmpss 4 2.000000, 1.000000 => 0xffffffff
+cmpss 4 1.000000, inf => 0xffffffff
+cmpss 4 inf, 1.000000 => 0xffffffff
+cmpss 4 1.000000, -inf => 0xffffffff
+cmpss 4 -inf, 1.000000 => 0xffffffff
+cmpss 4 1.000000, nan => 0xffffffff
+cmpss 4 nan, 1.000000 => 0xffffffff
+cmpss 4 1.000000, 1.000000 => 0x0
+cmpss 4 1.000000, 1.000000 => 0x0
+cmpss 4 inf, inf => 0x0
+cmpss 4 -inf, inf => 0xffffffff
+cmpss 4 inf, -inf => 0xffffffff
+cmpss 4 nan, nan => 0xffffffff
+cmpss 5 1.000000, 2.000000 => 0x0
+cmpss 5 2.000000, 1.000000 => 0xffffffff
+cmpss 5 1.000000, inf => 0x0
+cmpss 5 inf, 1.000000 => 0xffffffff
+cmpss 5 1.000000, -inf => 0xffffffff
+cmpss 5 -inf, 1.000000 => 0x0
+cmpss 5 1.000000, nan => 0xffffffff
+cmpss 5 nan, 1.000000 => 0xffffffff
+cmpss 5 1.000000, 1.000000 => 0xffffffff
+cmpss 5 1.000000, 1.000000 => 0xffffffff
+cmpss 5 inf, inf => 0xffffffff
+cmpss 5 -inf, inf => 0x0
+cmpss 5 inf, -inf => 0xffffffff
+cmpss 5 nan, nan => 0xffffffff
+cmpss 6 1.000000, 2.000000 => 0x0
+cmpss 6 2.000000, 1.000000 => 0xffffffff
+cmpss 6 1.000000, inf => 0x0
+cmpss 6 inf, 1.000000 => 0xffffffff
+cmpss 6 1.000000, -inf => 0xffffffff
+cmpss 6 -inf, 1.000000 => 0x0
+cmpss 6 1.000000, nan => 0xffffffff
+cmpss 6 nan, 1.000000 => 0xffffffff
+cmpss 6 1.000000, 1.000000 => 0x0
+cmpss 6 1.000000, 1.000000 => 0x0
+cmpss 6 inf, inf => 0x0
+cmpss 6 -inf, inf => 0x0
+cmpss 6 inf, -inf => 0xffffffff
+cmpss 6 nan, nan => 0xffffffff
+cmpss 7 1.000000, 2.000000 => 0xffffffff
+cmpss 7 2.000000, 1.000000 => 0xffffffff
+cmpss 7 1.000000, inf => 0xffffffff
+cmpss 7 inf, 1.000000 => 0xffffffff
+cmpss 7 1.000000, -inf => 0xffffffff
+cmpss 7 -inf, 1.000000 => 0xffffffff
+cmpss 7 1.000000, nan => 0x0
+cmpss 7 nan, 1.000000 => 0x0
+cmpss 7 1.000000, 1.000000 => 0xffffffff
+cmpss 7 1.000000, 1.000000 => 0xffffffff
+cmpss 7 inf, inf => 0xffffffff
+cmpss 7 -inf, inf => 0xffffffff
+cmpss 7 inf, -inf => 0xffffffff
+cmpss 7 nan, nan => 0x0
+pshufb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0xff 0x80 0x2 0x2 0xff 0x0 0x0 0xff 0xfe 0x81 0x0 0x3 0x72 0x32 0xff 0x80 
+phaddw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x7fff 0x7fff 0x3 0x8004 0xffff 0xfffe 0x9050 0x7fff 
+phaddd(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0x7fffffff 0x7fffffff 0x80000001 0x3 
+phaddsw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x8000 0x7fff 0x3 0x8004 0xffff 0xfffe 0x9050 0x8000 
+pmaddubsw(0x80ff 0x7f 0x201 0x8103 0x84fe 0x5272 0xa5 0x32c0 , 0x100 0x1505 0x8020 0xff 0x708 0x681 0xf0a 0x110 ) = 0x80 0x27b 0xff20 0xfffd 0xb8c 0xc95e 0x672 0xc32 
+phsubw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x7fff 0x7fff 0xffff 0x8002 0x1 0x0 0x7050 0x7ffd 
+psignb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0x0 0x80 0x7f 0x0 0x1 0xfe 0xfd 0x0 0xfe 0x84 0x8e 0x52 0xa5 0x0 0xc0 0x32 
+psignw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x1 0x8000 0x8001 0x0 0x1 0xfffe 0xfffd 0x7fff 
+psignd(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0xffffffff 0x80000000 0x7fffffff 0x0 
+pmulhrsw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x1 0x8001 0xffff 0x0 0x0 0xfffe 0x0 0x7ffe 
+pblendvps(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe , 0x1 0x80000000 0x80000005 0xfffe ) = 0xffffffff 0x80000000 0x5 0x0 
+ptestz(0x80000000ffffffff 0x7fffffff , 0x8000000000000001 0xfffffffe00000005 ) = 0
+ptestc(0x80000000ffffffff 0x7fffffff , 0x8000000000000001 0xfffffffe00000005 ) = 0
+ptestnzc(0x80000000ffffffff 0x7fffffff , 0x8000000000000001 0xfffffffe00000005 ) = 1
+pabsb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 ) = 0x1 0x80 0x7f 0x0 0x1 0x2 0x3 0x7f 0x2 0x7c 0x72 0x52 0x5b 0x0 0x40 0x32 
+pabsw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 ) = 0x1 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x7fff 
+pabsd(0xffffffff 0x80000000 0x7fffffff 0x0 ) = 0x1 0x80000000 0x7fffffff 0x0 
+pmovsxbw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 ) = 0xffff 0xffff 0x0 0xff80 0xffff 0x7f 0x0 0x0 
+pmovsxbd(0xffffffff 0x80000000 0x7fffffff 0x0 ) = 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
+pmovsxbq(0xffffffffffffffff 0x8000000000000000 ) = 0xffffffffffffffff 0xffffffffffffffff 
+pmovsxwd(0xffffffff 0x80000000 0x7fffffff 0x0 ) = 0xffffffff 0xffffffff 0x0 0xffff8000 
+pmovsxwq(0xffffffffffffffff 0x8000000000000000 ) = 0xffffffffffffffff 0xffffffffffffffff 
+pmovsxdq(0xffffffffffffffff 0x8000000000000000 ) = 0xffffffffffffffff 0xffffffffffffffff 
+pmovzxbw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 ) = 0xff 0xff 0x0 0x80 0xff 0x7f 0x0 0x0 
+pmovzxbd(0xffffffff 0x80000000 0x7fffffff 0x0 ) = 0xff 0xff 0xff 0xff 
+pmovzxbq(0xffffffffffffffff 0x8000000000000000 ) = 0xff 0xff 
+pmovzxwd(0xffffffff 0x80000000 0x7fffffff 0x0 ) = 0xffff 0xffff 0x0 0x8000 
+pmovzxwq(0xffffffffffffffff 0x8000000000000000 ) = 0xffff 0xffff 
+pmovzxdq(0xffffffffffffffff 0x8000000000000000 ) = 0xffffffff 0xffffffff 
+pminsd(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0xffffffff 0x80000000 0x5 0xfffffffe 
+pmaxsd(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0x1 0x80000000 0x7fffffff 0x0 
+pblendw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 0) = 0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 
+pblendw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 255) = 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 
+pblendw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 170) = 0xffff 0x7fff 0x7fff 0xffff 0x1 0x9000 0x3 0x8001 
+pblendw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 2) = 0xffff 0x7fff 0x7fff 0x0 0x1 0x2 0x3 0x8001 
+palignr(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 0) = 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 
+palignr(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 2) = 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 0xff 0x80 
+palignr(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 7) = 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 0xff 0x80 0x7f 0x0 0x1 0x2 0x3 
+palignr(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 15) = 0x1 0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 
+palignr(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 16) = 0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 
+palignr(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 255) = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 
+movmskpd(0xffffffffffffffff 0x8000000000000000 ) = 0x3
+psqrtpd(1 2 ) = 1 1.41421 
+psqrtpd(0 -2 ) = 0 0xfff8000000000000 
+psqrtpd(inf -inf ) = inf 0xfff8000000000000 
+psqrtpd(0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -0 
+andpd(1 2 , 0 -2 ) = 0 2 
+andpd(0 -2 , inf -inf ) = 0 -2 
+andpd(1 2 , 0x7ff8000000000000 -0 ) = 1 0 
+andpd(0 -2 , 0x7ff8000000000000 -0 ) = 0 -0 
+andpd(inf -inf , 0x7ff8000000000000 -0 ) = inf -0 
+andpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -0 
+andnpd(1 2 , 0 -2 ) = 0 -0 
+andnpd(0 -2 , inf -inf ) = inf 1 
+andnpd(1 2 , 0x7ff8000000000000 -0 ) = 3 -0 
+andnpd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0 
+andnpd(inf -inf , 0x7ff8000000000000 -0 ) = 1.11254e-308 0 
+andnpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0 0 
+orpd(1 2 , 0 -2 ) = 1 -2 
+orpd(0 -2 , inf -inf ) = inf -inf 
+orpd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+orpd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+orpd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -inf 
+orpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -0 
+xorpd(1 2 , 0 -2 ) = 1 -0 
+xorpd(0 -2 , inf -inf ) = inf 1 
+xorpd(1 2 , 0x7ff8000000000000 -0 ) = 3 -2 
+xorpd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 2 
+xorpd(inf -inf , 0x7ff8000000000000 -0 ) = 1.11254e-308 inf 
+xorpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0 0 
+addpd(1 2 , 0 -2 ) = 1 0 
+addpd(0 -2 , inf -inf ) = inf -inf 
+addpd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 2 
+addpd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+addpd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -inf 
+addpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -0 
+mulpd(1 2 , 0 -2 ) = 0 -4 
+mulpd(0 -2 , inf -inf ) = 0xfff8000000000000 inf 
+mulpd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -0 
+mulpd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0 
+mulpd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0xfff8000000000000 
+mulpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0 
+subpd(1 2 , 0 -2 ) = 1 4 
+subpd(0 -2 , inf -inf ) = -inf inf 
+subpd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 2 
+subpd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+subpd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -inf 
+subpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0 
+minpd(1 2 , 0 -2 ) = 0 -2 
+minpd(0 -2 , inf -inf ) = 0 -inf 
+minpd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -0 
+minpd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+minpd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -inf 
+minpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -0 
+divpd(1 2 , 0 -2 ) = inf -1 
+divpd(0 -2 , inf -inf ) = 0 0 
+divpd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -inf 
+divpd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 inf 
+divpd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 inf 
+divpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0xfff8000000000000 
+maxpd(1 2 , 0 -2 ) = 1 2 
+maxpd(0 -2 , inf -inf ) = inf -2 
+maxpd(1 2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 2 
+maxpd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -0 
+maxpd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -0 
+maxpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -0 
+punpcklbw(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0xff 0x0 0x80 0x1 0x7f 0x5 0x0 0x15 0x1 0x20 0x2 0x80 0x3 0xff 0x81 0x0 
+punpcklwd(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0xffff 0x8000 0x8000 0x7fff 0x7fff 0xffff 0x0 0xffff 
+punpckldq(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0xffffffff 0x1 0x80000000 0x80000000 
+ppacksswb(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x80ff 0x7f 0x201 0x8003 0x7f80 0xffff 0x8050 0x80fe 
+pcmpgtb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0x0 0x0 0xff 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0xff 
+pcmpgtw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0xffff 0x0 0xffff 0xffff 0x0 0xffff 0xffff 0x0 
+pcmpgtd(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0x0 0x0 0xffffffff 0xffffffff 
+packuswb(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x0 0xff 0x201 0x3 0xff00 0x0 0x50 0x0 
+punpckhbw(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0xfe 0x8 0x84 0x7 0x72 0x81 0x52 0x6 0xa5 0xa 0x0 0xf 0xc0 0x10 0x32 0x1 
+punpckhwd(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x1 0x50 0x2 0x9000 0x3 0xfffe 0x8001 0x8001 
+punpckhdq(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0x7fffffff 0x5 0x0 0xfffffffe 
+ppackssdw(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0x8000ffff 0x7fff 0x80000001 0xfffe0005 
+punpcklqdq(0xffffffffffffffff 0x8000000000000000 , 0x1 0x8000000000000000 ) = 0xffffffffffffffff 0x1 
+punpckhqdq(0xffffffffffffffff 0x8000000000000000 , 0x1 0x8000000000000000 ) = 0x8000000000000000 0x8000000000000000 
+pshufd(0xffffffff 0x80000000 0x7fffffff 0x0 0) = 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
+pshufd(0xffffffff 0x80000000 0x7fffffff 0x0 255) = 0x0 0x0 0x0 0x0 
+pshufd(0xffffffff 0x80000000 0x7fffffff 0x0 170) = 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff 
+pshufd(0xffffffff 0x80000000 0x7fffffff 0x0 2) = 0x7fffffff 0xffffffff 0xffffffff 0xffffffff 
+psrlw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 0) = 0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 
+psrlw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 255) = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 
+psrlw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 170) = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 
+psrlw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 2) = 0x3fff 0x2000 0x1fff 0x0 0x0 0x0 0x0 0x2000 
+psrld(0xffffffff 0x80000000 0x7fffffff 0x0 0) = 0xffffffff 0x80000000 0x7fffffff 0x0 
+psrld(0xffffffff 0x80000000 0x7fffffff 0x0 255) = 0x0 0x0 0x0 0x0 
+psrld(0xffffffff 0x80000000 0x7fffffff 0x0 170) = 0x0 0x0 0x0 0x0 
+psrld(0xffffffff 0x80000000 0x7fffffff 0x0 2) = 0x3fffffff 0x20000000 0x1fffffff 0x0 
+psrlq(0xffffffffffffffff 0x8000000000000000 0) = 0xffffffffffffffff 0x8000000000000000 
+psrlq(0xffffffffffffffff 0x8000000000000000 255) = 0x0 0x0 
+psrlq(0xffffffffffffffff 0x8000000000000000 170) = 0x0 0x0 
+psrlq(0xffffffffffffffff 0x8000000000000000 2) = 0x3fffffffffffffff 0x2000000000000000 
+psraw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 0) = 0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 
+psraw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 255) = 0xffff 0xffff 0x0 0x0 0x0 0x0 0x0 0xffff 
+psraw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 170) = 0xffff 0xffff 0x0 0x0 0x0 0x0 0x0 0xffff 
+psraw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 2) = 0xffff 0xe000 0x1fff 0x0 0x0 0x0 0x0 0xe000 
+psrad(0xffffffff 0x80000000 0x7fffffff 0x0 0) = 0xffffffff 0x80000000 0x7fffffff 0x0 
+psrad(0xffffffff 0x80000000 0x7fffffff 0x0 255) = 0xffffffff 0xffffffff 0x0 0x0 
+psrad(0xffffffff 0x80000000 0x7fffffff 0x0 170) = 0xffffffff 0xffffffff 0x0 0x0 
+psrad(0xffffffff 0x80000000 0x7fffffff 0x0 2) = 0xffffffff 0xe0000000 0x1fffffff 0x0 
+psllw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 0) = 0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 
+psllw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 255) = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 
+psllw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 170) = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 
+psllw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 2) = 0xfffc 0x0 0xfffc 0x0 0x4 0x8 0xc 0x4 
+pslld(0xffffffff 0x80000000 0x7fffffff 0x0 0) = 0xffffffff 0x80000000 0x7fffffff 0x0 
+pslld(0xffffffff 0x80000000 0x7fffffff 0x0 255) = 0x0 0x0 0x0 0x0 
+pslld(0xffffffff 0x80000000 0x7fffffff 0x0 170) = 0x0 0x0 0x0 0x0 
+pslld(0xffffffff 0x80000000 0x7fffffff 0x0 2) = 0xfffffffc 0x0 0xfffffffc 0x0 
+psllq(0xffffffffffffffff 0x8000000000000000 0) = 0xffffffffffffffff 0x8000000000000000 
+psllq(0xffffffffffffffff 0x8000000000000000 255) = 0x0 0x0 
+psllq(0xffffffffffffffff 0x8000000000000000 170) = 0x0 0x0 
+psllq(0xffffffffffffffff 0x8000000000000000 2) = 0xfffffffffffffffc 0x0 
+pcmpeqb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 
+pcmpeqw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xffff 
+pcmpeqd(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0x0 0xffffffff 0x0 0x0 
+haddpd(1 2 , 0 -2 ) = 3 -2 
+haddpd(0 -2 , inf -inf ) = -2 0xfff8000000000000 
+haddpd(1 2 , 0x7ff8000000000000 -0 ) = 3 0x7ff8000000000000 
+haddpd(0 -2 , 0x7ff8000000000000 -0 ) = -2 0x7ff8000000000000 
+haddpd(inf -inf , 0x7ff8000000000000 -0 ) = 0xfff8000000000000 0x7ff8000000000000 
+haddpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0x7ff8000000000000 
+psrlw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 
+psrld(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0x0 0x0 0x0 0x0 
+psrlq(0xffffffffffffffff 0x8000000000000000 , 0x1 0x8000000000000000 ) = 0x7fffffffffffffff 0x4000000000000000 
+paddq(0xffffffffffffffff 0x8000000000000000 , 0x1 0x8000000000000000 ) = 0x0 0x0 
+pmullw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x8000 0x8000 0x8001 0x0 0x50 0x2000 0xfffa 0x1 
+psubusb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0xff 0x7f 0x7a 0x0 0x0 0x0 0x0 0x81 0xf6 0x7d 0x0 0x4c 0x9b 0x0 0xb0 0x31 
+psubusw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x7fff 0x1 0x0 0x0 0x0 0x0 0x0 0x0 
+pminub(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0x0 0x1 0x5 0x0 0x1 0x2 0x3 0x0 0x8 0x7 0x72 0x6 0xa 0x0 0x10 0x1 
+pand(0x81030201007f80ff 0x32c000a5527284fe , 0xff802015050100 0x1100f0a06810708 ) = 0x3000000050000 0x2000408 
+paddusb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0xff 0x81 0x84 0x15 0x21 0x82 0xff 0x81 0xff 0x8b 0xf3 0x58 0xaf 0xf 0xd0 0x33 
+paddusw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0xffff 0xffff 0xffff 0xffff 0x51 0x9002 0xffff 0xffff 
+pmaxub(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0xff 0x80 0x7f 0x15 0x20 0x80 0xff 0x81 0xfe 0x84 0x81 0x52 0xa5 0xf 0xc0 0x32 
+pandn(0x81030201007f80ff 0x32c000a5527284fe , 0xff802015050100 0x1100f0a06810708 ) = 0xfc802015000100 0x1100f0a04810300 
+pavgb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0x80 0x41 0x42 0xb 0x11 0x41 0x81 0x41 0x83 0x46 0x7a 0x2c 0x58 0x8 0x68 0x1a 
+psraw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0xffff 0xffff 0x0 0x0 0x0 0x0 0x0 0xffff 
+psrad(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0xffffffff 0xffffffff 0x0 0x0 
+pavgb(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0xc000 0x8000 0xbfff 0x8000 0x29 0x4801 0x8001 0x8001 
+pmulhuw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x7fff 0x3fff 0x7ffe 0x0 0x0 0x1 0x2 0x4001 
+pmulhw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x0 0xc000 0xffff 0x0 0x0 0xffff 0xffff 0x3fff 
+psubsb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0xff 0x80 0x7a 0xeb 0xe1 0x7f 0x4 0x81 0xf6 0x80 0x7f 0x4c 0x9b 0xf1 0xb0 0x31 
+psubsw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x7fff 0x8000 0x7fff 0x1 0xffb1 0x7002 0x5 0x0 
+pminsw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x8000 0x8000 0xffff 0xffff 0x1 0x9000 0xfffe 0x8001 
+por(0x81030201007f80ff 0x32c000a5527284fe , 0xff802015050100 0x1100f0a06810708 ) = 0x81ff8221157f81ff 0x33d00faf56f387fe 
+paddusb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0xff 0x81 0x7f 0x15 0x21 0x82 0x2 0x81 0x6 0x8b 0xf3 0x58 0xaf 0xf 0xd0 0x33 
+paddusw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x8000 0xffff 0x7ffe 0xffff 0x51 0x9002 0x1 0x8000 
+pmaxsw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0xffff 0x7fff 0x7fff 0x0 0x50 0x2 0x3 0x8001 
+pxor(0x81030201007f80ff 0x32c000a5527284fe , 0xff802015050100 0x1100f0a06810708 ) = 0x81fc8221157a81ff 0x33d00faf54f383f6 
+psllw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 
+pslld(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0x0 0x0 0x0 0x0 
+psllq(0xffffffffffffffff 0x8000000000000000 , 0x1 0x8000000000000000 ) = 0xfffffffffffffffe 0x0 
+pmuludq(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0xffffffff 0x0 0x7ffffffb 0x2 
+pmaddwd(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x0 0xc001 0x8001 0xffff 0x2050 0xffff 0xfffb 0x3ffe 
+psadbw(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0x27 0x4 0x0 0x0 0x0 0x0 0x0 0x0 0x59 0x3 0x0 0x0 0x0 0x0 0x0 0x0 
+psubb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0xff 0x7f 0x7a 0xeb 0xe1 0x82 0x4 0x81 0xf6 0x7d 0xf1 0x4c 0x9b 0xf1 0xb0 0x31 
+psubw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x7fff 0x1 0x8000 0x1 0xffb1 0x7002 0x5 0x0 
+psubd(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0xfffffffe 0x0 0x7ffffffa 0x2 
+psubq(0xffffffffffffffff 0x8000000000000000 , 0x1 0x8000000000000000 ) = 0xfffffffffffffffe 0x0 
+paddb(0xff 0x80 0x7f 0x0 0x1 0x2 0x3 0x81 0xfe 0x84 0x72 0x52 0xa5 0x0 0xc0 0x32 , 0x0 0x1 0x5 0x15 0x20 0x80 0xff 0x0 0x8 0x7 0x81 0x6 0xa 0xf 0x10 0x1 ) = 0xff 0x81 0x84 0x15 0x21 0x82 0x2 0x81 0x6 0x8b 0xf3 0x58 0xaf 0xf 0xd0 0x33 
+paddw(0xffff 0x8000 0x7fff 0x0 0x1 0x2 0x3 0x8001 , 0x8000 0x7fff 0xffff 0xffff 0x50 0x9000 0xfffe 0x8001 ) = 0x7fff 0xffff 0x7ffe 0xffff 0x51 0x9002 0x1 0x2 
+paddd(0xffffffff 0x80000000 0x7fffffff 0x0 , 0x1 0x80000000 0x5 0xfffffffe ) = 0x0 0x0 0x80000004 0xfffffffe 
+pmovhlps(1 2 3 -4 , 0 -2 -10 0.5 ) = -10 0.5 3 -4 
+unpcklps(1 2 3 -4 , 0 -2 -10 0.5 ) = 1 0 2 -2 
+unpckhps(1 2 3 -4 , 0 -2 -10 0.5 ) = 3 -10 -4 0.5 
+pmovhps(1 2 3 -4 , 0 -2 -10 0.5 ) = 1 2 0 -2 
+psqrtps(1 2 3 -4 ) = 1 1.41421 1.73205 -nan 
+psqrtps(0 -2 -10 0.5 ) = 0 -nan -nan 0.707107 
+psqrtps(inf -inf -inf 1 ) = inf -nan -nan 1 
+psqrtps(nan -0 -nan inf ) = nan -0 -nan inf 
+prcpps(nan -0 -nan inf ) = nan -inf -nan 0 
+andps(1 2 3 -4 , 0 -2 -10 0.5 ) = 0 2 2 0 
+andps(0 -2 -10 0.5 , inf -inf -inf 1 ) = 0 -2 -8 0.5 
+andps(1 2 3 -4 , nan -0 -nan inf ) = 1 0 3 4 
+andps(0 -2 -10 0.5 , nan -0 -nan inf ) = 0 -0 -8 0.5 
+andps(inf -inf -inf 1 , nan -0 -nan inf ) = inf -0 -inf 1 
+andps(nan -0 -nan inf , nan -0 -nan inf ) = nan -0 -nan inf 
+andnps(1 2 3 -4 , 0 -2 -10 0.5 ) = 0 -0 -2.93874e-38 0.5 
+andnps(0 -2 -10 0.5 , inf -inf -inf 1 ) = inf 1 0.25 1.17549e-38 
+andnps(1 2 3 -4 , nan -0 -nan inf ) = 3 -0 -1 0.5 
+andnps(0 -2 -10 0.5 , nan -0 -nan inf ) = nan 0 0.375 4 
+andnps(inf -inf -inf 1 , nan -0 -nan inf ) = 5.87747e-39 0 5.87747e-39 2 
+andnps(nan -0 -nan inf , nan -0 -nan inf ) = 0 0 0 0 
+orps(1 2 3 -4 , 0 -2 -10 0.5 ) = 1 -2 -14 -inf 
+orps(0 -2 -10 0.5 , inf -inf -inf 1 ) = inf -inf -nan 1 
+orps(1 2 3 -4 , nan -0 -nan inf ) = nan -2 -nan -inf 
+orps(0 -2 -10 0.5 , nan -0 -nan inf ) = nan -2 -nan inf 
+orps(inf -inf -inf 1 , nan -0 -nan inf ) = nan -inf -nan inf 
+orps(nan -0 -nan inf , nan -0 -nan inf ) = nan -0 -nan inf 
+xorps(1 2 3 -4 , 0 -2 -10 0.5 ) = 1 -0 -4.11423e-38 -inf 
+xorps(0 -2 -10 0.5 , inf -inf -inf 1 ) = inf 1 0.3125 1.17549e-38 
+xorps(1 2 3 -4 , nan -0 -nan inf ) = 3 -2 -1 -0.5 
+xorps(0 -2 -10 0.5 , nan -0 -nan inf ) = nan 2 0.4375 4 
+xorps(inf -inf -inf 1 , nan -0 -nan inf ) = 5.87747e-39 inf 5.87747e-39 2 
+xorps(nan -0 -nan inf , nan -0 -nan inf ) = 0 0 0 0 
+addps(1 2 3 -4 , 0 -2 -10 0.5 ) = 1 0 -7 -3.5 
+addps(0 -2 -10 0.5 , inf -inf -inf 1 ) = inf -inf -inf 1.5 
+addps(1 2 3 -4 , nan -0 -nan inf ) = nan 2 -nan inf 
+addps(0 -2 -10 0.5 , nan -0 -nan inf ) = nan -2 -nan inf 
+addps(inf -inf -inf 1 , nan -0 -nan inf ) = nan -inf -nan inf 
+addps(nan -0 -nan inf , nan -0 -nan inf ) = nan -0 -nan inf 
+mulps(1 2 3 -4 , 0 -2 -10 0.5 ) = 0 -4 -30 -2 
+mulps(0 -2 -10 0.5 , inf -inf -inf 1 ) = -nan inf inf 0.5 
+mulps(1 2 3 -4 , nan -0 -nan inf ) = nan -0 -nan -inf 
+mulps(0 -2 -10 0.5 , nan -0 -nan inf ) = nan 0 -nan inf 
+mulps(inf -inf -inf 1 , nan -0 -nan inf ) = nan -nan -nan inf 
+mulps(nan -0 -nan inf , nan -0 -nan inf ) = nan 0 -nan inf 
+subps(1 2 3 -4 , 0 -2 -10 0.5 ) = 1 4 13 -4.5 
+subps(0 -2 -10 0.5 , inf -inf -inf 1 ) = -inf inf inf -0.5 
+subps(1 2 3 -4 , nan -0 -nan inf ) = nan 2 -nan -inf 
+subps(0 -2 -10 0.5 , nan -0 -nan inf ) = nan -2 -nan -inf 
+subps(inf -inf -inf 1 , nan -0 -nan inf ) = nan -inf -nan -inf 
+subps(nan -0 -nan inf , nan -0 -nan inf ) = nan 0 -nan -nan 
+minps(1 2 3 -4 , 0 -2 -10 0.5 ) = 0 -2 -10 -4 
+minps(0 -2 -10 0.5 , inf -inf -inf 1 ) = 0 -inf -inf 0.5 
+minps(1 2 3 -4 , nan -0 -nan inf ) = nan -0 -nan -4 
+minps(0 -2 -10 0.5 , nan -0 -nan inf ) = nan -2 -nan 0.5 
+minps(inf -inf -inf 1 , nan -0 -nan inf ) = nan -inf -nan 1 
+minps(nan -0 -nan inf , nan -0 -nan inf ) = nan -0 -nan inf 
+divps(1 2 3 -4 , 0 -2 -10 0.5 ) = inf -1 -0.3 -8 
+divps(0 -2 -10 0.5 , inf -inf -inf 1 ) = 0 0 0 0.5 
+divps(1 2 3 -4 , nan -0 -nan inf ) = nan -inf -nan -0 
+divps(0 -2 -10 0.5 , nan -0 -nan inf ) = nan inf -nan 0 
+divps(inf -inf -inf 1 , nan -0 -nan inf ) = nan inf -nan 0 
+divps(nan -0 -nan inf , nan -0 -nan inf ) = nan -nan -nan -nan 
+maxps(1 2 3 -4 , 0 -2 -10 0.5 ) = 1 2 3 0.5 
+maxps(0 -2 -10 0.5 , inf -inf -inf 1 ) = inf -2 -10 1 
+maxps(1 2 3 -4 , nan -0 -nan inf ) = nan 2 -nan inf 
+maxps(0 -2 -10 0.5 , nan -0 -nan inf ) = nan -0 -nan inf 
+maxps(inf -inf -inf 1 , nan -0 -nan inf ) = nan -0 -nan inf 
+maxps(nan -0 -nan inf , nan -0 -nan inf ) = nan -0 -nan inf 
+shufps(1 2 3 -4 , 0 -2 -10 0.5 , 0) = 1 1 0 0 
+shufps(0 -2 -10 0.5 , inf -inf -inf 1 , 0) = 0 0 inf inf 
+shufps(1 2 3 -4 , nan -0 -nan inf , 0) = 1 1 nan nan 
+shufps(0 -2 -10 0.5 , nan -0 -nan inf , 0) = 0 0 nan nan 
+shufps(inf -inf -inf 1 , nan -0 -nan inf , 0) = inf inf nan nan 
+shufps(nan -0 -nan inf , nan -0 -nan inf , 0) = nan nan nan nan 
+shufps(1 2 3 -4 , 0 -2 -10 0.5 , 21) = 2 2 -2 0 
+shufps(0 -2 -10 0.5 , inf -inf -inf 1 , 21) = -2 -2 -inf inf 
+shufps(1 2 3 -4 , nan -0 -nan inf , 21) = 2 2 -0 nan 
+shufps(0 -2 -10 0.5 , nan -0 -nan inf , 21) = -2 -2 -0 nan 
+shufps(inf -inf -inf 1 , nan -0 -nan inf , 21) = -inf -inf -0 nan 
+shufps(nan -0 -nan inf , nan -0 -nan inf , 21) = -0 -0 -0 nan 
+shufps(1 2 3 -4 , 0 -2 -10 0.5 , 255) = -4 -4 0.5 0.5 
+shufps(0 -2 -10 0.5 , inf -inf -inf 1 , 255) = 0.5 0.5 1 1 
+shufps(1 2 3 -4 , nan -0 -nan inf , 255) = -4 -4 inf inf 
+shufps(0 -2 -10 0.5 , nan -0 -nan inf , 255) = 0.5 0.5 inf inf 
+shufps(inf -inf -inf 1 , nan -0 -nan inf , 255) = 1 1 inf inf 
+shufps(nan -0 -nan inf , nan -0 -nan inf , 255) = inf inf inf inf 
+shufps(1 2 3 -4 , 0 -2 -10 0.5 , 2) = 3 1 0 0 
+shufps(0 -2 -10 0.5 , inf -inf -inf 1 , 2) = -10 0 inf inf 
+shufps(1 2 3 -4 , nan -0 -nan inf , 2) = 3 1 nan nan 
+shufps(0 -2 -10 0.5 , nan -0 -nan inf , 2) = -10 0 nan nan 
+shufps(inf -inf -inf 1 , nan -0 -nan inf , 2) = -inf inf nan nan 
+shufps(nan -0 -nan inf , nan -0 -nan inf , 2) = -nan nan nan nan 
+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 ) = 0x7ff8000000000000 2 
+subsd(0 -2 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -2 
+subsd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 -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 
+cvtps2pd(1 2 3 -4 ) = 0x1 0x2 0x3 0xfffffffc 
+cvtps2pd(0 -2 -10 0.5 ) = 0x0 0xfffffffe 0xfffffff6 0x0 
+cvtps2pd(inf -inf -inf 1 ) = 0x80000000 0x80000000 0x80000000 0x1 
+cvtps2pd(nan -0 -nan inf ) = 0x80000000 0x0 0x80000000 0x80000000 
+dpps(1 2 3 -4 , 0 -2 -10 0.5 , 255) = -36 -36 -36 -36 
+dpps(0 -2 -10 0.5 , inf -inf -inf 1 , 255) = -nan -nan -nan -nan 
+dpps(1 2 3 -4 , nan -0 -nan inf , 255) = nan nan -nan -nan 
+dpps(0 -2 -10 0.5 , nan -0 -nan inf , 255) = nan nan -nan -nan 
+dpps(inf -inf -inf 1 , nan -0 -nan inf , 255) = -nan nan -nan -nan 
+dpps(nan -0 -nan inf , nan -0 -nan inf , 255) = nan nan -nan -nan 
+dpps(1 2 3 -4 , 0 -2 -10 0.5 , 63) = -4 -4 -4 -4 
+dpps(0 -2 -10 0.5 , inf -inf -inf 1 , 63) = -nan -nan -nan -nan 
+dpps(1 2 3 -4 , nan -0 -nan inf , 63) = nan nan nan nan 
+dpps(0 -2 -10 0.5 , nan -0 -nan inf , 63) = nan nan nan nan 
+dpps(inf -inf -inf 1 , nan -0 -nan inf , 63) = -nan nan -nan nan 
+dpps(nan -0 -nan inf , nan -0 -nan inf , 63) = nan nan nan nan 
+dpps(1 2 3 -4 , 0 -2 -10 0.5 , 243) = -36 -36 0 0 
+dpps(0 -2 -10 0.5 , inf -inf -inf 1 , 243) = -nan -nan 0 0 
+dpps(1 2 3 -4 , nan -0 -nan inf , 243) = nan nan 0 0 
+dpps(0 -2 -10 0.5 , nan -0 -nan inf , 243) = nan nan 0 0 
+dpps(inf -inf -inf 1 , nan -0 -nan inf , 243) = -nan nan 0 0 
+dpps(nan -0 -nan inf , nan -0 -nan inf , 243) = nan nan 0 0 
+dpps(1 2 3 -4 , 0 -2 -10 0.5 , 83) = -30 -30 0 0 
+dpps(0 -2 -10 0.5 , inf -inf -inf 1 , 83) = -nan -nan 0 0 
+dpps(1 2 3 -4 , nan -0 -nan inf , 83) = nan nan 0 0 
+dpps(0 -2 -10 0.5 , nan -0 -nan inf , 83) = nan nan 0 0 
+dpps(inf -inf -inf 1 , nan -0 -nan inf , 83) = nan nan 0 0 
+dpps(nan -0 -nan inf , nan -0 -nan inf , 83) = nan nan 0 0 
diff --git a/tests/ref22_android.txt b/tests/ref22_android.txt
new file mode 100644
index 00000000..50c6d0c7
--- /dev/null
+++ b/tests/ref22_android.txt
@@ -0,0 +1,1224 @@
+FUCOMI 0x0 0x4082c00000000000 --C
+FUCOMPP 0x0 0x4082c00000000000 --C
+Rounding 0
+ FRNDINT 0x0 => 0x0
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FISTP 0x0 => word: 0
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x0 => long: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x0 => quad: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x0 => word: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x0 => long: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x0 => quad: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+Rounding 1
+ FRNDINT 0x0 => 0x0
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FISTP 0x0 => word: 0
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x0 => long: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x0 => quad: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x0 => word: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x0 => long: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x0 => quad: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+Rounding 2
+ FRNDINT 0x0 => 0x0
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FISTP 0x0 => word: 0
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x0 => long: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x0 => quad: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x0 => word: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x0 => long: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x0 => quad: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+FUCOMI 0x4082c00000000000 0x0 ---
+FUCOMPP 0x4082c00000000000 0x0 ---
+Rounding 0
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FRNDINT 0x0 => 0x0
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x0 => word: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x0 => long: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTP 0x0 => quad: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x0 => word: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x0 => long: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x0 => quad: 0
+Rounding 1
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FRNDINT 0x0 => 0x0
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x0 => word: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x0 => long: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTP 0x0 => quad: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x0 => word: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x0 => long: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x0 => quad: 0
+Rounding 2
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FRNDINT 0x0 => 0x0
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x0 => word: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x0 => long: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTP 0x0 => quad: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x0 => word: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x0 => long: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x0 => quad: 0
+FUCOMI 0x8000000000000000 0x4082c00000000000 --C
+FUCOMPP 0x8000000000000000 0x4082c00000000000 --C
+Rounding 0
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x8000000000000000 => quad: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x8000000000000000 => quad: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+Rounding 1
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x8000000000000000 => quad: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x8000000000000000 => quad: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+Rounding 2
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x8000000000000000 => quad: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x8000000000000000 => quad: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+FUCOMI 0x4082c00000000000 0x8000000000000000 ---
+FUCOMPP 0x4082c00000000000 0x8000000000000000 ---
+Rounding 0
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTP 0x8000000000000000 => quad: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x8000000000000000 => quad: 0
+Rounding 1
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTP 0x8000000000000000 => quad: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x8000000000000000 => quad: 0
+Rounding 2
+ FRNDINT 0x4082c00000000000 => 0x4082c00000000000
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FISTP 0x4082c00000000000 => word: 258
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x4082c00000000000 => long: 258
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x4082c00000000000 => quad: 258
+ FISTP 0x8000000000000000 => quad: 0
+ FISTTP 0x4082c00000000000 => word: 258
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x4082c00000000000 => long: 258
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x4082c00000000000 => quad: 258
+ FISTTP 0x8000000000000000 => quad: 0
+FUCOMI 0x8000000000000000 0x0 Z--
+FUCOMPP 0x8000000000000000 0x0 Z--
+Rounding 0
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FRNDINT 0x0 => 0x0
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x0 => word: 0
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x0 => long: 0
+ FISTP 0x8000000000000000 => quad: 0
+ FISTP 0x0 => quad: 0
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x0 => word: 0
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x0 => long: 0
+ FISTTP 0x8000000000000000 => quad: 0
+ FISTTP 0x0 => quad: 0
+Rounding 1
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FRNDINT 0x0 => 0x0
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x0 => word: 0
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x0 => long: 0
+ FISTP 0x8000000000000000 => quad: 0
+ FISTP 0x0 => quad: 0
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x0 => word: 0
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x0 => long: 0
+ FISTTP 0x8000000000000000 => quad: 0
+ FISTTP 0x0 => quad: 0
+Rounding 2
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FRNDINT 0x0 => 0x0
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x0 => word: 0
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x0 => long: 0
+ FISTP 0x8000000000000000 => quad: 0
+ FISTP 0x0 => quad: 0
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x0 => word: 0
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x0 => long: 0
+ FISTTP 0x8000000000000000 => quad: 0
+ FISTTP 0x0 => quad: 0
+FUCOMI 0x0 0x8000000000000000 Z--
+FUCOMPP 0x0 0x8000000000000000 Z--
+Rounding 0
+ FRNDINT 0x0 => 0x0
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FISTP 0x0 => word: 0
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x0 => long: 0
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x0 => quad: 0
+ FISTP 0x8000000000000000 => quad: 0
+ FISTTP 0x0 => word: 0
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x0 => long: 0
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x0 => quad: 0
+ FISTTP 0x8000000000000000 => quad: 0
+Rounding 1
+ FRNDINT 0x0 => 0x0
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FISTP 0x0 => word: 0
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x0 => long: 0
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x0 => quad: 0
+ FISTP 0x8000000000000000 => quad: 0
+ FISTTP 0x0 => word: 0
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x0 => long: 0
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x0 => quad: 0
+ FISTTP 0x8000000000000000 => quad: 0
+Rounding 2
+ FRNDINT 0x0 => 0x0
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FISTP 0x0 => word: 0
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x0 => long: 0
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x0 => quad: 0
+ FISTP 0x8000000000000000 => quad: 0
+ FISTTP 0x0 => word: 0
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x0 => long: 0
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x0 => quad: 0
+ FISTTP 0x8000000000000000 => quad: 0
+FUCOMI 0x40dfffc000000000 0x40e0002000000000 --C
+FUCOMPP 0x40dfffc000000000 0x40e0002000000000 --C
+Rounding 0
+ FRNDINT 0x40dfffc000000000 => 0x40dfffc000000000
+ FRNDINT 0x40e0002000000000 => 0x40e0002000000000
+ FISTP 0x40dfffc000000000 => word: 7fff
+ FISTP 0x40e0002000000000 => word: 8001
+ FISTP 0x40dfffc000000000 => long: 7fff
+ FISTP 0x40e0002000000000 => long: 8001
+ FISTP 0x40dfffc000000000 => quad: 7fff
+ FISTP 0x40e0002000000000 => quad: 8001
+ FISTTP 0x40dfffc000000000 => word: 7fff
+ FISTTP 0x40e0002000000000 => word: 8001
+ FISTTP 0x40dfffc000000000 => long: 7fff
+ FISTTP 0x40e0002000000000 => long: 8001
+ FISTTP 0x40dfffc000000000 => quad: 7fff
+ FISTTP 0x40e0002000000000 => quad: 8001
+Rounding 1
+ FRNDINT 0x40dfffc000000000 => 0x40dfffc000000000
+ FRNDINT 0x40e0002000000000 => 0x40e0002000000000
+ FISTP 0x40dfffc000000000 => word: 7fff
+ FISTP 0x40e0002000000000 => word: 8001
+ FISTP 0x40dfffc000000000 => long: 7fff
+ FISTP 0x40e0002000000000 => long: 8001
+ FISTP 0x40dfffc000000000 => quad: 7fff
+ FISTP 0x40e0002000000000 => quad: 8001
+ FISTTP 0x40dfffc000000000 => word: 7fff
+ FISTTP 0x40e0002000000000 => word: 8001
+ FISTTP 0x40dfffc000000000 => long: 7fff
+ FISTTP 0x40e0002000000000 => long: 8001
+ FISTTP 0x40dfffc000000000 => quad: 7fff
+ FISTTP 0x40e0002000000000 => quad: 8001
+Rounding 2
+ FRNDINT 0x40dfffc000000000 => 0x40dfffc000000000
+ FRNDINT 0x40e0002000000000 => 0x40e0002000000000
+ FISTP 0x40dfffc000000000 => word: 7fff
+ FISTP 0x40e0002000000000 => word: 8001
+ FISTP 0x40dfffc000000000 => long: 7fff
+ FISTP 0x40e0002000000000 => long: 8001
+ FISTP 0x40dfffc000000000 => quad: 7fff
+ FISTP 0x40e0002000000000 => quad: 8001
+ FISTTP 0x40dfffc000000000 => word: 7fff
+ FISTTP 0x40e0002000000000 => word: 8001
+ FISTTP 0x40dfffc000000000 => long: 7fff
+ FISTTP 0x40e0002000000000 => long: 8001
+ FISTTP 0x40dfffc000000000 => quad: 7fff
+ FISTTP 0x40e0002000000000 => quad: 8001
+FUCOMI 0x40e0002000000000 0x40dfffc000000000 ---
+FUCOMPP 0x40e0002000000000 0x40dfffc000000000 ---
+Rounding 0
+ FRNDINT 0x40e0002000000000 => 0x40e0002000000000
+ FRNDINT 0x40dfffc000000000 => 0x40dfffc000000000
+ FISTP 0x40e0002000000000 => word: 8001
+ FISTP 0x40dfffc000000000 => word: 7fff
+ FISTP 0x40e0002000000000 => long: 8001
+ FISTP 0x40dfffc000000000 => long: 7fff
+ FISTP 0x40e0002000000000 => quad: 8001
+ FISTP 0x40dfffc000000000 => quad: 7fff
+ FISTTP 0x40e0002000000000 => word: 8001
+ FISTTP 0x40dfffc000000000 => word: 7fff
+ FISTTP 0x40e0002000000000 => long: 8001
+ FISTTP 0x40dfffc000000000 => long: 7fff
+ FISTTP 0x40e0002000000000 => quad: 8001
+ FISTTP 0x40dfffc000000000 => quad: 7fff
+Rounding 1
+ FRNDINT 0x40e0002000000000 => 0x40e0002000000000
+ FRNDINT 0x40dfffc000000000 => 0x40dfffc000000000
+ FISTP 0x40e0002000000000 => word: 8001
+ FISTP 0x40dfffc000000000 => word: 7fff
+ FISTP 0x40e0002000000000 => long: 8001
+ FISTP 0x40dfffc000000000 => long: 7fff
+ FISTP 0x40e0002000000000 => quad: 8001
+ FISTP 0x40dfffc000000000 => quad: 7fff
+ FISTTP 0x40e0002000000000 => word: 8001
+ FISTTP 0x40dfffc000000000 => word: 7fff
+ FISTTP 0x40e0002000000000 => long: 8001
+ FISTTP 0x40dfffc000000000 => long: 7fff
+ FISTTP 0x40e0002000000000 => quad: 8001
+ FISTTP 0x40dfffc000000000 => quad: 7fff
+Rounding 2
+ FRNDINT 0x40e0002000000000 => 0x40e0002000000000
+ FRNDINT 0x40dfffc000000000 => 0x40dfffc000000000
+ FISTP 0x40e0002000000000 => word: 8001
+ FISTP 0x40dfffc000000000 => word: 7fff
+ FISTP 0x40e0002000000000 => long: 8001
+ FISTP 0x40dfffc000000000 => long: 7fff
+ FISTP 0x40e0002000000000 => quad: 8001
+ FISTP 0x40dfffc000000000 => quad: 7fff
+ FISTTP 0x40e0002000000000 => word: 8001
+ FISTTP 0x40dfffc000000000 => word: 7fff
+ FISTTP 0x40e0002000000000 => long: 8001
+ FISTTP 0x40dfffc000000000 => long: 7fff
+ FISTTP 0x40e0002000000000 => quad: 8001
+ FISTTP 0x40dfffc000000000 => quad: 7fff
+FUCOMI 0xc0e0002000000000 0xc0dfffc000000000 --C
+FUCOMPP 0xc0e0002000000000 0xc0dfffc000000000 --C
+Rounding 0
+ FRNDINT 0xc0e0002000000000 => 0xc0e0002000000000
+ FRNDINT 0xc0dfffc000000000 => 0xc0dfffc000000000
+ FISTP 0xc0e0002000000000 => word: 7fff
+ FISTP 0xc0dfffc000000000 => word: 8001
+ FISTP 0xc0e0002000000000 => long: ffff7fff
+ FISTP 0xc0dfffc000000000 => long: ffff8001
+ FISTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+ FISTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+ FISTTP 0xc0e0002000000000 => word: 7fff
+ FISTTP 0xc0dfffc000000000 => word: 8001
+ FISTTP 0xc0e0002000000000 => long: ffff7fff
+ FISTTP 0xc0dfffc000000000 => long: ffff8001
+ FISTTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+ FISTTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+Rounding 1
+ FRNDINT 0xc0e0002000000000 => 0xc0e0002000000000
+ FRNDINT 0xc0dfffc000000000 => 0xc0dfffc000000000
+ FISTP 0xc0e0002000000000 => word: 7fff
+ FISTP 0xc0dfffc000000000 => word: 8001
+ FISTP 0xc0e0002000000000 => long: ffff7fff
+ FISTP 0xc0dfffc000000000 => long: ffff8001
+ FISTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+ FISTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+ FISTTP 0xc0e0002000000000 => word: 7fff
+ FISTTP 0xc0dfffc000000000 => word: 8001
+ FISTTP 0xc0e0002000000000 => long: ffff7fff
+ FISTTP 0xc0dfffc000000000 => long: ffff8001
+ FISTTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+ FISTTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+Rounding 2
+ FRNDINT 0xc0e0002000000000 => 0xc0e0002000000000
+ FRNDINT 0xc0dfffc000000000 => 0xc0dfffc000000000
+ FISTP 0xc0e0002000000000 => word: 7fff
+ FISTP 0xc0dfffc000000000 => word: 8001
+ FISTP 0xc0e0002000000000 => long: ffff7fff
+ FISTP 0xc0dfffc000000000 => long: ffff8001
+ FISTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+ FISTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+ FISTTP 0xc0e0002000000000 => word: 7fff
+ FISTTP 0xc0dfffc000000000 => word: 8001
+ FISTTP 0xc0e0002000000000 => long: ffff7fff
+ FISTTP 0xc0dfffc000000000 => long: ffff8001
+ FISTTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+ FISTTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+FUCOMI 0xc0dfffc000000000 0xc0e0002000000000 ---
+FUCOMPP 0xc0dfffc000000000 0xc0e0002000000000 ---
+Rounding 0
+ FRNDINT 0xc0dfffc000000000 => 0xc0dfffc000000000
+ FRNDINT 0xc0e0002000000000 => 0xc0e0002000000000
+ FISTP 0xc0dfffc000000000 => word: 8001
+ FISTP 0xc0e0002000000000 => word: 7fff
+ FISTP 0xc0dfffc000000000 => long: ffff8001
+ FISTP 0xc0e0002000000000 => long: ffff7fff
+ FISTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+ FISTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+ FISTTP 0xc0dfffc000000000 => word: 8001
+ FISTTP 0xc0e0002000000000 => word: 7fff
+ FISTTP 0xc0dfffc000000000 => long: ffff8001
+ FISTTP 0xc0e0002000000000 => long: ffff7fff
+ FISTTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+ FISTTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+Rounding 1
+ FRNDINT 0xc0dfffc000000000 => 0xc0dfffc000000000
+ FRNDINT 0xc0e0002000000000 => 0xc0e0002000000000
+ FISTP 0xc0dfffc000000000 => word: 8001
+ FISTP 0xc0e0002000000000 => word: 7fff
+ FISTP 0xc0dfffc000000000 => long: ffff8001
+ FISTP 0xc0e0002000000000 => long: ffff7fff
+ FISTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+ FISTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+ FISTTP 0xc0dfffc000000000 => word: 8001
+ FISTTP 0xc0e0002000000000 => word: 7fff
+ FISTTP 0xc0dfffc000000000 => long: ffff8001
+ FISTTP 0xc0e0002000000000 => long: ffff7fff
+ FISTTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+ FISTTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+Rounding 2
+ FRNDINT 0xc0dfffc000000000 => 0xc0dfffc000000000
+ FRNDINT 0xc0e0002000000000 => 0xc0e0002000000000
+ FISTP 0xc0dfffc000000000 => word: 8001
+ FISTP 0xc0e0002000000000 => word: 7fff
+ FISTP 0xc0dfffc000000000 => long: ffff8001
+ FISTP 0xc0e0002000000000 => long: ffff7fff
+ FISTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+ FISTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+ FISTTP 0xc0dfffc000000000 => word: 8001
+ FISTTP 0xc0e0002000000000 => word: 7fff
+ FISTTP 0xc0dfffc000000000 => long: ffff8001
+ FISTTP 0xc0e0002000000000 => long: ffff7fff
+ FISTTP 0xc0dfffc000000000 => quad: ffffffffffff8001
+ FISTTP 0xc0e0002000000000 => quad: ffffffffffff7fff
+FUCOMI 0x8000000000000000 0x3ff0000000000000 --C
+FUCOMPP 0x8000000000000000 0x3ff0000000000000 --C
+Rounding 0
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x8000000000000000 => quad: 0
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x8000000000000000 => quad: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+Rounding 1
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x8000000000000000 => quad: 0
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x8000000000000000 => quad: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+Rounding 2
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x8000000000000000 => quad: 0
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x8000000000000000 => quad: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+FUCOMI 0x3ff0000000000000 0x8000000000000000 ---
+FUCOMPP 0x3ff0000000000000 0x8000000000000000 ---
+Rounding 0
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTP 0x8000000000000000 => quad: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x8000000000000000 => quad: 0
+Rounding 1
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTP 0x8000000000000000 => quad: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x8000000000000000 => quad: 0
+Rounding 2
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FRNDINT 0x8000000000000000 => 0x8000000000000000
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x8000000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x8000000000000000 => long: 0
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTP 0x8000000000000000 => quad: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x8000000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x8000000000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x8000000000000000 => quad: 0
+FUCOMI 0x3ff0000000000000 0x3fe89d9000000000 ---
+FUCOMPP 0x3ff0000000000000 0x3fe89d9000000000 ---
+Rounding 0
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FRNDINT 0x3fe89d9000000000 => 0x3ff0000000000000
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x3fe89d9000000000 => word: 1
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x3fe89d9000000000 => long: 1
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTP 0x3fe89d9000000000 => quad: 1
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x3fe89d9000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x3fe89d9000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x3fe89d9000000000 => quad: 0
+Rounding 1
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FRNDINT 0x3fe89d9000000000 => 0x0
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x3fe89d9000000000 => word: 0
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x3fe89d9000000000 => long: 0
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTP 0x3fe89d9000000000 => quad: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x3fe89d9000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x3fe89d9000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x3fe89d9000000000 => quad: 0
+Rounding 2
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FRNDINT 0x3fe89d9000000000 => 0x3ff0000000000000
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x3fe89d9000000000 => word: 1
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x3fe89d9000000000 => long: 1
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTP 0x3fe89d9000000000 => quad: 1
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x3fe89d9000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x3fe89d9000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x3fe89d9000000000 => quad: 0
+FUCOMI 0x3fe89d9000000000 0x3ff0000000000000 --C
+FUCOMPP 0x3fe89d9000000000 0x3ff0000000000000 --C
+Rounding 0
+ FRNDINT 0x3fe89d9000000000 => 0x3ff0000000000000
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FISTP 0x3fe89d9000000000 => word: 1
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x3fe89d9000000000 => long: 1
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x3fe89d9000000000 => quad: 1
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x3fe89d9000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x3fe89d9000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x3fe89d9000000000 => quad: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+Rounding 1
+ FRNDINT 0x3fe89d9000000000 => 0x0
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FISTP 0x3fe89d9000000000 => word: 0
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x3fe89d9000000000 => long: 0
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x3fe89d9000000000 => quad: 0
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x3fe89d9000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x3fe89d9000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x3fe89d9000000000 => quad: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+Rounding 2
+ FRNDINT 0x3fe89d9000000000 => 0x3ff0000000000000
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FISTP 0x3fe89d9000000000 => word: 1
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x3fe89d9000000000 => long: 1
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x3fe89d9000000000 => quad: 1
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x3fe89d9000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x3fe89d9000000000 => long: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x3fe89d9000000000 => quad: 0
+ FISTTP 0x3ff0000000000000 => quad: 1
+FUCOMI 0x3ff0000000000000 0x7ff0000000000000 --C
+FUCOMPP 0x3ff0000000000000 0x7ff0000000000000 --C
+Rounding 0
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+Rounding 1
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+Rounding 2
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+FUCOMI 0x7ff0000000000000 0x3ff0000000000000 ---
+FUCOMPP 0x7ff0000000000000 0x3ff0000000000000 ---
+Rounding 0
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0x3ff0000000000000 => quad: 1
+Rounding 1
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0x3ff0000000000000 => quad: 1
+Rounding 2
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FRNDINT 0x3ff0000000000000 => 0x3ff0000000000000
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0x3ff0000000000000 => word: 1
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0x3ff0000000000000 => long: 1
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTP 0x3ff0000000000000 => quad: 1
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0x3ff0000000000000 => word: 1
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0x3ff0000000000000 => long: 1
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0x3ff0000000000000 => quad: 1
+FUCOMI 0xfff0000000000000 0x7ff0000000000000 --C
+FUCOMPP 0xfff0000000000000 0x7ff0000000000000 --C
+Rounding 0
+ FRNDINT 0xfff0000000000000 => 0xfff0000000000000
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FISTP 0xfff0000000000000 => word: 0
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0xfff0000000000000 => long: 80000000
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0xfff0000000000000 => quad: 8000000000000000
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0xfff0000000000000 => word: 0
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0xfff0000000000000 => long: 80000000
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0xfff0000000000000 => quad: 8000000000000000
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+Rounding 1
+ FRNDINT 0xfff0000000000000 => 0xfff0000000000000
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FISTP 0xfff0000000000000 => word: 0
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0xfff0000000000000 => long: 80000000
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0xfff0000000000000 => quad: 8000000000000000
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0xfff0000000000000 => word: 0
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0xfff0000000000000 => long: 80000000
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0xfff0000000000000 => quad: 8000000000000000
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+Rounding 2
+ FRNDINT 0xfff0000000000000 => 0xfff0000000000000
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FISTP 0xfff0000000000000 => word: 0
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0xfff0000000000000 => long: 80000000
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0xfff0000000000000 => quad: 8000000000000000
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0xfff0000000000000 => word: 0
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0xfff0000000000000 => long: 80000000
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0xfff0000000000000 => quad: 8000000000000000
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+FUCOMI 0x7ff0000000000000 0xfff0000000000000 ---
+FUCOMPP 0x7ff0000000000000 0xfff0000000000000 ---
+Rounding 0
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FRNDINT 0xfff0000000000000 => 0xfff0000000000000
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0xfff0000000000000 => word: 0
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0xfff0000000000000 => long: 80000000
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTP 0xfff0000000000000 => quad: 8000000000000000
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0xfff0000000000000 => word: 0
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0xfff0000000000000 => long: 80000000
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0xfff0000000000000 => quad: 8000000000000000
+Rounding 1
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FRNDINT 0xfff0000000000000 => 0xfff0000000000000
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0xfff0000000000000 => word: 0
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0xfff0000000000000 => long: 80000000
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTP 0xfff0000000000000 => quad: 8000000000000000
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0xfff0000000000000 => word: 0
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0xfff0000000000000 => long: 80000000
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0xfff0000000000000 => quad: 8000000000000000
+Rounding 2
+ FRNDINT 0x7ff0000000000000 => 0x7ff0000000000000
+ FRNDINT 0xfff0000000000000 => 0xfff0000000000000
+ FISTP 0x7ff0000000000000 => word: 0
+ FISTP 0xfff0000000000000 => word: 0
+ FISTP 0x7ff0000000000000 => long: 80000000
+ FISTP 0xfff0000000000000 => long: 80000000
+ FISTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTP 0xfff0000000000000 => quad: 8000000000000000
+ FISTTP 0x7ff0000000000000 => word: 0
+ FISTTP 0xfff0000000000000 => word: 0
+ FISTTP 0x7ff0000000000000 => long: 80000000
+ FISTTP 0xfff0000000000000 => long: 80000000
+ FISTTP 0x7ff0000000000000 => quad: 8000000000000000
+ FISTTP 0xfff0000000000000 => quad: 8000000000000000
+FUCOMI 0x3ff0002ca0000000 0xaeff000025000000 ---
+FUCOMPP 0x3ff0002ca0000000 0xaeff000025000000 ---
+Rounding 0
+ FRNDINT 0x3ff0002ca0000000 => 0x3ff0000000000000
+ FRNDINT 0xaeff000025000000 => 0x8000000000000000
+ FISTP 0x3ff0002ca0000000 => word: 1
+ FISTP 0xaeff000025000000 => word: 0
+ FISTP 0x3ff0002ca0000000 => long: 1
+ FISTP 0xaeff000025000000 => long: 0
+ FISTP 0x3ff0002ca0000000 => quad: 1
+ FISTP 0xaeff000025000000 => quad: 0
+ FISTTP 0x3ff0002ca0000000 => word: 1
+ FISTTP 0xaeff000025000000 => word: 0
+ FISTTP 0x3ff0002ca0000000 => long: 1
+ FISTTP 0xaeff000025000000 => long: 0
+ FISTTP 0x3ff0002ca0000000 => quad: 1
+ FISTTP 0xaeff000025000000 => quad: 0
+Rounding 1
+ FRNDINT 0x3ff0002ca0000000 => 0x3ff0000000000000
+ FRNDINT 0xaeff000025000000 => 0xbff0000000000000
+ FISTP 0x3ff0002ca0000000 => word: 1
+ FISTP 0xaeff000025000000 => word: ffff
+ FISTP 0x3ff0002ca0000000 => long: 1
+ FISTP 0xaeff000025000000 => long: ffffffff
+ FISTP 0x3ff0002ca0000000 => quad: 1
+ FISTP 0xaeff000025000000 => quad: ffffffffffffffff
+ FISTTP 0x3ff0002ca0000000 => word: 1
+ FISTTP 0xaeff000025000000 => word: 0
+ FISTTP 0x3ff0002ca0000000 => long: 1
+ FISTTP 0xaeff000025000000 => long: 0
+ FISTTP 0x3ff0002ca0000000 => quad: 1
+ FISTTP 0xaeff000025000000 => quad: 0
+Rounding 2
+ FRNDINT 0x3ff0002ca0000000 => 0x4000000000000000
+ FRNDINT 0xaeff000025000000 => 0x8000000000000000
+ FISTP 0x3ff0002ca0000000 => word: 2
+ FISTP 0xaeff000025000000 => word: 0
+ FISTP 0x3ff0002ca0000000 => long: 2
+ FISTP 0xaeff000025000000 => long: 0
+ FISTP 0x3ff0002ca0000000 => quad: 2
+ FISTP 0xaeff000025000000 => quad: 0
+ FISTTP 0x3ff0002ca0000000 => word: 1
+ FISTTP 0xaeff000025000000 => word: 0
+ FISTTP 0x3ff0002ca0000000 => long: 1
+ FISTTP 0xaeff000025000000 => long: 0
+ FISTTP 0x3ff0002ca0000000 => quad: 1
+ FISTTP 0xaeff000025000000 => quad: 0
+FUCOMI 0xaeff000025000000 0x3ff0002ca0000000 --C
+FUCOMPP 0xaeff000025000000 0x3ff0002ca0000000 --C
+Rounding 0
+ FRNDINT 0xaeff000025000000 => 0x8000000000000000
+ FRNDINT 0x3ff0002ca0000000 => 0x3ff0000000000000
+ FISTP 0xaeff000025000000 => word: 0
+ FISTP 0x3ff0002ca0000000 => word: 1
+ FISTP 0xaeff000025000000 => long: 0
+ FISTP 0x3ff0002ca0000000 => long: 1
+ FISTP 0xaeff000025000000 => quad: 0
+ FISTP 0x3ff0002ca0000000 => quad: 1
+ FISTTP 0xaeff000025000000 => word: 0
+ FISTTP 0x3ff0002ca0000000 => word: 1
+ FISTTP 0xaeff000025000000 => long: 0
+ FISTTP 0x3ff0002ca0000000 => long: 1
+ FISTTP 0xaeff000025000000 => quad: 0
+ FISTTP 0x3ff0002ca0000000 => quad: 1
+Rounding 1
+ FRNDINT 0xaeff000025000000 => 0xbff0000000000000
+ FRNDINT 0x3ff0002ca0000000 => 0x3ff0000000000000
+ FISTP 0xaeff000025000000 => word: ffff
+ FISTP 0x3ff0002ca0000000 => word: 1
+ FISTP 0xaeff000025000000 => long: ffffffff
+ FISTP 0x3ff0002ca0000000 => long: 1
+ FISTP 0xaeff000025000000 => quad: ffffffffffffffff
+ FISTP 0x3ff0002ca0000000 => quad: 1
+ FISTTP 0xaeff000025000000 => word: 0
+ FISTTP 0x3ff0002ca0000000 => word: 1
+ FISTTP 0xaeff000025000000 => long: 0
+ FISTTP 0x3ff0002ca0000000 => long: 1
+ FISTTP 0xaeff000025000000 => quad: 0
+ FISTTP 0x3ff0002ca0000000 => quad: 1
+Rounding 2
+ FRNDINT 0xaeff000025000000 => 0x8000000000000000
+ FRNDINT 0x3ff0002ca0000000 => 0x4000000000000000
+ FISTP 0xaeff000025000000 => word: 0
+ FISTP 0x3ff0002ca0000000 => word: 2
+ FISTP 0xaeff000025000000 => long: 0
+ FISTP 0x3ff0002ca0000000 => long: 2
+ FISTP 0xaeff000025000000 => quad: 0
+ FISTP 0x3ff0002ca0000000 => quad: 2
+ FISTTP 0xaeff000025000000 => word: 0
+ FISTTP 0x3ff0002ca0000000 => word: 1
+ FISTTP 0xaeff000025000000 => long: 0
+ FISTTP 0x3ff0002ca0000000 => long: 1
+ FISTTP 0xaeff000025000000 => quad: 0
+ FISTTP 0x3ff0002ca0000000 => quad: 1
+FUCOMI 0x3ff0000050000000 0xc082c00000000000 ---
+FUCOMPP 0x3ff0000050000000 0xc082c00000000000 ---
+Rounding 0
+ FRNDINT 0x3ff0000050000000 => 0x3ff0000000000000
+ FRNDINT 0xc082c00000000000 => 0xc082c00000000000
+ FISTP 0x3ff0000050000000 => word: 1
+ FISTP 0xc082c00000000000 => word: fda8
+ FISTP 0x3ff0000050000000 => long: 1
+ FISTP 0xc082c00000000000 => long: fffffda8
+ FISTP 0x3ff0000050000000 => quad: 1
+ FISTP 0xc082c00000000000 => quad: fffffffffffffda8
+ FISTTP 0x3ff0000050000000 => word: 1
+ FISTTP 0xc082c00000000000 => word: fda8
+ FISTTP 0x3ff0000050000000 => long: 1
+ FISTTP 0xc082c00000000000 => long: fffffda8
+ FISTTP 0x3ff0000050000000 => quad: 1
+ FISTTP 0xc082c00000000000 => quad: fffffffffffffda8
+Rounding 1
+ FRNDINT 0x3ff0000050000000 => 0x3ff0000000000000
+ FRNDINT 0xc082c00000000000 => 0xc082c00000000000
+ FISTP 0x3ff0000050000000 => word: 1
+ FISTP 0xc082c00000000000 => word: fda8
+ FISTP 0x3ff0000050000000 => long: 1
+ FISTP 0xc082c00000000000 => long: fffffda8
+ FISTP 0x3ff0000050000000 => quad: 1
+ FISTP 0xc082c00000000000 => quad: fffffffffffffda8
+ FISTTP 0x3ff0000050000000 => word: 1
+ FISTTP 0xc082c00000000000 => word: fda8
+ FISTTP 0x3ff0000050000000 => long: 1
+ FISTTP 0xc082c00000000000 => long: fffffda8
+ FISTTP 0x3ff0000050000000 => quad: 1
+ FISTTP 0xc082c00000000000 => quad: fffffffffffffda8
+Rounding 2
+ FRNDINT 0x3ff0000050000000 => 0x4000000000000000
+ FRNDINT 0xc082c00000000000 => 0xc082c00000000000
+ FISTP 0x3ff0000050000000 => word: 2
+ FISTP 0xc082c00000000000 => word: fda8
+ FISTP 0x3ff0000050000000 => long: 2
+ FISTP 0xc082c00000000000 => long: fffffda8
+ FISTP 0x3ff0000050000000 => quad: 2
+ FISTP 0xc082c00000000000 => quad: fffffffffffffda8
+ FISTTP 0x3ff0000050000000 => word: 1
+ FISTTP 0xc082c00000000000 => word: fda8
+ FISTTP 0x3ff0000050000000 => long: 1
+ FISTTP 0xc082c00000000000 => long: fffffda8
+ FISTTP 0x3ff0000050000000 => quad: 1
+ FISTTP 0xc082c00000000000 => quad: fffffffffffffda8
+FUCOMI 0xc082c00000000000 0x3ff0000050000000 --C
+FUCOMPP 0xc082c00000000000 0x3ff0000050000000 --C
+Rounding 0
+ FRNDINT 0xc082c00000000000 => 0xc082c00000000000
+ FRNDINT 0x3ff0000050000000 => 0x3ff0000000000000
+ FISTP 0xc082c00000000000 => word: fda8
+ FISTP 0x3ff0000050000000 => word: 1
+ FISTP 0xc082c00000000000 => long: fffffda8
+ FISTP 0x3ff0000050000000 => long: 1
+ FISTP 0xc082c00000000000 => quad: fffffffffffffda8
+ FISTP 0x3ff0000050000000 => quad: 1
+ FISTTP 0xc082c00000000000 => word: fda8
+ FISTTP 0x3ff0000050000000 => word: 1
+ FISTTP 0xc082c00000000000 => long: fffffda8
+ FISTTP 0x3ff0000050000000 => long: 1
+ FISTTP 0xc082c00000000000 => quad: fffffffffffffda8
+ FISTTP 0x3ff0000050000000 => quad: 1
+Rounding 1
+ FRNDINT 0xc082c00000000000 => 0xc082c00000000000
+ FRNDINT 0x3ff0000050000000 => 0x3ff0000000000000
+ FISTP 0xc082c00000000000 => word: fda8
+ FISTP 0x3ff0000050000000 => word: 1
+ FISTP 0xc082c00000000000 => long: fffffda8
+ FISTP 0x3ff0000050000000 => long: 1
+ FISTP 0xc082c00000000000 => quad: fffffffffffffda8
+ FISTP 0x3ff0000050000000 => quad: 1
+ FISTTP 0xc082c00000000000 => word: fda8
+ FISTTP 0x3ff0000050000000 => word: 1
+ FISTTP 0xc082c00000000000 => long: fffffda8
+ FISTTP 0x3ff0000050000000 => long: 1
+ FISTTP 0xc082c00000000000 => quad: fffffffffffffda8
+ FISTTP 0x3ff0000050000000 => quad: 1
+Rounding 2
+ FRNDINT 0xc082c00000000000 => 0xc082c00000000000
+ FRNDINT 0x3ff0000050000000 => 0x4000000000000000
+ FISTP 0xc082c00000000000 => word: fda8
+ FISTP 0x3ff0000050000000 => word: 2
+ FISTP 0xc082c00000000000 => long: fffffda8
+ FISTP 0x3ff0000050000000 => long: 2
+ FISTP 0xc082c00000000000 => quad: fffffffffffffda8
+ FISTP 0x3ff0000050000000 => quad: 2
+ FISTTP 0xc082c00000000000 => word: fda8
+ FISTTP 0x3ff0000050000000 => word: 1
+ FISTTP 0xc082c00000000000 => long: fffffda8
+ FISTTP 0x3ff0000050000000 => long: 1
+ FISTTP 0xc082c00000000000 => quad: fffffffffffffda8
+ FISTTP 0x3ff0000050000000 => quad: 1
+FUCOMI 0x0 0x7ff8000000000001 ZPC
+FUCOMPP 0x0 0x7ff8000000000001 ZPC
+Rounding 0
+ FRNDINT 0x0 => 0x0
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FISTP 0x0 => word: 0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x0 => long: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x0 => quad: 0
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x0 => word: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x0 => long: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x0 => quad: 0
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+Rounding 1
+ FRNDINT 0x0 => 0x0
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FISTP 0x0 => word: 0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x0 => long: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x0 => quad: 0
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x0 => word: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x0 => long: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x0 => quad: 0
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+Rounding 2
+ FRNDINT 0x0 => 0x0
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FISTP 0x0 => word: 0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x0 => long: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x0 => quad: 0
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x0 => word: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x0 => long: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x0 => quad: 0
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+FUCOMI 0x7ff8000000000001 0x0 ZPC
+FUCOMPP 0x7ff8000000000001 0x0 ZPC
+Rounding 0
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FRNDINT 0x0 => 0x0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x0 => word: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x0 => long: 0
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTP 0x0 => quad: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x0 => word: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x0 => long: 0
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x0 => quad: 0
+Rounding 1
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FRNDINT 0x0 => 0x0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x0 => word: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x0 => long: 0
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTP 0x0 => quad: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x0 => word: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x0 => long: 0
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x0 => quad: 0
+Rounding 2
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FRNDINT 0x0 => 0x0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x0 => word: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x0 => long: 0
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTP 0x0 => quad: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x0 => word: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x0 => long: 0
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x0 => quad: 0
+FUCOMI 0x7ff8000000000001 0x7ff8000000000001 ZPC
+FUCOMPP 0x7ff8000000000001 0x7ff8000000000001 ZPC
+Rounding 0
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+Rounding 1
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+Rounding 2
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+FUCOMI 0x7ff8000000000001 0x7ff8000000000001 ZPC
+FUCOMPP 0x7ff8000000000001 0x7ff8000000000001 ZPC
+Rounding 0
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+Rounding 1
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+Rounding 2
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FRNDINT 0x7ff8000000000001 => 0x7ff8000000000001
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => word: 0
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => long: 80000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => word: 0
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => long: 80000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+ FISTTP 0x7ff8000000000001 => quad: 8000000000000000
+
+Done
diff --git a/tests/test01_android b/tests/test01_android
new file mode 100755
index 00000000..cdb53c98
--- /dev/null
+++ b/tests/test01_android
Binary files differdiff --git a/tests/test02_android b/tests/test02_android
new file mode 100755
index 00000000..17967187
--- /dev/null
+++ b/tests/test02_android
Binary files differdiff --git a/tests/test03_android b/tests/test03_android
new file mode 100755
index 00000000..2fafadc8
--- /dev/null
+++ b/tests/test03_android
Binary files differdiff --git a/tests/test04_android b/tests/test04_android
new file mode 100755
index 00000000..e978457f
--- /dev/null
+++ b/tests/test04_android
Binary files differdiff --git a/tests/test05_android b/tests/test05_android
new file mode 100755
index 00000000..475a2d13
--- /dev/null
+++ b/tests/test05_android
Binary files differdiff --git a/tests/test06_android b/tests/test06_android
new file mode 100755
index 00000000..33393969
--- /dev/null
+++ b/tests/test06_android
Binary files differdiff --git a/tests/test07_android b/tests/test07_android
new file mode 100755
index 00000000..f7ffd39a
--- /dev/null
+++ b/tests/test07_android
Binary files differdiff --git a/tests/test08_android b/tests/test08_android
new file mode 100755
index 00000000..36740420
--- /dev/null
+++ b/tests/test08_android
Binary files differdiff --git a/tests/test09_android b/tests/test09_android
new file mode 100755
index 00000000..abb0abb4
--- /dev/null
+++ b/tests/test09_android
Binary files differdiff --git a/tests/test10_android b/tests/test10_android
new file mode 100755
index 00000000..dde36349
--- /dev/null
+++ b/tests/test10_android
Binary files differdiff --git a/tests/test11_android b/tests/test11_android
new file mode 100755
index 00000000..5395e31d
--- /dev/null
+++ b/tests/test11_android
Binary files differdiff --git a/tests/test12.c b/tests/test12.c
index 4892a10d..abb94c06 100644
--- a/tests/test12.c
+++ b/tests/test12.c
@@ -20,6 +20,18 @@ int main(int argc, char **argv)
     printf("(angle_t)%f = %u == 0x%08X\n", d, u32, u32);
 
     int16_t a=0, b=0;
+
+    #ifdef __ANDROID__
+    asm volatile (
+        "fldpi   \n"
+        "fisttpl %0   \n"
+    : "=m" (a));
+    asm volatile (
+        "fldpi      \n"
+        "fchs       \n"
+        "fistpl %0   \n"
+    : "=m" (b));
+    #else
     asm volatile (
         "fldpi   \n"
         "fisttp %0   \n"
@@ -29,6 +41,8 @@ int main(int argc, char **argv)
         "fchs       \n"
         "fistp %0   \n"
     : "=m" (b));
+    #endif
+
     printf("go PI trucated=%d, -PI rounded=%d\n", a, b);
 
     return 0;
diff --git a/tests/test12_android b/tests/test12_android
new file mode 100755
index 00000000..8593a43d
--- /dev/null
+++ b/tests/test12_android
Binary files differdiff --git a/tests/test14.c b/tests/test14.c
index 65702be3..0f16a265 100644
--- a/tests/test14.c
+++ b/tests/test14.c
@@ -71,8 +71,13 @@ int main(void) {
     printf("Main thread: thread_state == 1.\n");
     pthread_mutex_unlock(mutex_ptr);
 
+    #ifdef __ANDROID__
+    if (pthread_kill(thread,0) != 0)
+        goto error;
+    #else
     if (pthread_cancel(thread) != 0)
         goto error;
+    #endif
 
     // Wait for thread to execute the cleanup function
     pthread_mutex_lock(mutex_ptr);
diff --git a/tests/test14_android b/tests/test14_android
new file mode 100755
index 00000000..2a2e7490
--- /dev/null
+++ b/tests/test14_android
Binary files differdiff --git a/tests/test15_android b/tests/test15_android
new file mode 100755
index 00000000..3f0cf2f8
--- /dev/null
+++ b/tests/test15_android
Binary files differdiff --git a/tests/test16_android b/tests/test16_android
new file mode 100755
index 00000000..f3ae8574
--- /dev/null
+++ b/tests/test16_android
Binary files differdiff --git a/tests/test17_android b/tests/test17_android
new file mode 100755
index 00000000..de6fe82b
--- /dev/null
+++ b/tests/test17_android
Binary files differdiff --git a/tests/test18_android b/tests/test18_android
new file mode 100755
index 00000000..008759dd
--- /dev/null
+++ b/tests/test18_android
Binary files differdiff --git a/tests/test20_android b/tests/test20_android
new file mode 100755
index 00000000..5cf23577
--- /dev/null
+++ b/tests/test20_android
Binary files differdiff --git a/tests/test21_android b/tests/test21_android
new file mode 100755
index 00000000..90e127ff
--- /dev/null
+++ b/tests/test21_android
Binary files differdiff --git a/tests/test22.c b/tests/test22.c
index da0d05fa..f0c1040e 100644
--- a/tests/test22.c
+++ b/tests/test22.c
@@ -52,6 +52,18 @@ uint64_t _fisttpw_(double a, uint8_t rd)
 {
     uint16_t ret;
     uint16_t t1, t2;
+    #ifdef ANDROID
+    asm volatile (
+    "fldl %1\n"
+    "fstcw %2\n"
+    "mov %2, %%ax\n"
+    "mov %4, %%ah\n"
+    "mov %%ax, %3\n"
+    "fldcw %3\n"
+    "fisttpl %0\n"
+    "fldcw %2\n"
+    :"=m" (ret):"m"(a), "m"(t1), "m"(t2), "m"(rd):"cc");
+    #else
     asm volatile (
     "fldl %1\n"
     "fstcw %2\n"
@@ -62,6 +74,8 @@ uint64_t _fisttpw_(double a, uint8_t rd)
     "fisttp %0\n"
     "fldcw %2\n"
     :"=m" (ret):"m"(a), "m"(t1), "m"(t2), "m"(rd):"cc");
+    #endif
+
     return ret;
 }
 uint64_t _fistpl_(double a, uint8_t rd)
diff --git a/tests/test22_android b/tests/test22_android
new file mode 100755
index 00000000..bf35b335
--- /dev/null
+++ b/tests/test22_android
Binary files differdiff --git a/tests/test23_android b/tests/test23_android
new file mode 100755
index 00000000..54283766
--- /dev/null
+++ b/tests/test23_android
Binary files differdiff --git a/tests/test24_android b/tests/test24_android
new file mode 100755
index 00000000..1a047cc1
--- /dev/null
+++ b/tests/test24_android
Binary files differdiff --git a/tests/test25_android b/tests/test25_android
new file mode 100755
index 00000000..09b69429
--- /dev/null
+++ b/tests/test25_android
Binary files differdiff --git a/tests/test26_android b/tests/test26_android
new file mode 100755
index 00000000..31b41000
--- /dev/null
+++ b/tests/test26_android
Binary files differdiff --git a/tests/test27_android b/tests/test27_android
new file mode 100755
index 00000000..6a5c56de
--- /dev/null
+++ b/tests/test27_android
Binary files differdiff --git a/tests/test28_android b/tests/test28_android
new file mode 100755
index 00000000..14c58a32
--- /dev/null
+++ b/tests/test28_android
Binary files differdiff --git a/tests/test29_android b/tests/test29_android
new file mode 100755
index 00000000..35a060ef
--- /dev/null
+++ b/tests/test29_android
Binary files differ