florian
|
674398c5a5
* i8086 compilation fixed after r37572
|
7 years ago |
florian
|
73fda1ccb6
* factored out OptPass1Sub
|
7 years ago |
florian
|
4da4b768ec
* factored out PostPeepholeOptTest
|
7 years ago |
florian
|
3097eaf8ee
* made PostPeepholeOptMov a function
|
7 years ago |
florian
|
a7ea7fb569
* factored out PostPeepholeOptCmp
|
7 years ago |
nickysn
|
80226e3af4
+ added an optimization pass, that optimizes x86 references
|
7 years ago |
florian
|
ce7487b7de
o patch by J. Gareth "Kit" Moreton, resolves partially issue #32037
|
7 years ago |
florian
|
15b617546e
+ call TX86AsmOptimizer.OptPass1VOP for logical operations as well
|
7 years ago |
florian
|
05ecd784f2
* factored out OptPass1LEA and use it for x86-64 as well
|
8 years ago |
florian
|
22956c4393
+ TX86AsmOptimizer.OptPass1OP
|
8 years ago |
florian
|
c83e6991d5
* properly check number of operands
|
8 years ago |
yury
|
884cb758e7
* Ensure the number of operands is 2 for MOVXX instructions in OptPass1MOVXX. Otherwise the classic MOVSD/W/B no-operand instructions (REP MOVSX) cause AV during checks of operands. The AV is thrown when trying to compile ucomplex.pp with -Cfsse3.
|
8 years ago |
florian
|
3c5ec4e76c
* allocate register correctly for "MovMov2Mov 2"
|
8 years ago |
florian
|
1ffdf02b94
+ Ch_*Op4
|
8 years ago |
florian
|
0f16f6d94d
+ OptPass1MOVXX
|
8 years ago |
florian
|
535c990233
+ OptPass1MOVAP
|
8 years ago |
florian
|
3ade6ae9b8
+ Mov2Nop optimization
|
8 years ago |
florian
|
f4a29bb75d
* moved InstructionLoadsFromReg and RegReadByInstruction from TCpuAsmOptimizer (i386) to TX86AsmOptimizer
|
8 years ago |
florian
|
f93b784895
* make fullcycle for i8086 fixed
|
8 years ago |
florian
|
52d3756c26
* factored out OptPass1Movx and merged i386 and x86-64 version
|
8 years ago |
florian
|
06c4c651fd
* factored out PrePeepholeOptSxx
|
8 years ago |
florian
|
74b338266d
* ifdef cmov optimization, as i8086 has no cpu_capabilities
|
8 years ago |
florian
|
f8d517be70
* make TX86AsmOptimizer.IsExitCode usable for x86-64 as well
|
8 years ago |
florian
|
4a43d992f5
* unified usage of MatchOpType
|
8 years ago |
florian
|
7afe762d22
* factored out OptPass2Jcc assembler optimization
|
8 years ago |
florian
|
e3f0b338d4
* SkipLabels moved to aoptutils
|
8 years ago |
florian
|
f985971a62
* apply mov reg1, mem1; cmp x, mem1 to mov reg1, mem1; cmp x, reg1 also for test
|
8 years ago |
nickysn
|
b882ba5fd2
+ also recognize sbb reg,reg as writing a new value in the register in TX86AsmOptimizer.RegLoadedWithNewValue
|
8 years ago |
nickysn
|
0e0e5c0caf
+ support the flags register and its subregisters in TX86AsmOptimizer.RegLoadedWithNewValue
|
8 years ago |
nickysn
|
85fbbec319
+ recognize xor reg,reg (same register twice) and sub reg,reg as writing a new
|
8 years ago |