Herman S.
83ff0c501b
[CPU] Set VSCR NJ (non-Java) bit
2026-02-14 00:59:45 +09:00
Herman S.
11815400cd
[CPU] Fix f16 pack rounding and SHORT_2 test input
...
Add round-to-nearest-even to the fast float16 pack path by folding a
0xFFF rounding bias into XMMF16PackLCPI0 and extracting bit 13 of the
source as the tie-breaker, matching the software fallback behavior.
Fix PACK_SHORT_2 test to use pre-biased float input (0x40400000 = 3.0)
as the hardware expects, rather than raw 0.0f which is out of range.
2026-02-14 00:48:16 +09:00
Herman S.
bb70e5c651
[CPU] Fix incorrect all_same detection in constant vector shift paths
...
The loop conditions `n < 8 - n` and `n < 4 - n` terminated early,
only checking the first half of elements. This caused EmitInt16 and
EmitInt32 to incorrectly take the uniform shift path when trailing
elements had different shift amounts.
Resolves potential issues in SHL, SHR, and SHA.
2026-02-14 00:35:09 +09:00
Herman S.
10e8224a63
[CPU] Use RAII lock_guard in GuestTrampolineGroup
2026-02-14 00:17:45 +09:00
Herman S.
643c13668d
[CPU] Correctly zero extend instead of sign extending
...
When performing unsigned multiplication on Linux/GCC,
the code incorrectly cast constant.i64 (which is a signed int64_t)
to unsigned __int128. This caused sign extension when
the value should be treated as unsigned.
2026-02-13 23:54:51 +09:00
Herman S.
7912eab85e
[CPU] Check for null when returning machine code ptr
2026-02-13 23:53:01 +09:00
Herman S.
dad5f327bf
[CPU] Fix off by one in bsearch
2026-02-13 23:33:40 +09:00
Herman S.
3a6f63f34f
Revert "[x64] Zero extend on mov to 8bit register"
...
This reverts commit 88b0aea272 .
(It needs to be applied after xbyak update)
2026-02-13 23:13:07 +09:00
Herman S.
1182f9d73d
[x64] Add software fallback for PACK_FLOAT16_4
...
Current implementation has an off by 1 in rounding, should
round up to even but doesn't. Need to figure out how to implement
it properly so just leaving the software version here for later
verification.
2026-02-13 21:48:42 +09:00
Herman S.
374ec3634e
[x64] Implement f32 arithmetic and tests
...
Probably not needed but doesn't hurt to be complete
2026-02-13 21:48:01 +09:00
Herman S.
fdb32b909f
[x64] Remove AVX512 optimization for vrefp
...
The precision is too low so it's more trouble than it's worth.
2026-02-13 21:13:39 +09:00
Herman S.
77e320f79a
[x64] Fix AVX2 optimization path for VECTOR_SHL_V128
...
Ensure the optimized path matches the fallback behavior
2026-02-13 20:40:48 +09:00
Herman S.
b3a131698c
[x64] Fix AVX512 optimization path for vadduws
2026-02-13 19:57:44 +09:00
Herman S.
70c1092195
[x64] Fix AVX-512 vctuxs NaN handling
...
(using ordered comparison predicate)
2026-02-13 19:31:08 +09:00
Herman S.
f95ebb9c55
[x64] Fix mismatched operand sizes in CNTLZ fallback
2026-02-13 19:29:21 +09:00
Herman S.
88b0aea272
[x64] Zero extend on mov to 8bit register
2026-02-13 17:20:31 +09:00
Herman S.
15f61a1a10
[x64] Fix vector mask issue and add missing tests
2026-02-13 17:07:03 +09:00
Herman S.
435ea98a5a
[Testing] Make sure tests clean up shm resources on exit
2026-02-13 15:22:43 +09:00
Herman S.
532418eed4
[Tests] Fix broken xenia-cpu tests
2026-02-13 15:20:19 +09:00
Herman S.
63d06a6083
[Testing] Ensure memory is fully initialized for stwcx test
2026-02-13 15:19:41 +09:00
Herman S.
d6a4493d5b
[Testing] Add more instruction tests
2026-02-13 15:19:23 +09:00
Herman S.
2bb7c8dbf5
[Testing] Fix tests to use opcode mnemonics
2026-02-13 15:08:07 +09:00
Herman S.
ab182d4044
[Testing] Fix vsel128 and vnor128 tests
2026-02-13 15:07:55 +09:00
Herman S.
1b25574986
[Testing] Add a lot more missing instruction tests
2026-02-13 14:49:49 +09:00
Herman S.
4832bb485f
[Testing] Add some lvx* tests
2026-02-13 13:59:49 +09:00
Herman S.
32b0e2c323
[Testing] Add missing control instruction tests
2026-02-13 13:59:40 +09:00
Herman S.
72f81b56c7
[Testing] Add missing ALU instruction tests
2026-02-13 13:59:32 +09:00
Herman S.
4a954506c6
[Testing] Add vpkpx tests
2026-02-13 13:59:23 +09:00
Herman S.
c0d1723469
[Testing] Add vlogefp tests
2026-02-13 13:59:14 +09:00
Herman S.
b6af8ed545
[Testing] Add more tests for logic, conversion and fp instructions
2026-02-13 13:59:05 +09:00
Herman S.
910157f6e0
[Testing] add more arithmetic instruction tests
2026-02-13 13:58:56 +09:00
Herman S.
4c7d152fee
[Testing] Add missing avg and min/max tests
2026-02-13 13:58:45 +09:00
Herman S.
3461f2578b
[Testing] add missing saturate arithmetic tests
2026-02-13 13:58:36 +09:00
Herman S.
f455b0b3c8
[Testing] add missing integer and rotation tests
2026-02-13 13:58:22 +09:00
Herman S.
09a15fbedc
[Testing] Get tests running (dirty hack for linux)
2026-02-13 13:32:39 +09:00
Gliniak
14c2814654
[CPU] Fixed bug in VECTOR_SHL_V128 implementation
...
- For EmitInt8 there was missing check for & 7 which was causing graphical glitches in movies
- There is probably similar bug in 16/32 version, but that's for another commit
2026-02-11 22:41:36 +01:00
Gliniak
a74fe21f76
[CPU] Disable context promotion only for vertex type
2026-01-28 07:49:39 +01:00
Gliniak
702fbc8adb
[CPU/X64] Fixed random on boot crashes related to rsp not being aligned
...
vmovaps returns failure if it encounters unaligned memory.
Alignemnt must be done on 16 bytes, but sometimes rsp ends with 8
2025-11-09 21:59:46 +01:00
Gliniak
f1d444dd99
[CPU/X64] Added const path for indirect call
...
This prevents having false-positive logs about invalid handling
This case should only happen on deadend paths of code like calling 0
2025-11-01 19:18:45 +01:00
Gliniak
1ad35e4d61
[CPU/X64] Added missing const path to Emit8_IN_16
2025-11-01 17:39:10 +01:00
Gliniak
906c0b8fa6
[CPU] Fixed issue with const path in AVX512 vector left rotate.
...
- Added logging in case of similar issues
2025-10-28 17:43:21 +01:00
Gliniak
7d8ac86f6c
[CPU] Do not return error code from unimplemented overflows checks
...
Debug assertion and log message still appears
2025-10-24 19:31:19 +02:00
Margen67
765073021a
[CPU/XEX] Use fmt to make hash string, check size
2025-08-22 06:22:07 -07:00
Gliniak
c4bd676c5e
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2025-08-15 15:37:50 +02:00
Margen67
8b6cb9c287
[Premake, 3PP] Formatting/cleanup
2025-08-11 21:03:31 -07:00
Gliniak
2969a04145
[Kernel] Added support for loading modules before main
2025-08-03 20:40:30 +02:00
guccigang420
9ae3a72500
[CPU/HIR] Fixed MulHi in value.cc for Linux systems
2025-07-30 23:47:17 +03:00
Margen67
4a5f63650d
Add .py file extension to Python
2025-07-28 23:54:52 -07:00
Margen67
25d6f8269a
[premake] Cleanup
2025-07-27 02:46:43 -07:00
Margen67
3eef564ff8
[format] Require EOF newline
2025-07-19 14:42:21 -07:00