Ryan Houdek
217bbf423b
FEXCore: Switch constant emission to default to NoPad
...
Most constants don't need to be padded for relocations. So now that
these have all been audited, switch to defaulting to NoPad to reduce
verbosity.
The number of constant that need to be explicitly padded are now marked
and with all the prior changes, this allows bisecting if something has
gone wrong.
2025-12-29 11:45:51 -08:00
Ryan Houdek
2f1017efed
Core/Addressing: Constant audit
2025-12-29 11:29:02 -08:00
Lioncache
c1cfd4db83
Addressing: Shave 8 bytes off AddressMode
...
Just a trivial rearrangement, Drops the struct down to 40 bytes.
We can also make some functions take it by const reference so we
aren't churning some copies.
Before:
text data bss dec hex filename
4160559 1471360 4336824 9968743 981c67 Bin/FEX
After:
text data bss dec hex filename
4159927 1471360 4336824 9968111 9819ef Bin/FEX
2025-10-06 15:52:15 -04:00
Lioncache
f76e8c7185
IR: Convert MemOffsetType to enum class
...
Gets rid of another wrapper struct.
2025-10-02 00:24:42 -04:00
Alyssa Rosenzweig
68ad916a91
Addressing: remove closures from SelectAddressMode
...
this is hot and closures make the assembly harder to reason about.
No difference at 95%.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-08 15:46:35 -04:00
Alyssa Rosenzweig
f336261d6b
IR: introduce & use more add helpers
...
so we can stash all the opts.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
c6324b83ea
IR: introduce & use constant add helpers
...
more ergonomic and gives us a place to stash more logic.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-08-06 20:40:49 -04:00
Alyssa Rosenzweig
6b3c7319c4
IR: wrap _Constant as Constant
...
flag day rename/wrapping. no functional change.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-07-26 09:33:15 -04:00
Alyssa Rosenzweig
7d734740be
Addressing: avoid a Bfe
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-02 14:15:51 -04:00
Lioncache
ff2c2f1e1f
Addressing: Remove unnecessary assert in LoadEffectiveAddress()
...
ilog2 already has an assert for this.
2025-03-28 06:08:08 -04:00
Lioncache
35ee12e7e9
Addressing: Amend binary AND into logical AND in SelectAddressMode()
...
Bitwise AND here is a little odd and was likely intended to be a logical AND.
2025-03-27 17:29:08 -04:00
Paulo Matos
b18f148575
Abstract AddressMode into its own header
...
Also refactor usage of utility functions into x87 Stack Optimization Pass.
2025-03-20 11:41:26 +01:00