J. Gareth "Curious Kit" Moreton
|
c4ea01cf3d
Improved JccMov1JmpMov0Jmp -> SETcc optimisation
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
29625c7112
Fixed registers in references not being tracked properly in MovMovXX2MovXX 1 optimisation
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
69fff102af
Added correct flag tracking for JccMov2CMov optimisations
|
3 years ago |
florian
|
2a7744df80
* check also for 64 bit registers in TX86AsmOptimizer.RegModifiedByInstruction
|
3 years ago |
florian
|
c062061d6d
+ MovapXComisX2ComisX2 optimization
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
32d6cf7093
Fixed and refactored MOVX optimisation that occasionally caused crashes on i386 platforms
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
bb49c190af
New MOV optimisation that helps reduce instruction count and memory accesses
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
67a1d52806
JccAdd2SetccAdd modified to make use of GetIntRegisterBetween
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
30166f8eb7
Procedure-saved registers are now recorded for peephole optimizers to use
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
15a5a62eb4
New backward MOV optimisation
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
33cf86ff9f
PostPeepholeOptTestOr now removes TEST when dealing with POPCNT and LZCNT
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
116c861af6
MOV/CMP optimisation is now in both Pass 1 and Pass 2 to catch more
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
8609c0803e
Fixed MovxOp2Op failing on i386 due to lack of register check
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
f289f2694a
x86: Additions to OptPass2Movx to better synergise with new CMP optimisation under -O2
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
683a92bcc8
i386: Correction to GetIntRegisterBetween to ensure we only get 8-bit registers that we can actually encode
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
1da7ce46de
x86: New double CMP optimisation to remove a branch
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
cafd708b6d
Refactoring of OptPass2Movx to remove goto
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
22cd8d5d62
Fixed bug in MovxMovx2Movx optimisation that would specify a 64-bit destination instead of 32-bit one
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
b4c8c1da12
Overflow bug fixes to MovZX/SX optimisations when CMP instructions are encountered.
|
3 years ago |
florian
|
6dbe71cd30
* TX86AsmOptimizer.OptPass1MOVXX should search only over other instructions if it works with registers only
|
3 years ago |
florian
|
6147d6d8a0
* compilation with i386 fixed
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
d083cc7247
New MovxAndTest2Test optimisation to mirror the regular MovAndTest2Test optimisation
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
5b4c104aaf
Massive overhaul to OptPass2Movx to favour operand shrinkage
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
d255ffba8b
Improved handling of signed sequences in OptPass2Movx
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
01e5f4855a
MovZX->MovSX optimisation
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
4825d2d16c
New Movz ###,%ecx, shift/rotate %cl,... optimisation
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
f02b7508de
Bolder OptPass2Movx optimisations, including a simplification fix
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
da899df6b2
New MovxMovxOp2OpMovx optimisation
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
40196f4a43
Fixes to ADD/SUB 128 optimisation that didn't check flags properly, and also handling ADC/SBB properly
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
b4bd15a5c0
Removed incorrect logic in TEST optimisation
|
3 years ago |