Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Test27 for Android #1461

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

KreitinnSoftware
Copy link
Contributor

No description provided.

@ptitSeb
Copy link
Owner

ptitSeb commented Apr 23, 2024

can you re-enable test27 alse?

@ptitSeb
Copy link
Owner

ptitSeb commented Apr 23, 2024

Mmmm, test is failling.

@KreitinnSoftware
Copy link
Contributor Author

KreitinnSoftware commented May 10, 2024

on my local tests, without dynarec, test27 (sse4.2 test) is working proper, and with dynarec (i tried with safeflags=2 and strongmem=3) not working proper
box64_android_test27_output_with_dynarec.log
box64_android_test27_output_without_dynarec.log

Using diff get this

[pablo@pablo-ms7817 tests]$ diff box64_android_test27_output_with_dynarec.log ref27_android.txt 
207c207
< _mm_cmpestri("This", 4, "This is a string", 16, 0x8) flags: a:0 s:0 z:0 c:1 o:1
---
> _mm_cmpestri("This", 4, "This is a string", 16, 0x8) flags: a:0 s:1 z:0 c:1 o:1
213c213
< _mm_cmpestri("This", 4, "This is a string", 16, 0x9) flags: a:0 s:0 z:0 c:1 o:1
---
> _mm_cmpestri("This", 4, "This is a string", 16, 0x9) flags: a:0 s:1 z:0 c:1 o:1
231c231
< _mm_cmpestri("is", 2, "This is a string", 16, 0x8) flags: a:1 s:0 z:0 c:0 o:0
---
> _mm_cmpestri("is", 2, "This is a string", 16, 0x8) flags: a:1 s:1 z:0 c:0 o:0
237c237
< _mm_cmpestri("is", 2, "This is a string", 16, 0x9) flags: a:1 s:0 z:0 c:0 o:0
---
> _mm_cmpestri("is", 2, "This is a string", 16, 0x9) flags: a:1 s:1 z:0 c:0 o:0
267c267
< _mm_cmpestri("This is a string", 16, "", 0, 0x8) flags: a:0 s:1 z:1 c:0 o:0
---
> _mm_cmpestri("This is a string", 16, "", 0, 0x8) flags: a:0 s:0 z:1 c:0 o:0
273c273
< _mm_cmpestri("This is a string", 16, "", 0, 0x9) flags: a:0 s:1 z:1 c:0 o:0
---
> _mm_cmpestri("This is a string", 16, "", 0, 0x9) flags: a:0 s:0 z:1 c:0 o:0
279c279
< _mm_cmpestri("", 0, "This is a string", 16, 0x8) flags: a:1 s:0 z:0 c:0 o:0
---
> _mm_cmpestri("", 0, "This is a string", 16, 0x8) flags: a:1 s:1 z:0 c:0 o:0
285c285
< _mm_cmpestri("", 0, "This is a string", 16, 0x9) flags: a:1 s:0 z:0 c:0 o:0
---
> _mm_cmpestri("", 0, "This is a string", 16, 0x9) flags: a:1 s:1 z:0 c:0 o:0

@ksco
Copy link
Collaborator

ksco commented May 10, 2024

Try to use BOX64_DYNAREC_TEST=1 box64 ./test27 on your local machine to see if there is any DIFF xxx logs.

@KreitinnSoftware
Copy link
Contributor Author

Try to use BOX64_DYNAREC_TEST=1 box64 ./test27 on your local machine to see if there is any DIFF xxx logs.

I will test when I get home

@KreitinnSoftware
Copy link
Contributor Author

Try to use BOX64_DYNAREC_TEST=1 box64 ./test27 on your local machine to see if there is any DIFF xxx logs.

box64-android-dynarec-test.log

@ksco
Copy link
Collaborator

ksco commented May 10, 2024

So, the diffs are what you need to look into and fix..

@KreitinnSoftware
Copy link
Contributor Author

I checked here again today about the test30 failure, comparing the logs running natively on android-x86-64 and box64, there was a difference in psqrtpd

