Closed KreitinnSoftware closed 2 months ago
Mmmm, test is failling.
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
Try to use BOX64_DYNAREC_TEST=1 box64 ./test27
on your local machine to see if there is any DIFF xxx
logs.
Try to use
BOX64_DYNAREC_TEST=1 box64 ./test27
on your local machine to see if there is anyDIFF xxx
logs.
I will test when I get home
Try to use
BOX64_DYNAREC_TEST=1 box64 ./test27
on your local machine to see if there is anyDIFF xxx
logs.
So, the diffs are what you need to look into and fix..
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
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?
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
can you re-enable test27 alse?