Ryan Houdek
17bef26708
InstcountCI: Update
2025-09-10 19:24:50 -07:00
Ryan Houdek
58b5620f97
FEXCore: Fixes OOB access on x87 reduced precision loads
...
x87 80-bit loads, both BCD and regular tword were loading 128-bits of
data when reduced precision was enabled. This was an oversight from the
previous fix a while ago.
Adds a specific reduced precision test for this, and updates the current
test to ensure stores are still tested as well.
2025-09-10 19:19:55 -07:00
Tony Wasserka
258e2b80f4
unittests/ASM: Explicitly disable TSO for vixl simulator runs
...
The simulator does not fully support this configuration and only works by
accident currently because of TSO auto-migration.
2025-09-10 15:36:23 +02:00
Billy Laws
756002eef8
unittests: Add test for x87 mode switches wrongly flushing NZCV
2025-09-09 21:29:12 +01:00
Lioncache
9b9ab16b55
Common: Remove duplicated StringUtil functionality
...
We already have an equivalent header within FEXCore that's header only,
so we can adapt it to conform for both cases, allowing for removal of
one of them.
2025-09-08 09:44:25 -04:00
Ryan Houdek
3db1f1e01f
Merge pull request #4826 from Sonicadvance1/classify_features
...
unittests/ASM: Adds support for classifying more requirements
2025-09-04 11:19:41 -07:00
Ryan Houdek
343a529e63
Merge pull request #4824 from bylaws/tf2
...
OpDispatcher: Force a recheck of TF after POPF
2025-09-03 15:24:40 -07:00
Ryan Houdek
e0af51fb06
unittests/ASM: Classify unittests with new flags
...
Necessary for running on old hardware.
2025-09-02 18:37:59 -07:00
Billy Laws
7c9c97f2b9
Update InstCountCI
2025-09-02 22:23:41 +01:00
Billy Laws
003fc3dab5
Update InstCountCI
2025-09-02 22:21:56 +01:00
Ryan Houdek
0a74efe3f8
unittests: Adds missing movsxd edge case
...
nasm doesn't let you encode all of these but we had already supported
them in FEX.
It's a bit of a weird edge case behaviour, since it's supposed to be
sign extended a 32-bit value in to a 64-bit register but with prefixes
(or lack of) it can be a move with zero-extend or a 16-bit insert.
Make sure we're actually testing these edge cases.
2025-09-02 01:16:42 -07:00
Ryan Houdek
43d535cf8d
gvisor_tests: Update expectations for kernel 6.16
2025-09-01 16:13:42 -07:00
Paulo Matos
65d230f32b
instcountci: Fix IEEE 754 unordered comparison detection in x87 floating-point operations
2025-09-01 21:43:23 +02:00
Paulo Matos
0882b0db0c
asm_tests: Fix IEEE 754 unordered comparison detection in x87 floating-point operations
2025-09-01 21:42:01 +02:00
Ryan Houdek
0dfc30fdd8
APITests: Adds extendedvolatile
2025-08-22 15:03:56 -07:00
Paulo Matos
b0a7e0bbcc
instcountci: Clear IE flag on fninit
2025-08-18 15:49:10 +02:00
Paulo Matos
af561abc71
asm_tests: Clear IE flag on fninit
2025-08-18 15:40:46 +02:00
Ryan Houdek
2f930b201a
Merge pull request #4782 from bylaws/oo0
...
OpcodeDispatcher: Simplify CALLOp return addr calc
2025-08-14 11:23:21 -07:00
Billy Laws
5c078d13c0
Update InstCountCI
2025-08-14 15:35:23 +01:00
Ryan Houdek
52eb9f46d2
InstcountCI: Add callf/retf
2025-08-13 16:33:23 -07:00
Ryan Houdek
b486aeeac5
unittests/ASM: Unittests for callf/retf
...
Not too crazy, just make sure to check RSP locations on both sides.
2025-08-13 16:20:18 -07:00
Ryan Houdek
ceaaab5a86
unittests/ASM: Test jmpf without cs change
2025-08-13 12:26:34 -07:00
Ryan Houdek
2b7d03d4f9
OpcodeDispatcher: Implement support for far jump
...
If anything actually attempts to use this to change CS then it'll very
quickly hit some other asserts, but it gets one more change off my list.
2025-08-13 12:19:16 -07:00
LC
c8810557c1
Merge pull request #4777 from Sonicadvance1/move_gdt_up
...
FEXCore: Split GDT and LDT prep work
2025-08-13 12:06:41 -04:00
Ryan Houdek
2a4bfe49f5
Merge pull request #4743 from pmatos/fclex
...
Implementation of FCNLEX to clear IE flag
2025-08-12 12:35:15 -07:00
Ryan Houdek
e696e32b95
InstcountCI: Update
2025-08-11 20:48:47 -07:00
Ryan Houdek
c300c723f7
InstcountCI: Update
2025-08-11 17:50:18 -07:00
Ryan Houdek
d0ec069dcb
FEXCore: Fixes 32-bit zero-extend semantics on cmpxchg
...
We were missing the semantics when the result was a success.
2025-08-11 17:49:17 -07:00
Ryan Houdek
0879994aff
FEXCore: Fixes 16-bit operand size Leave
...
Weren't testing this edge case just like enter
2025-08-11 17:01:49 -07:00
Ryan Houdek
135d17fbd3
FEXCore: Fixes 16-bit operand size Enter
...
We weren't handling this edge case. Noticed it while looking at some
other test failures.
2025-08-11 16:50:30 -07:00
Ryan Houdek
60baee4020
unittests/3DNow: Fix femms test
...
We are onyl wanting to test the FTW, which is 16-bit but we were reading
a whole 32-bits. The upper 16-bits was ending up in the reserved
section, which is undefined as to what it contains. In FEX it'll contain
0 but on a Zen 4 CPU it contains 0xFFFF.
Only read the bits we care about.
2025-08-08 12:08:52 -07:00
Billy Laws
203ac51681
Update InstCountCI
2025-08-07 14:36:12 +01:00
Billy Laws
a7986993bf
InstCountCI: Add tests for AVX float conversion ops with mem src
2025-08-07 14:36:12 +01:00
Alyssa Rosenzweig
f99b42da5e
InstCountCI: Update
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:42:36 -04:00
Ryan Houdek
aa979e4bc7
Merge pull request #4728 from bylaws/monohacks
...
Implement mono specific hacks
2025-08-06 15:51:35 -07:00
Billy Laws
9836e43d10
Update InstCountCI
2025-08-06 22:39:44 +01:00
Ryan Houdek
4dbfa2febb
Merge pull request #4741 from pmatos/fninit_tests
...
asm_tests: Tests for fninit
2025-08-05 19:29:58 -07:00
Ryan Houdek
7897b6ad55
Merge pull request #4759 from alyssarosenzweig/ra/simplify
...
RegisterAllocationPass: simplify next-use logic
2025-08-04 14:59:13 -07:00
Alyssa Rosenzweig
6769b54e1c
unittests: add blake3 test
...
this provokes RA spilling and hit an assertion fail on main.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-04 17:06:15 -04:00
Alyssa Rosenzweig
7354e7e3c9
InstCountCI: Update
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-04 14:13:10 -04:00
Ryan Houdek
369ca5cb72
Merge pull request #4719 from Sonicadvance1/runtime_mode_switch_take2
...
Runtime mode switch take 2
2025-07-30 11:47:54 -07:00
Paulo Matos
c95f9f5e6a
instcountci: Implementation of FCNLEX to clear IE flag
2025-07-30 10:50:32 +02:00
Paulo Matos
93c3eb064d
asm_tests: Implementation of FCNLEX to clear IE flag
2025-07-30 10:50:21 +02:00
Paulo Matos
b13162c5bf
asm_tests: Division by zero does not set IE flag
2025-07-30 10:50:20 +02:00
Paulo Matos
ee1725684a
Implementation of FCNLEX to clear IE flag
2025-07-30 10:50:16 +02:00
Paulo Matos
a07b234659
asm_tests: Tests for fninit
...
NFC.
These tests existed for 32bits but were missing for 64bits and reduced precision.
Adjust 32bit test to match new tests.
2025-07-30 09:54:08 +02:00
Ryan Houdek
6c12db500e
InstCountCI: Update for segment changes
2025-07-29 12:02:38 -07:00
Ryan Houdek
af3918491c
unittests: Fixes thunk unittest path
...
This hasn't been run in CI for awhile so this was missed when I was
testing it. I need to see what I can do to get this going in CI again.
2025-07-29 11:46:30 -07:00
Alyssa Rosenzweig
387db78120
InstCountCI: Update
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-07-26 11:42:55 -04:00
Alyssa Rosenzweig
e910a81c12
OpcodeDispatcher: remove sized constant use
...
instcountci squashed for visibility.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-07-26 09:26:43 -04:00