[pablo@archlinux tests]$ diff box64-android-output-test30.txt ref30.txt 
198,199c198,199
< psqrtpd(0 -2 ) = 0 0x7ff8000000000000 
< psqrtpd(inf -inf ) = inf 0x7ff8000000000000 
---
> psqrtpd(0 -2 ) = 0 0xfff8000000000000 
> psqrtpd(inf -inf ) = inf 0xfff8000000000000

@ptitSeb
Copy link
Owner

ptitSeb commented Jun 26, 2024

I checked here again today about the test30 failure, comparing the logs running natively on android-x86-64 and box64, there was a difference in psqrtpd

[pablo@archlinux tests]$ diff box64-android-output-test30.txt ref30.txt 
198,199c198,199
< psqrtpd(0 -2 ) = 0 0x7ff8000000000000 
< psqrtpd(inf -inf ) = inf 0x7ff8000000000000 
---
> psqrtpd(0 -2 ) = 0 0xfff8000000000000 
> psqrtpd(inf -inf ) = inf 0xfff8000000000000

Missing the "FASTNAN=0" env. var. maybe?

@KreitinnSoftware
Copy link
Contributor Author

Running with FASTNAN=0 gives:

[pablo@archlinux tests]$ BOX64_DYNAREC_FASTNAN=0 BOX64_DYNAREC_FASTROUND=0 BOX64_AVX=2 ../build/box64 test30_android > box64-android-output-test30.txt
[pablo@archlinux tests]$ diff box64-android-output-test30.txt ref30.txt 
198,199c198,199
< psqrtpd(0 -2 ) = 0 0x7ff8000000000000 
< psqrtpd(inf -inf ) = inf 0x7ff8000000000000 
---
> psqrtpd(0 -2 ) = 0 0xfff8000000000000 
> psqrtpd(inf -inf ) = inf 0xfff8000000000000

And with FASTNAN=1

[pablo@archlinux tests]$ BOX64_DYNAREC_FASTNAN=1 BOX64_DYNAREC_FASTROUND=0 BOX64_AVX=2 ../build/box64 test30_android > box64-android-output-test30.txt
[pablo@archlinux tests]$ diff box64-android-output-test30.txt ref30.txt 
198,199c198,199
< psqrtpd(0 -2 ) = 0 0x7ff8000000000000 
< psqrtpd(inf -inf ) = inf 0x7ff8000000000000 
---
> psqrtpd(0 -2 ) = 0 0xfff8000000000000 
> psqrtpd(inf -inf ) = inf 0xfff8000000000000 
232c232
< mulpd(0 -2 , inf -inf ) = 0x7ff8000000000000 inf 
---
> mulpd(0 -2 , inf -inf ) = 0xfff8000000000000 inf 
235c235
< mulpd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0x7ff8000000000000 
---
> mulpd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0xfff8000000000000 
254c254
< divpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0x7ff8000000000000 
---
> divpd(0x7ff8000000000000 -0 , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0xfff8000000000000 
315c315
< haddpd(0 -2 , inf -inf ) = -2 0x7ff8000000000000 
---
> haddpd(0 -2 , inf -inf ) = -2 0xfff8000000000000 
318c318
< haddpd(inf -inf , 0x7ff8000000000000 -0 ) = 0x7ff8000000000000 0x7ff8000000000000 
---
> haddpd(inf -inf , 0x7ff8000000000000 -0 ) = 0xfff8000000000000 0x7ff8000000000000 
652,653c652,653
< sqrtsd(1 2 , -2 0 ) = 0x7ff8000000000000 2 
< sqrtsd(1 2 , -inf inf ) = 0x7ff8000000000000 2 
---
> sqrtsd(1 2 , -2 0 ) = 0xfff8000000000000 2 
> sqrtsd(1 2 , -inf inf ) = 0xfff8000000000000 2 
715,716c715,716
< divsd(0 -2 , -0 0x7ff8000000000000 ) = 0x7ff8000000000000 -2 
< divsd(0 -2 , -0 0x7ff8000000000000 ) = 0x7ff8000000000000 -2 
---
> divsd(0 -2 , -0 0x7ff8000000000000 ) = 0xfff8000000000000 -2 
> divsd(0 -2 , -0 0x7ff8000000000000 ) = 0xfff8000000000000 -2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants