66 Commits

Author SHA1 Message Date
Leslie Zhai
ec2edd5b3a [WRAPPER] Wrapper wrappedgobject2 g_closure_ref and g_closure_sink (#2848) (#2849)
* [WRAPPER] Wrapper wrappedgobject2 g_closure_ref and g_closure_sink (#2848)

* [WRAPPER] Add testcase for g_closure_ref and g_closure_sink

* [WRAPPER] Just use GO for g_closure_ref|sink|invoke
2025-07-25 10:07:05 +02:00
Leslie Zhai
53bb00a769 [WRAPPER] Implement myStackAlignGVariantNew for g_variant_new (#2687) 2025-05-30 07:57:01 +02:00
ptitSeb
e4da025dc0 [ARM64_DYNAREC] Fixed (rarely used) some edge case for (V)PMULHRSW opcode (and improved tests) 2025-04-25 20:03:58 +02:00
Yang Liu
ad494480ce [DYNAREC] Added a x87pc test and some cosmetic changes too (#2561) 2025-04-22 13:31:04 +02:00
ptitSeb
ad40638345 [CI] Improved test30 (might break rv64/la64 dynarec) 2025-03-26 18:42:57 +01:00
ye-yeshun
b8cc8594f6 fix VPMASKMOV and VMASKMOVP (#2342)
* fix: 0x2C: 'VMASKMOVPS Gx, Vx, Ex'

Log: VMASKMOVPS读取内存时, 如果某些mask位是0则不进行读写避免访问越界

Signed-off-by: YeshunYe <yeyeshun@uniontech.com>
Change-Id: I197fc356edcac202b5a329c50c334d0166532e93

* fix: 0x2D: 'VMASKMOVPD Gx, Vx, Ex'

Log: VMASKMOVPD读取内存时, 如果某些mask位是0则不进行读写避免访问越界

Signed-off-by: YeshunYe <yeyeshun@uniontech.com>
Change-Id: Ie11d93971aa92b141540a37bfdae0b3b060e3aea

* fix: 0x2E: 'VMASKMOVPS Ex, Gx, Vx'

Log: VMASKMOVPS写入内存时, 如果某些mask位是0则不进行读写避免访问越界

Signed-off-by: YeshunYe <yeyeshun@uniontech.com>
Change-Id: Ide5cb36dc03fc56480fdd45e7d96daed8557d849

* fix: 0x2F: 'VMASKMOVPD Ex, Gx, Vx'

Log: VMASKMOVPD写入内存时, 如果某些mask位是0则不进行读写避免访问越界

Signed-off-by: YeshunYe <yeyeshun@uniontech.com>
Change-Id: I037de8568e9d2d29597fdf08f991d54e3cb2f6d9

* fix: 0x8E: 'VPMASKMOVD/Q Ex, Vx, Gx'

Log: VPMASKMOVD/Q写入内存时, 如果某些mask位是0则不进行读写避免访问越界

Signed-off-by: YeshunYe <yeyeshun@uniontech.com>
Change-Id: I0dc98a29ed933d953e137e777bc296149d94b10b

* tests: add test for VPMASKMOV and VMASKMOVP

Log:

Signed-off-by: YeshunYe <yeyeshun@uniontech.com>

---------

Signed-off-by: YeshunYe <yeyeshun@uniontech.com>
2025-02-12 10:32:57 +01:00
ptitSeb
f235c7f702 [INTERPRETER] Improved (V)ADD/MUL/SUB/DIV P(S/D), and improved avx test too 2025-01-22 20:36:31 +01:00
Hagb (Junyu Guo 郭俊余)
653a67c8ad Port rounding of some x87 instructions from Box86 (#2242)
* Port rounding of some x87 instructions from Box86

Ported from https://github.com/ptitSeb/box86/pull/951. The original pull
request and this commit also contain some improvements on precision of
`F2XM1` and `FYL2XP1`.

* Run fpu_rounding test with dynarec only for ARM64

They have been implemented on dynarec only for ARM64.
2025-01-08 15:34:15 +01:00
ptitSeb
82105a1543 [INTERPRETER] Improved x87 emulation a bit ([ARM64_DYNAREC] too) 2025-01-08 14:43:14 +01:00
ptitSeb
1eaef70d2d [ANDROID] Updaed test21 for Android build 2024-12-04 18:27:24 +01:00
ptitSeb
0054dde600 Restored old test21, the CI doesn't seems to like the new one 2024-12-03 12:54:54 +01:00
ptitSeb
794f2104bc Improved signal handling ([BOX32] Too) 2024-12-03 11:43:46 +01:00
ptitSeb
e561196f44 Improved test16 2024-12-02 17:01:08 +01:00
Yang Liu
5ab8a6f6f4 [WRAPPER] Fixed myStackAlignGVariantNew and refined the test too (#2038) 2024-11-15 21:37:36 +01:00
Leslie Zhai
12f4afcba2 [LA64] Implement convert x64_va_list_t to sysv_varargs for float (#2025) (#2031)
* [LA64] Implement convert x64_va_list_t to sysv_varargs for float (#2025)

* [LA64] Implement myStackAlignGVariantNew (#2025)

* [LA64] Limit the log to LOG_DEBUG (#2055)

* [LA64] Add missing file (#2025)
2024-11-14 16:01:36 +01:00
ptitSeb
cdf81eb1d7 Now x86_64 bash can be installed as box64-bash and will be automaticly used if present 2024-10-18 14:53:13 +02:00
ptitSeb
2e6acc86e1 Improved exception/int 3 handling 2024-07-21 20:32:17 +02:00
ptitSeb
c0ebe09521 Added an AVX test (not on Android, needs to be build there) 2024-06-05 19:44:25 +02:00
ptitSeb
06a21d490b [ARM64_DYNAREC] Some fixes to pcmp[ei]strm opcodes 2024-04-28 22:16:29 +02:00
ptitSeb
8c19c3a72c [INTERPRETER] Improved SSE4.2 String opcodes, and improved test27 2024-04-22 17:14:13 +02:00
ptitSeb
c5a6875de9 [ELFLOADER] Huge refactor of elfloader and symbol resolution. Some more cleaning need to be done, but that's a first step (should help #422, #360, #1046 and probably others) 2024-02-15 18:11:57 +01:00
KreitinnSoftware
549e042e67 [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>
2024-02-14 09:14:01 +01:00
ptitSeb
b67975a820 [ARM64_DYNAREC] More work on LOCK prefixed opcodes (Atomic still disabled) 2023-12-03 18:26:11 +01:00
ptitSeb
afe6fbe3b3 Added full support for the SHA cpu extension 2023-11-21 18:00:58 +01:00
ptitSeb
ca8abae240 [ARM64_DYNAREC] Added 66 0F 3A 40 opcode (with tests) 2023-11-06 15:36:43 +01:00
ptitSeb
6f0d095364 Fixed some issue with some SSE4.2 string compare oprations (should help #1013) 2023-11-05 15:04:35 +01:00
ptitSeb
901bb48877 Added 66 0F F2 38 F1 opcode, and fixed all 66 0F F2/F3 xx opcodes (should help #1013) 2023-11-04 16:03:28 +01:00
ptitSeb
cb2a623faa Added full SSE 4.2 support 2023-10-30 16:38:15 +01:00
Yang Liu
87bf751b11 [INTERP] Fix fpu_round (#1030)
* [INTERP] Fix fpu_round

* Should be working this time

* Handling wrappedlibm

* Format

* Fix loongarch

* Make it optional

* Fix android build
2023-10-25 14:14:11 +02:00
Yang Liu
9191c993b1 [DYNAREC] Fix x87cache issues (#1025)
* [DYNAREC][WIP] Fix x87cache issues

Co-authored-by fanwj@mail.ustc.edu.cn

* Check x87cache is full before push, is it working?

* Fixed a typo

* Update dynarec_arm64_helper.h

* Review

* Update test25
2023-10-14 18:49:30 +02:00
Yang Liu
c00cd1d627 [RV64_DYNAREC] Added more support for XTheadBb extension (#989)
* Reformat

* Use TH_FF0 for LZCNT

* Reformat

* Reformat

* Added MOVBE tests

* Reformat

* Added a new REVxw macro

* Refined test24

* Refined test24

* Fix bugs

* [INTERPRETER] Fixed MOVBE

* [DYNAREC_ARM64] Fix MOVBE
2023-09-24 22:20:21 +02:00
ptitSeb
96025a1977 [ARM64_DYNAREC] Fixed 0F 38 00 PSHUFB opcode (thanks @wannacu for the hint) 2023-09-04 09:29:55 +02:00
ptitSeb
0733a87279 Merge pull request #896 from josch/exe
remove executable bits
2023-07-21 08:13:56 +02:00
Johannes Schauer Marin Rodrigues
28dc8e6751 remove executable bits
Closes: #895
2023-07-21 02:10:26 +02:00
ptitSeb
2ebde976db Improved x87 FIST(T)(P) opcode ([ARM64_DYNAREC] too) 2023-04-28 12:32:26 +02:00
Yang Liu
8a903f1e2c [TESTS] Make test09 deterministic (#698) 2023-04-13 20:00:56 +02:00
Yang Liu
24f2720df4 [TESTS] Disable compiler optimizations for test17 and some related fixes (#677)
* [TESTS] Disable compiler optimizations for test17

* [INTERP] Fixed MAXSD/MINSD when both sources are 0

* [RV64_DYNAREC] Fixed F2 0F 5D MINSD opcode
2023-04-09 08:41:36 +02:00
ptitSeb
e710bbcec8 Improved test17 and finetuned factorio profile to disable FASTROUND on Dynarec 2023-04-01 13:18:34 +02:00
ptitSeb
0baa5a82ad Added comment on how to build test18 (for #648) 2023-03-29 08:45:36 +02:00
ptitSeb
b89ca87280 Imrpoved a bit backtrace again 2023-02-18 08:44:54 +01:00
ptitSeb
821ab99bf7 Try to improve precision of SSE Rounding to int conversion ([DYNAREC] too, introducing BOX64_DYNAREC_FASTROUND to ignore that) 2023-01-28 19:09:06 +01:00
ptitSeb
7b67bbe698 Added PCLMULQDQ ([DYNAREC] Too, using PMULL if present) extension (improve a lot AES-XTS score of Geekbench 5) 2022-09-30 19:13:47 +02:00
ptitSeb
32c229215a Improved signal handling and x87 flags (with tests backported from box86) 2022-09-29 11:24:42 +02:00
ptitSeb
e0908ced14 Added more function so x86_64 bash can work (a copy is in tests folder) 2022-07-15 09:56:00 +02:00
ptitSeb
672a41a79c Added support for R_X86_64_IRELATIVE reloc, along with a test for it (for #303) 2022-07-03 14:14:17 +02:00
ptitSeb
74cd8cd6fe Try to fix the flakyness of test11 2022-04-10 14:25:16 +02:00
ptitSeb
ead3217bf4 More work on test17, and handling -NAN on divsd 2022-04-01 20:41:51 +02:00
ptitSeb
f2012fc636 Added more sse2 opcode to test17, and added nan handling to SQRTSD and MULSD ([DYNAREC] too) 2022-04-01 19:27:27 +02:00
ptitSeb
16f82ba6b3 Even more test17 coverage 2022-04-01 11:27:27 +02:00
ptitSeb
5cd8176478 More coverage for test17, and added NaN handling to 66 0F 7C opcode 2022-04-01 10:45:53 +02:00