florian
|
578ce51fc3
* fix broken merge
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
f4e28ab357
* x86: Fixes to GetInt/MMRegisterBetween assignments
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
62d5ddffb8
* x86: Improvement to CMP/JE/CMP/@Lbl/SETE ->
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
1fd2d3a83d
* x86: Improved TrySwapMovCmp to insert before
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
f62ffa74dc
* x86: Changed the names of temporary register
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
627fb9a25b
* x86: New jump/label tracking in CrossJump optimisations
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
92a0640bcc
* Local speedup in OptPass1LEA that avoids expensive calls if p and
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
305e49c0b8
* Some streamlining in x86's OptPass1LEA routine now that the stack
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
96aa2bbf74
* [x86] Added new RefsMightOverlap method and implemented it into the XMM memory move optimisations to catch memory overlaps; fixes bug i39627
|
3 years ago |
florian
|
68bc5da3a2
* fix MovapXComisX2ComisX2 optimization
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
5738a6ccf1
Refactoring and bug fix in OptPass2Movx that could cause incorrect
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
d209d3ba84
Refactoring procedures in aoptx86 to gain speed boosts
|
3 years ago |
florian
|
1cd8c249b1
* throw an internal error if the reference of lea contains a segment register
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
696b7b6f68
* x86: Improvements to JccMov2CMov to catch Jcc @Lbl; <movs>; JMP @Lbl
|
3 years ago |
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 |