LC
6bc808cb06
VectorOps: Add trivial case handling in VSQXTN2
...
Lets us generate much more optimal code in the event the destination and
lower source are the same.
2026-07-15 07:49:50 -04:00
Ryan Houdek
12e8cf008a
Merge pull request #5744 from lioncash/telem
...
AtomicOps: Avoid constrained unpredictable case in TelemetrySetValue()
2026-07-13 16:37:51 -07:00
LC
9e8e87bbb2
AtomicOps: Avoid constrained unpredictable case in TelemetrySetValue()
...
STLXR cannot use the same register as both the status register and the
value register, otherwise it's architecturally unpredictable
behavior.
Only applies to hardware without FEAT_LSE, so this only meaningfully
affects hardware using the v8.0 spec, since FEAT_LSE becomes mandatory
in v8.1 and newer.
2026-07-13 19:08:17 -04:00
Ryan Houdek
76c4ebb36f
Merge pull request #5743 from lioncash/str
...
StringUtils: Handle strings entirely composed of whitespace in trims
2026-07-13 15:40:50 -07:00
Ryan Houdek
9ff322eeed
Merge pull request #5742 from lioncash/sema
...
x32/Semaphore: Fix storing of message type in msgrcv
2026-07-13 15:40:07 -07:00
LC
4afa49824e
StringUtils: Handle strings entirely composed of whitespace in trims
...
Previously this wouldn't handle fully whitespaced strings.
2026-07-13 17:37:09 -04:00
LC
23402bf31b
x32/Semaphore: Fix storing of message type in msgrcv
...
This was previously storing into the local compat handler, not the
actual managed message.
2026-07-13 17:30:27 -04:00
LC
50be718b72
x32/Semaphore: Mark _ipc as static
...
This isn't used outside of the translation unit.
2026-07-13 17:30:24 -04:00
Ryan Houdek
903e7db427
Merge pull request #5741 from lioncash/file
2026-07-13 14:13:13 -07:00
LC
5e5e9e0803
Utils/File: Fix handle releasing
...
ShouldClose was never being set in the event we opened a regular file.
The only time it was set (to false) is when it's used to encapsulate
stderr and stdout.
So anything opened by a File instance was essentially held open.
2026-07-13 16:01:28 -04:00
Ryan Houdek
ce27754b9d
Merge pull request #5740 from lioncash/ra
...
RegisterAllocationPass: Function cleanup
2026-07-13 12:42:45 -07:00
LC
4254c0f5a9
RegisterAllocationPass: Function cleanup
...
Marks a few functions const or static to clarify usage a little more.
2026-07-13 15:26:51 -04:00
Ryan Houdek
7efc3ecaba
Merge pull request #5739 from lioncash/zero
...
Vector: Indicate 128-bit zero vector in DefaultX87State()
2026-07-13 11:59:22 -07:00
LC
2934b01d58
Vector: Indicate 128-bit zero vector in DefaultX87State()
...
Same functional behavior, just makes it visually match the store size
below. Technically also avoids delegating off to the 64-bit element
path if a 128-bit constant zero is already loaded.
2026-07-13 14:07:12 -04:00
LC
192e363701
Merge pull request #5738 from Sonicadvance1/186
...
64BitAllocator: Removes unused additional size argument
2026-07-13 13:44:11 -04:00
Ryan Houdek
1287365616
64BitAllocator: Removes unused additional size argument
...
This used to be used for the intrusively allocated `LiveVMARegion` but
that is all handled internally to the object now, making this
unnecessary. It was always receiving zero and doing nothing so just
remove it.
2026-07-13 10:18:46 -07:00
Ryan Houdek
4fa539fbb2
Merge pull request #5733 from lioncash/alloc
...
64BitAllocator: Avoid madvising more than necessary in InitializeVMARegionsUsed()
2026-07-13 10:16:57 -07:00
Ryan Houdek
28cdae4687
Merge pull request #5737 from lioncash/bsl
...
VectorOps: Simplify SVE 256-bit VOrn with BSL2N
2026-07-13 10:05:08 -07:00
LC
842e22915c
VectorOps: Simplify SVE 256-bit VOrn with BSL2N
...
Lets us shave off an instruction and also avoid using a temporary
register in some cases. We can also tweak our worst case that requires a
predicate to eliminate the temporary as well.
We can also expand our cmpps cases, so that we can reflect the
BSL2N usages in instcountci.
2026-07-13 12:27:54 -04:00
Ryan Houdek
bd150233ce
Merge pull request #5736 from lioncash/ushrni
...
VectorOps: Make SVE shift==0 case symmetric with ASIMD
2026-07-13 07:56:25 -07:00
LC
24720b67da
VectorOps: Make SVE shift==0 case symmetric with ASIMD
...
Ensures that we have consistent behavior.
2026-07-13 10:26:42 -04:00
Ryan Houdek
356d461123
Merge pull request #5734 from lioncash/bytes
...
Common/BitSet: Amend byte size retrieval
2026-07-13 07:07:00 -07:00
Ryan Houdek
3cbcc7b9f8
Merge pull request #5735 from lioncash/ir
...
IR: Enclose straggler Desc comments in brackets
2026-07-13 07:06:06 -07:00
LC
329f12a888
json_ir_generator: Join successive write calls together for allocator helpers
...
We can just write these out as cohesive units. Also makes adding to them
less annoying.
2026-07-13 09:22:55 -04:00
LC
c0b2eec5de
IR: Enclose straggler Desc comments in brackets
...
Ensures the comments get rendered properly in output. We can also
make sure that the IR generation script catches this in the future.
2026-07-13 08:59:45 -04:00
LC
9b8ae25491
Common/BitSet: Amend byte size retrieval
...
This needs to divide by 8 to get a proper byte size for all type sizes.
The only usage of this is currently a uint64_t, so it worked by
coincidence, since sizeof(uint64_t) == 8.
2026-07-13 08:17:27 -04:00
LC
c0ee865e3e
64BitAllocator: Avoid madvising more than necessary in InitializeVMARegionsUsed
...
Because our bitset type is uint64_t, then that means Memory + ManagedSize
is more like: Memory + (ManagedSize * 8), which is way larger of a base
than we need.
2026-07-12 20:38:19 -04:00
Ryan Houdek
46ec2797ff
Merge pull request #5732 from lioncash/vec
...
Crypto: Clarify zero vector size in SHA1RNDS4Op()
2026-07-12 16:14:26 -07:00
LC
fb2cdc8541
Crypto: Clarify zero vector size in SHA1RNDS4Op()
...
This ends up zeroing out the whole 128-bit vector.
2026-07-12 18:49:27 -04:00
Ryan Houdek
850ef70496
Merge pull request #5731 from lioncash/xar
...
Crypto: Make use of XAR in SHA1NEXTE when available
2026-07-12 14:26:14 -07:00
LC
9d3c388664
Crypto: Make use of XAR in SHA1NEXTE when available
...
Lets us shave an instruction off on hardware that supports XAR.
Closes #5730
2026-07-12 16:02:12 -04:00
Ryan Houdek
f2b679f602
Merge pull request #5728 from lioncash/halves
...
x32/FD: Combine offset halves directly
2026-07-12 11:15:10 -07:00
Ryan Houdek
b9d97dffe7
Merge pull request #5727 from lioncash/vmsplice
...
x32/FD: Make use of SanitizeIOCount for vector construction in vmsplice
2026-07-12 11:14:31 -07:00
Ryan Houdek
7ff0466c2c
Merge pull request #5726 from lioncash/file
...
Utils/File: Handle dual read/write case
2026-07-12 11:09:00 -07:00
Ryan Houdek
a135325185
Merge pull request #5725 from lioncash/dead
...
Signals: Preprocessor disable intentional dead code
2026-07-12 11:06:30 -07:00
LC
a6c8f0d300
x32/FD: Combine offset halves directly
...
Shortens these up a little.
2026-07-12 13:31:48 -04:00
LC
046750354e
x32/FD: Make use of SanitizeIOCount for vector construction in vmsplice
...
Makes this consistent with the other fd syscalls that make temporary
buffers.
2026-07-12 13:01:58 -04:00
LC
e23d703873
Utils/File: Handle dual read/write case
...
According to POSIX open docs, this is a completely separate flag that
isn't a combination of O_RDONLY and O_WRONLY, so we need to handle this
separately.
Makes the codepath behaviorally symmetric with the Windows one.
2026-07-12 12:41:02 -04:00
LC
ca2d2520d2
Signals: Preprocessor disable intentional dead code in userfaultfd
...
Noticed this when going through the syscalls. Avoids potential warnings.
2026-07-12 12:16:07 -04:00
Ryan Houdek
bc16f902d1
Merge pull request #5724 from lioncash/file
...
WinAPI/IO: Fix handling of end of file offset in SetFilePointerEx
2026-07-11 22:44:55 -07:00
LC
f5ae888597
WinAPI/IO: Fix handling of end of file offset in SetFilePointerEx
...
This just means the end of the file is being used as the base offset.
Also note that according to the documentation for SetFilePositionEx,
that setting the position beyond the current file size is not considered
an error as far as the API is concerned.
2026-07-12 01:26:23 -04:00
Ryan Houdek
376e3af058
Merge pull request #5723 from lioncash/gdb
2026-07-11 21:54:57 -07:00
Ryan Houdek
af63c0a9e1
Merge pull request #5722 from lioncash/container
2026-07-11 21:54:20 -07:00
LC
7d149ebec4
GdbServer: Add missing log format argument
2026-07-12 00:28:29 -04:00
LC
37c809471b
ElfContainer: Amend entry iteration in GetDynamicLibs()
...
These were using i in the termination condition, which is for section
headers, not entries.
2026-07-12 00:19:28 -04:00
Ryan Houdek
12baceb859
Merge pull request #5721 from lioncash/win
...
AllocatorHooks: Amend VirtualProtect for Windows
2026-07-11 20:49:16 -07:00
Ryan Houdek
3e6b3c8c40
Merge pull request #5720 from lioncash/hdr
...
64BitAllocator: Remove duplicate headers
2026-07-11 20:33:09 -07:00
LC
25f2021711
AllocatorHooks: Amend VirtualProtect for Windows
...
VirtualProtect returns non-zero on success, also the old protection flag
parameter isn't allowed to be null.
2026-07-11 23:24:30 -04:00
LC
8b30f7dbb5
64BitAllocator: Remove duplicate headers
...
These are already included.
2026-07-11 23:08:29 -04:00
Ryan Houdek
76b35dfeb0
Merge pull request #5719 from lioncash/small
...
64BitAllocator: Avoid overwriting Region[0] in Create64BitAllocatorWithRegions
2026-07-11 19:30:08 -07:00