Commit History

Autor SHA1 Mensaxe Data
  Károly Balogh a99c9c29b6 m68k: basic 68881 FPU register save/restore support. probably still needs some work here and there. %!s(int64=10) %!d(string=hai) anos
  Károly Balogh 7a91d5f495 m68k: oops, unbroke the build with softfpu %!s(int64=10) %!d(string=hai) anos
  Károly Balogh d000b1bc7c m68k: basic 68881 fpu support. probably still broken at umpzillion places, and mostly untested, but at least it builds the RTL and all packages successfully with -Cp68020 -Cf68881 instead of dying with random internalerrors() and now even emits actual FPU opcodes. %!s(int64=10) %!d(string=hai) anos
  Károly Balogh 3b205742b6 m68k: also try to optimize a special case of OP_SAR using the SWAP instruction %!s(int64=11) %!d(string=hai) anos
  Károly Balogh d561e8ab57 m68k: generate smarter shifting/rotation code on 68k, for example by utilizing the SWAP instruction %!s(int64=11) %!d(string=hai) anos
  Károly Balogh 9991ee4165 m68k: support loading of refs to data registers, also when explicit paraloc is set and it's a register, use that directly, this fixes several syscall-related corner cases on Amiga %!s(int64=11) %!d(string=hai) anos
  sergei a5958d6e5f * m68k: do not emit moves between same register, they end up in wrong code in some cases when register needs to be spilled (and entirely useless otherwise). %!s(int64=11) %!d(string=hai) anos
  Károly Balogh 392da9e43f * fix warnings when compiling the compiler with DFA optimizer enabled on m68k %!s(int64=11) %!d(string=hai) anos
  Károly Balogh 9b0bf91076 m68k: do not generate CLR instructions to memory references on plain 68k. there this instruction also causes reads from the address, which is slow and can have side effects. %!s(int64=11) %!d(string=hai) anos
  sergei a28d6a84a7 + m68k, a_load_const_reg: use MOV3Q if applicable for data registers as well, since it allows spilling replacement of destination. %!s(int64=11) %!d(string=hai) anos
  sergei a42ecadddf + m68k: implemented overflow checking (does not work for multiplication yet). %!s(int64=11) %!d(string=hai) anos
  sergei dac52f503c * m68k: fixed extension in a_load_ref_reg. Existing code cleans only bits 16-31 when loading a 8-bit register from 16-bit reference, and leaves garbage in bits 8-15. %!s(int64=11) %!d(string=hai) anos
  sergei b7da785688 * m68k: support stack cleanup at caller side, fixed calculation of pushed parameters size and offsets and cleaned out another pile of junk. %!s(int64=11) %!d(string=hai) anos
  sergei df60309d96 * m68k: fixed the last remaining warning and removed "$WARNINGS OFF" directive. %!s(int64=11) %!d(string=hai) anos
  sergei b91d965096 * m68k: initial support for ROL/ROR operations, defining 'cpurox' for CPU target can actually enable them. However it cannot be done outright because these instructions do not exits on Coldfire, and internal processing of RoX,Sar,BsX, etc. can not yet be switched depending on CPU subtype. %!s(int64=11) %!d(string=hai) anos
  sergei 535218e837 * m68k: fixed OP_NOT/OP_NEG with two registers, it must never modify the source register. %!s(int64=11) %!d(string=hai) anos
  sergei 4df49964ca * tcg68k.a_op_reg_reg: renamed parameters 'reg1' and 'reg2' to 'src' and 'dst' to make it clear what's what. %!s(int64=11) %!d(string=hai) anos
  sergei 3851c1f494 - m68k: removed a_loadmm_* methods, no need to override because they produce internal error already in base class. %!s(int64=11) %!d(string=hai) anos
  sergei acd3ea8750 * m68k: Fixed parameter passing to conform to ABI: %!s(int64=11) %!d(string=hai) anos
  Károly Balogh 5276de5627 m68k: restored orglen variable to g_concatcopy which was actually used, but still got removed in r28072 %!s(int64=11) %!d(string=hai) anos
  Károly Balogh 3028f3ac78 m68k: disabled PEA debug comment accidentally left in %!s(int64=11) %!d(string=hai) anos
  Károly Balogh d93e7b3367 m68k: cleaned ancient silly debug mess from a_loadaddr_ref_reg. no functional changes. %!s(int64=11) %!d(string=hai) anos
  Károly Balogh 1388cb9bae m68k: implemented a proper a_loadaddr_ref_cgpara instead of the disabled mess in the source, utilizing the PEA instruction %!s(int64=11) %!d(string=hai) anos
  sergei 4c3eb391ef * m68k: cleaned out unused variables in cgcpu.pas %!s(int64=11) %!d(string=hai) anos
  sergei ad59098457 + m68k: initial implementation of g_stackpointer_alloc method, it has to exist for targets with non-fixed stack. %!s(int64=11) %!d(string=hai) anos
  Károly Balogh 531ac093ed m68k: implemented a simple a_cmp_const_ref_label. uses TST instruction to test ref contents against zero %!s(int64=11) %!d(string=hai) anos
  Károly Balogh 519094055c m68k: cleaned up and fixed cgcpu/fixref for coldfire at least; also enabled n68kmem node, so addressing with scaling is generated now %!s(int64=11) %!d(string=hai) anos
  Károly Balogh 0045f34322 tabs to spaces and indentation fix, no functional changes %!s(int64=11) %!d(string=hai) anos
  Károly Balogh 7963351440 m68k: removed comment generation line accidentally left in from the previous commit %!s(int64=11) %!d(string=hai) anos
  Károly Balogh ed3ce4087a m68k: try to generate a bit smaller code in g_adjust_self; also changed two JMPs to S_NO from S_L, because JMP is unsized anyway %!s(int64=11) %!d(string=hai) anos