Lioncache
e6841ea46d
Arm64_stubs: Remove non-public functions
...
These aren't exposed in the public interface anymore, so they can be removed.
2025-04-16 09:21:51 -04:00
Lioncache
edbfe45a20
Arm64: Mark several functions as internally linked
...
These aren't directly used outside of the translation unit.
2025-04-16 09:16:44 -04:00
LC
94499ed8fc
Merge pull request #4510 from Sonicadvance1/fix_space
...
CodeEmitter: Fixes misaligned function
2025-04-15 19:58:40 -04:00
Ryan Houdek
da1868288d
CodeEmitter: Fixes misaligned function
2025-04-15 15:47:31 -07:00
Ryan Houdek
571a533543
Merge pull request #4508 from lioncash/crypto
...
Emitter: Add missing ASIMD crypto operations
2025-04-15 11:24:51 -07:00
Lioncache
222fcfd70e
CodeEmitter/ASIMDOps: Add crypto two-register SHA512 category
2025-04-15 11:48:30 -04:00
Lioncache
95c8a70ce6
CodeEmitter/ASIMDOps: Add crypto four-reg category
2025-04-15 11:41:07 -04:00
Lioncache
0f6bec4d5e
CodeEmitter/ASIMDOps: Add crypto three-reg SHA512 category
2025-04-15 11:31:00 -04:00
Lioncache
5fb0522c78
CodeEmitter/ASIMDOps: Add crypto three-reg imm2 category
2025-04-15 11:15:21 -04:00
Tony Wasserka
7c0bc2d972
Merge pull request #4506 from pmatos/CastFixValidateCode
...
Fix cast in ValidateCode impl
2025-04-15 14:07:51 +02:00
Paulo Matos
cb972e165b
Fix cast in ValidateCode impl
2025-04-15 09:35:46 +02:00
Ryan Houdek
211bec65d2
Merge pull request #4492 from bylaws/badencodings
...
Frontend: Be more tolerant of bad instruction encodings
2025-04-13 19:09:07 -07:00
Ryan Houdek
66807539ce
Merge pull request #4500 from bylaws/arm64ec-fixes-etc
...
Windows: Misc cleanups and fixes
2025-04-13 19:03:17 -07:00
Ryan Houdek
2919c32a8f
Merge pull request #4497 from pmatos/CleanupGCCTests
...
Cleanup info test files for 32bits
2025-04-11 17:43:09 -07:00
Billy Laws
05be9e9c37
Windows: Process cross-process notifications before code compilation
2025-04-11 12:07:16 +01:00
Billy Laws
039aaae041
FEXCore: Add a pre-compilation frontend callback to SyscallHandler
2025-04-11 12:07:16 +01:00
Billy Laws
890653ae39
WOW64: Handle the image mapped callback
2025-04-11 12:07:16 +01:00
Billy Laws
8644fdd595
ARM64EC: Slight cleanup
2025-04-11 12:07:16 +01:00
Billy Laws
4fca8fb8e6
AllocatorHooks: Correctly restore the region protection in VirtualDontNeed
2025-04-11 12:07:16 +01:00
Billy Laws
9625201cbf
Frontend: Remove asserts on invalid instruction encodings
2025-04-11 12:06:01 +01:00
Paulo Matos
e7dea56adf
NFC: Cleanup info test files for 32bits
...
No point in duplicating test info between Disabled and Known Failures.
Leaving tests known to fail in Known_Failures. Flakes / Unreliable tests go into Disabled_Tests.
2025-04-11 10:50:41 +02:00
LC
5b802d17d1
Merge pull request #4498 from Sonicadvance1/fix_llseek
...
LinuxSyscalls: Fixes 32-bit llseek result
2025-04-10 16:18:54 -04:00
Ryan Houdek
a43ddba87c
LinuxSyscalls: Fixes 32-bit llseek result
...
`llseek` returns only ever 0 or errno in the return register. This is in
contrast to `lseek` which returns the result (or errno) in the return
register.
We were accidentally returning the result on non-error conditions which
could freak out some software. Thanks to
[OFFTKP](https://github.com/OFFTKP ) for pointing out this issue
2025-04-10 13:08:06 -07:00
Tony Wasserka
f1d007ca4c
Merge pull request #4495 from pmatos/CleanupCompWarn
...
Cleanup compile warnings
2025-04-10 16:40:46 +02:00
Paulo Matos
c2111e7384
Cleanup compile warnings
2025-04-10 08:49:51 +02:00
Billy Laws
a1c6378317
Frontend: Only accept POP opcodes with a 0 ModRM.reg field
2025-04-09 23:04:11 +01:00
Billy Laws
f064013b9a
Frontend: Enforce FLAGS_SF_MOD_MEM_ONLY/FLAGS_SF_MOD_REG_ONLY
2025-04-09 23:02:09 +01:00
Billy Laws
d4480c3566
X86Tables: Mark VMOVNTDQ as FLAGS_SF_MOD_MEM_ONLY
2025-04-09 23:01:26 +01:00
Billy Laws
b3a4de7aa8
X86Tables: Mark MASKMOVQ as FLAGS_SF_MOD_REG_ONLY
2025-04-09 23:01:26 +01:00
Billy Laws
60d8131a4d
X86Tables: Drop FLAGS_SF_MOD_MEM_ONLY from (V)MOV(L/H)PS
...
These encodings are shared with MOVLHPS/MOVHLPS and FEX handles both variants.
2025-04-09 23:01:26 +01:00
Billy Laws
6d78aefa13
Frontend: Ignore REX register extension for MMX registers
2025-04-09 23:01:26 +01:00
Billy Laws
badd953600
unittests: Test for REX.B being ignored with MMX registers
2025-04-09 23:01:26 +01:00
LC
5d385c540d
Merge pull request #4489 from Sonicadvance1/reduce_stack_cpu_count
...
FEXCore: Reduce stack usage in CalculateNumberOfCPUs
2025-04-09 12:40:52 -04:00
Ryan Houdek
52351902ee
Merge pull request #4488 from pmatos/EnableUBSAN
...
Add option to enable UBSAN
2025-04-09 00:13:29 -07:00
Paulo Matos
6e697e5ec1
Add option to enable UBSAN
2025-04-09 08:58:24 +02:00
Ryan Houdek
c55c8979f1
AOTGen: Only calculate number of CPU cores once
...
Removes some per-iteration string processing and file IO.
2025-04-08 22:55:55 -07:00
Ryan Houdek
7ca757bb6d
FEXCore: Move CPUInfo to FEX
...
This is only ever used in the frontend now.
2025-04-08 22:54:43 -07:00
Ryan Houdek
c2d59b02bd
FEXCore: Reduce stack usage in CalculateNumberOfCPUs
...
Nothing crazy, just recalculate the maximum string length rather than
use PATH_MAX.
2025-04-08 22:54:43 -07:00
LC
45b638fc45
Merge pull request #4491 from Sonicadvance1/push_pop_callee
...
FEXCore/Emitter: Stop creating a vector on the heap
2025-04-09 01:46:34 -04:00
Ryan Houdek
5767c61a91
FEXCore/Emitter: Stop creating a vector on the heap
...
In the Push/Pop CalleeSavedRegisters these vectors were getting created
on the heap, allocating memory and then just iterating them.
Just use a std::array which makes it stop allocating memory and saves
the number of instructions.
2025-04-08 18:36:47 -07:00
LC
e3f8a817e0
Merge pull request #4490 from Sonicadvance1/remove_old_workaround
...
FEXCore/Allocator: Removes old workaround for kernel 4.17
2025-04-08 21:34:47 -04:00
Ryan Houdek
4377603d7e
FEXCore/Allocator: Removes old workaround for kernel 4.17
...
This was only used for working around our old CI machines and now that
our minimum kernel requirement is 5.15 this isn't required anymore.
2025-04-08 18:22:39 -07:00
LC
bc72239181
Merge pull request #4485 from Sonicadvance1/softfloat-3e_potara_cephes
...
cephes: Rewrite to use softfloat-3e 128-bit
2025-04-08 11:26:01 -04:00
Ryan Houdek
2d7f37386e
Softfloat: Remove warnings
...
These precision warnings are no longer true!
2025-04-07 15:22:24 -07:00
Ryan Houdek
dffba2d83c
unittests/ASM: Enable x87 tests under simulator
...
Since the x86 simulator is now handling these instructions at 128-bit
precision, these now just work.
2025-04-07 15:13:04 -07:00
Ryan Houdek
0fbb6aa02f
cephes: Rewrite to use softfloat-3e 128-bit
...
And also use it at the same time, since the function signatures changed.
Instead of relying on the host libc math libraries for `long double` ALU
operations, rewrite the entire thing to use softfloat-3e fixed width
float128_t types.
This is a very invasive change in cephes but is a necessary requirement
for getting the precision we require in environments that map `long
double` to be the same as `double`, like Win32 and MacOS.
This fixes the precision issue in transcendental operations when running
under WINE.
2025-04-07 15:13:04 -07:00
Ryan Houdek
7364affd69
Softfloat-3e: Adds some missing files and passes state through
2025-04-07 14:57:48 -07:00
LC
09e622d5a0
Merge pull request #4482 from Sonicadvance1/softfloat_3e
...
Softfloat-3e: Add support for f128
2025-04-06 18:03:35 -04:00
Ryan Houdek
21ccaf56e6
Softfloat-3e: Add support for f128
...
This is going to be necessary soon.
2025-04-05 17:48:57 -07:00
Ryan Houdek
d8cd807520
Softfloat-3e: Moves to Externals
2025-04-05 17:26:15 -07:00