about summary refs log tree commit diff stats
path: root/tests/test22.c
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/test22.c
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/test22.c')
-rw-r--r--tests/test22.c14
1 files changed, 14 insertions, 0 deletions
diff --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)