Commit History

Author SHA1 Message Date
  florian c7290bfb78 * enclose {$define DEBUG_AOPTCPU} in {$ifdef EXTDEBUG} 5 months ago
  Karoly Balogh e09304f671 m68k: do not try to optimize CMP #0,Ax to TST Ax, if the CPU doesn't support it 5 months ago
  Karoly Balogh 627734e104 m68k: try to fold two consecutive AND instructions into one. This usually happens when a zero extension is followed by another AND. 1 year ago
  Karoly Balogh d9c786fee6 m68k: also allow TST from before Sxx instructions with explicit .b size to be optimized away 1 year ago
  Karoly Balogh 88ffc9e228 m68k: refactored the optimizer to avoid direct asml management where possible, and use standard functions instead 1 year ago
  Karoly Balogh 020ca55e25 m68k: add more cases, where TST instructions can beoptimized away, because the previous instruction already sets all the required flags 1 year ago
  Karoly Balogh 6bbb10e64d m68k: do not generate LEA instructions with explicitly specified size. only long is possible anyway. 2 years ago
  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 years ago
  Károly Balogh 16a21eea87 m68k: the LEA+MOVEM to MOVEM optimization is not feasible on a ColdFire 4 years ago
  florian 0ab69ea0ad + m68k: LEA, MOVE(M) to MOVE(M) predecremented optimization and MOVE(M), LEA to MOVE(M) postincremented optimization 4 years ago
  florian 817ef6949a * m68k: MOVE, TST, Jxx/Sxx to MOVE, Jxx optimization 4 years ago
  florian bb8c3fd153 * made optimization JSR, RTS to JMP more bullet proof, added comment 4 years ago
  florian a849e51a3c + m68k: JSR, RTS to JMP optimization 4 years ago
  Károly Balogh fc5c35362b m68k: preparations for upcoming full instruction tables, mostly converting code away from using sets of opcodes 5 years ago
  pierre 7d12e8cc6d Avoid warnings for m68k compiler 5 years ago
  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 6 years ago
  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 6 years ago
  Károly Balogh 0ef47f6426 m68k: tabs 2 spaces, no functional changes 6 years ago
  Jonas Maebe 122d0d36d6 + volatile() expression that marks an expression as volatile 6 years ago
  pierre 2761448f44 * Disable range check for m68k/aoptcpu unit 6 years ago
  pierre 96460b70b2 Remove another wrong typecast when testing that a tai is an instruction 6 years ago
  pierre a015c779ff Remove unneeded typecasts in TryTOptimizeMove 6 years ago
  Jonas Maebe 4686f61002 * keep track of the temp position separately from the offset in references, 7 years ago
  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 years ago
  Károly Balogh 40fb45aef6 m68k: attempt to make MOVE+OP+MOVE optmization more robust. this fixes random exceptions in tfmtbcd test among others 8 years ago
  Jonas Maebe a25ebbba3e + added volatility information to all memory references 8 years ago
  Károly Balogh a595877da3 m68k: in fmove + op + fmove optimizations, allow the ops precision to be different to the fmoves 8 years ago
  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 years ago
  Károly Balogh 41776e9608 m68k: on a '000, optimize CLR.L Dx to MOVEQ #0,Dx which is slightly faster 8 years ago
  Károly Balogh 424f329173 m68k: use inlined realconsts also during normal float calculations on '881/040/060. also optimize them where possible 9 years ago