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 |
nickysn
|
aa93259463
+ support the lahf,fstsw and fnstsw instructions in
|
8 years ago |
nickysn
|
92cc447326
+ support the aam instruction in TX86AsmOptimizer.RegLoadedWithNewValue
|
8 years ago |
nickysn
|
2431b1fa19
+ support the lodsb,lodsw,lodsd and lodsq instructions in
|
8 years ago |
nickysn
|
6b7593d7d0
+ support the SETcc instructions in TX86AsmOptimizer.RegLoadedWithNewValue
|
8 years ago |
nickysn
|
e10f184b74
+ support lds,les,lfs,lgs and lss in TX86AsmOptimizer.RegLoadedWithNewValue
|
8 years ago |
nickysn
|
eac74f5a81
+ support the cwd,cdq,cqo and cbw instructions in
|
8 years ago |
nickysn
|
1a139b951d
+ properly support the one operand version of imul and mul in
|
8 years ago |
nickysn
|
65960048c8
* fixed TX86AsmOptimizer.RegLoadedWithNewValue for 3-operand imul, where the
|
8 years ago |
nickysn
|
1f5aec6d3d
+ make use of the Reg1WriteOverwritesReg2Entirely and Reg1ReadDependsOnReg2
|
8 years ago |
nickysn
|
66c350d8d2
* fixed access violation bug in TX86AsmOptimizer.RegLoadedWithNewValue for the
|
8 years ago |
nickysn
|
e6e55b3004
+ added function TX86AsmOptimizer.Reg1ReadDependsOnReg2, which checks whether
|
8 years ago |
nickysn
|
33f9b36a54
+ added and implemented function TX86AsmOptimizer.Reg1WriteOverwritesReg2Entirely,
|
8 years ago |
yury
|
94a65e99f1
* Removed unused var.
|
8 years ago |
florian
|
f68558b88c
* factored out TX86AsmOptimizer.OptPass2Imul
|
8 years ago |
florian
|
ebb2b81f79
* FoldLea optimizes more cases
|
8 years ago |
florian
|
781d6f31a8
* more getsupreg(...)<>/=getsupreg(...) replaced by SuperRegisterEqual which is more safe, the former could break as the register could have different register types
|
8 years ago |