Ryan Houdek
b5dc6a69c7
IR: Removes implicit sized sub
2023-08-28 22:05:02 -07:00
Ryan Houdek
a276b37252
IR: Removes bfi from variable size
...
This one was already explicit sized. Just convert it over to OpSize.
2023-08-28 21:31:37 -07:00
Ryan Houdek
8bc84c202c
IR: Removes implicit sized xor
2023-08-28 19:51:14 -07:00
Ryan Houdek
e9a3848602
Merge pull request #3027 from Sonicadvance1/remove_implicit_andn
...
IR: Removes implicit sized andn
2023-08-28 19:39:49 -07:00
Ryan Houdek
1699ec9a76
IR: Removes implicit sized andn
2023-08-28 19:16:16 -07:00
Ryan Houdek
db6c8852fc
IR: Removes implicit sized or
2023-08-28 19:06:05 -07:00
Ryan Houdek
65dc6f3e90
IR: Removes implicit sized lshr
2023-08-28 18:16:56 -07:00
Ryan Houdek
60c4438780
IR: Removes implicit sized lshl
2023-08-28 17:50:41 -07:00
Ryan Houdek
898ce1ce8f
IR: Removes implicit sized UMulH
2023-08-28 17:20:55 -07:00
Ryan Houdek
aa8dfd6af1
IR: Removes implicit sized UMul
2023-08-28 17:20:55 -07:00
Ryan Houdek
6a6d808b0d
IR: Removes implicit sized MulH
2023-08-28 17:20:55 -07:00
Ryan Houdek
fac5b2ac72
IR: Removes implicit sized Mul
2023-08-28 17:20:55 -07:00
Ryan Houdek
b9e4a1423f
IR: Removes sext IR helper
...
You hold no power here IR operation.
2023-08-28 17:03:38 -07:00
Ryan Houdek
c0bb6a053f
IR: Removes implicit sized {Create,Extract}ElementPair
2023-08-28 16:50:00 -07:00
Ryan Houdek
bc1e89d91d
Merge pull request #3020 from Sonicadvance1/remove_implicit_ops_pt_atomic
...
Remove implicit sized IR ops part atomic
2023-08-28 07:27:47 -07:00
Ryan Houdek
c1b4c11e54
Merge pull request #3018 from Sonicadvance1/opcodedispatcher_sizeopt
...
OpcodeDispatcher: Optimize Get{Src,Dst}Size
2023-08-28 07:13:41 -07:00
Ryan Houdek
a36427d01e
IR: Removes implicit sized CAS
2023-08-28 07:12:31 -07:00
Ryan Houdek
594baff705
IR: Removes implicit sized CASPair
2023-08-28 07:12:31 -07:00
Ryan Houdek
6dcfd6eb73
IR: Removes non-opsize AtomicXor
2023-08-28 07:12:31 -07:00
Ryan Houdek
4f8a63459c
IR: Removes non-opsize AtomicSwap
2023-08-28 07:12:31 -07:00
Ryan Houdek
ab230bf527
IR: Removes non-opsize AtomicFetchAdd
2023-08-28 07:12:31 -07:00
Ryan Houdek
8ba9613972
IR: Removes non-opsize AtomicFetchSub
2023-08-28 07:12:31 -07:00
Ryan Houdek
9370e30af4
IR: Removes non-opsize AtomicFetchAnd
2023-08-28 07:12:31 -07:00
Ryan Houdek
25ce57ef92
IR: Removes non-opsize AtomicFetchOr
2023-08-28 07:12:31 -07:00
Ryan Houdek
436e0f6f86
IR: Removes non-opsize AtomicFetchXor
2023-08-28 07:12:31 -07:00
Ryan Houdek
f44c6f394f
IR: Removes non-opsize AtomicFetchNeg
2023-08-28 07:12:31 -07:00
Ryan Houdek
bb1362b2bf
OpcodeDispatcher: Optimize Get{Src,Dst}Size
...
These functions are called a lot....a lot a lot.
Optimize these in to a couple of ALU operations instead of a whole
table lookup. Confirming with output assembly that this becomes more
optimal.
2023-08-28 05:29:56 -07:00
Ryan Houdek
51baf594c9
OpcodeDispatchers: Adds OpSizeFromSrc/Dst helpers
...
To reduce how cluttered `IR::SizeToOpSize(GetSrcSize(Op))` is.
2023-08-28 05:11:32 -07:00
Ryan Houdek
48669b7006
IR: Removes implicit sized orlshl/orlshr
2023-08-28 05:04:32 -07:00
Ryan Houdek
16481c0e55
IR: Removes implicit sized rev
2023-08-28 05:04:32 -07:00
Ryan Houdek
b00310674a
IR: Removes implicit sized not
2023-08-28 05:04:32 -07:00
Ryan Houdek
5768444ce9
IR: Removes implicit sized abs
2023-08-28 05:04:32 -07:00
Ryan Houdek
1f1473eb74
IR: Removes implicit sized neg
2023-08-28 05:04:32 -07:00
Ryan Houdek
cccd7001cb
IR: Removes implicit sized ashr
2023-08-28 05:04:32 -07:00
Ryan Houdek
ce8392d5ae
IR: Removes implicit sized ror
2023-08-28 05:02:01 -07:00
Ryan Houdek
386cf36cfd
IR: Removes implicit sized sbfe
...
This one is a bit weird since currently it /always/ assumes a 64-bit
operating size.
We'll likely need to revisit this.
2023-08-28 05:02:01 -07:00
Ryan Houdek
0ddc23a5c9
IR: Removes implicit sized Popcount
2023-08-28 05:02:01 -07:00
Ryan Houdek
b95648a4ab
IR: Removes implicit sized FindMSB
2023-08-28 05:02:01 -07:00
Ryan Houdek
bf18672999
IR: Removes implicit sized FindLSB
2023-08-28 05:02:01 -07:00
Ryan Houdek
f405c1be69
IR: Removes inverted EntrypointOffset/InlineEntrypointOffset
2023-08-28 05:02:01 -07:00
Ryan Houdek
f3cd115fa7
IR: Removes implicit sized CountLeadingZeroes
2023-08-28 05:02:00 -07:00
Ryan Houdek
a14720e130
IR: Removes implicit sized FindTrailingZeroes
2023-08-28 05:02:00 -07:00
Ryan Houdek
86ed909de8
IR: Removes implicit sized DIV/REM
2023-08-28 05:02:00 -07:00
Ryan Houdek
ac7e75c06b
IR: Removes implicit sized UDIV/UREM
2023-08-28 05:02:00 -07:00
Ryan Houdek
ec3e7ceeb5
IR: Removes implicit sized EXTR
2023-08-28 05:02:00 -07:00
Ryan Houdek
c8c8ddbd4f
IR: Removes implicit sized PDEP/PEXT
2023-08-28 05:02:00 -07:00
Ryan Houdek
62a9a075b7
Arm64: Leave a comment that 32-bit division shouldn't leave garbage in upper 64-bits
2023-08-28 05:02:00 -07:00
Ryan Houdek
ea6d068cc5
IR: Removes implicit sized LDIV/LREM
2023-08-28 05:02:00 -07:00
Ryan Houdek
5013473ec0
IR: Removes implicit sized LUDIV/LUREM
2023-08-28 05:02:00 -07:00
Ryan Houdek
6f2b3e76ac
Merge pull request #3013 from Sonicadvance1/32bit_sra
...
IR/Passes/RA: Enable SRA for 32-bit GPRs
2023-08-27 21:30:39 -07:00