Commit History

Author SHA1 Message Date
  Károly Balogh 1e0763e251 m68k: use a_load_const_ref in a_load_const_cgpara to utilize the recently added optimized small const loading here too. this change alone shaves off ~80KB from the compiled FP IDE size... 9 years ago
  Károly Balogh 185ee93312 m68k: if we're loading small (8 bit signed) values into long references, move them through a register (usually with MOVEQ). this is two bytes shorter and also faster on most 68k CPUs 9 years ago
  Károly Balogh c82328e3fd m68k: implemented tcg68k.check_register_size for future use. use R_SUBNONE for FPU registers, because R_SUBWHOLE will change. use isregoverlap in a_load_reg_reg 9 years ago
  Károly Balogh 3c0dca44d3 m68k: fixed a copypaste fail in tcg68k.g_restore_registers, which affected FPU register restoring 9 years ago
  Jonas Maebe 61e4a1b811 + added tasmlist parameter to getintparaloc() (needed for llvm) 10 years ago
  Jonas Maebe 201121d7c9 * synchronised with trunk till r30345 10 years ago
  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 years ago
  Jonas Maebe bd203a5b57 * synchronised with trunk till r30240 10 years ago
  Károly Balogh 2555f12394 m68k: improved handling of moves and sign/zero extensions targeting address regs 10 years ago
  Károly Balogh 935820293c m68k: in tm68ktypeconvnode.int_to_real, fix the reference before using it, and if the source is a register, make sure it's a data register 10 years ago
  Károly Balogh 1121c2e6ce m68k: before doing a reg->ref operation, make sure the source is a datareg 10 years ago
  Jonas Maebe 67b8aceaee * synchronized with privatetrunk till r30095 10 years ago
  Károly Balogh 106056f462 m68k: more FMOVEM.X store/load size fixes 10 years ago
  Károly Balogh acaf382ea0 m68k: FMOVEM.X stores/loads each reg as 12 bytes (96 bits) not 10 bytes (80 bits), see 68k PRM, page 5-86 10 years ago
  Károly Balogh a526b0e5d6 m68k: implemented some missing bits of FPU cgpara handling, functions with float arguments seem to work much better now 10 years ago
  Károly Balogh 06dfa4d30c m68k: also alloc FPU registers during RTL helper calls 10 years ago
  Károly Balogh a99c9c29b6 m68k: basic 68881 FPU register save/restore support. probably still needs some work here and there. 10 years ago
  Károly Balogh 7a91d5f495 m68k: oops, unbroke the build with softfpu 10 years ago
  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. 10 years ago
  Károly Balogh 3b205742b6 m68k: also try to optimize a special case of OP_SAR using the SWAP instruction 11 years ago
  Károly Balogh d561e8ab57 m68k: generate smarter shifting/rotation code on 68k, for example by utilizing the SWAP instruction 11 years ago
  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 11 years ago
  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). 11 years ago
  Károly Balogh 392da9e43f * fix warnings when compiling the compiler with DFA optimizer enabled on m68k 11 years ago
  Jonas Maebe b18ba8e85b * syncrhonised with trunk up till r28471 11 years ago
  Jonas Maebe b745dcc64c * moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because 11 years ago
  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. 11 years ago
  sergei a28d6a84a7 + m68k, a_load_const_reg: use MOV3Q if applicable for data registers as well, since it allows spilling replacement of destination. 11 years ago
  sergei a42ecadddf + m68k: implemented overflow checking (does not work for multiplication yet). 11 years ago
  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. 11 years ago