Karoly Balogh
|
88ffc9e228
m68k: refactored the optimizer to avoid direct asml management where possible, and use standard functions instead
|
1 жил өмнө |
Karoly Balogh
|
020ca55e25
m68k: add more cases, where TST instructions can beoptimized away, because the previous instruction already sets all the required flags
|
1 жил өмнө |
Karoly Balogh
|
6bbb10e64d
m68k: do not generate LEA instructions with explicitly specified size. only long is possible anyway.
|
2 жил өмнө |
Károly Balogh
|
da1746426b
m68k: do not optimize away fmove fpureg0, intreg0; fmove intreg0; fpureg0; constructs, they're used for rounding to single on FPUs with no resultprecision encoding
|
4 жил өмнө |
Károly Balogh
|
16a21eea87
m68k: the LEA+MOVEM to MOVEM optimization is not feasible on a ColdFire
|
4 жил өмнө |
florian
|
0ab69ea0ad
+ m68k: LEA, MOVE(M) to MOVE(M) predecremented optimization and MOVE(M), LEA to MOVE(M) postincremented optimization
|
4 жил өмнө |
florian
|
817ef6949a
* m68k: MOVE, TST, Jxx/Sxx to MOVE, Jxx optimization
|
4 жил өмнө |
florian
|
bb8c3fd153
* made optimization JSR, RTS to JMP more bullet proof, added comment
|
4 жил өмнө |
florian
|
a849e51a3c
+ m68k: JSR, RTS to JMP optimization
|
4 жил өмнө |
Károly Balogh
|
fc5c35362b
m68k: preparations for upcoming full instruction tables, mostly converting code away from using sets of opcodes
|
5 жил өмнө |
pierre
|
7d12e8cc6d
Avoid warnings for m68k compiler
|
5 жил өмнө |
Károly Balogh
|
16fc8c8d9a
m68k: added some handling for the explicit precision FPU instructions in the spilling and optimizer. fixed a_fsabs and a_fdabs names
|
5 жил өмнө |
Károly Balogh
|
36286441b2
m68k: try to optimize realconst operands into B/W/L sized integer operands. these are shorter to encode - which almost always means faster on m68k
|
5 жил өмнө |
Károly Balogh
|
0ef47f6426
m68k: tabs 2 spaces, no functional changes
|
6 жил өмнө |
Jonas Maebe
|
122d0d36d6
+ volatile() expression that marks an expression as volatile
|
6 жил өмнө |
pierre
|
2761448f44
* Disable range check for m68k/aoptcpu unit
|
6 жил өмнө |
pierre
|
96460b70b2
Remove another wrong typecast when testing that a tai is an instruction
|
6 жил өмнө |
pierre
|
a015c779ff
Remove unneeded typecasts in TryTOptimizeMove
|
6 жил өмнө |
Jonas Maebe
|
4686f61002
* keep track of the temp position separately from the offset in references,
|
7 жил өмнө |
Károly Balogh
|
90b1c8e5ed
m68k: the previous attempt in r36480 broke more tests than it fixed, so lets revert to previous version and disable MOVE+OP+MOVE optimizations instead
|
8 жил өмнө |
Károly Balogh
|
40fb45aef6
m68k: attempt to make MOVE+OP+MOVE optmization more robust. this fixes random exceptions in tfmtbcd test among others
|
8 жил өмнө |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 жил өмнө |
Károly Balogh
|
a595877da3
m68k: in fmove + op + fmove optimizations, allow the ops precision to be different to the fmoves
|
8 жил өмнө |
Károly Balogh
|
98d4c426cb
m68k: some groundwork for an improved optimizer, now tries to optimize away MOVE/FMOVE based unnecessary register shuffling around ops when possible (with room for further improvements)
|
8 жил өмнө |
Károly Balogh
|
41776e9608
m68k: on a '000, optimize CLR.L Dx to MOVEQ #0,Dx which is slightly faster
|
8 жил өмнө |
Károly Balogh
|
424f329173
m68k: use inlined realconsts also during normal float calculations on '881/040/060. also optimize them where possible
|
9 жил өмнө |
Károly Balogh
|
2dbfca4e8e
m68k: optimize a few cases of comparisons against inlined realconsts
|
9 жил өмнө |
Károly Balogh
|
2b3bd71735
m68k: include CMPI in the CMP to TST optimization
|
9 жил өмнө |
Károly Balogh
|
b617345e43
m68k: disabled premature MOVEA #0,Ax to SUBA Ax,Ax in the CG, because it breaks with spilling temp replacement and moved it to the optimizer, where it belongs. this fixes some code with potentially heavy address register pressure, like the IDE.
|
10 жил өмнө |
Károly Balogh
|
05d38053f7
m68k: optimize a few more trivial cases
|
10 жил өмнө |