Commit History

Author SHA1 Message Date
  Károly Balogh 3b4822d320 m68k: utilize MVS and MVZ instructions to load values from references with zero/sign extend when they're available 9 years ago
  Károly Balogh 2e9ed396b4 m68k: convert non-int paraloc sizes to int in a_load_ref_cgpara, fixes build breaks with softfpu since r33651 9 years ago
  Károly Balogh 1e6e5a1874 m68k: implemented a_load64_reg_ref and a_load64_ref_reg. avoids duplicated reference simplifications in the generated code during 64bit load/store 9 years ago
  Károly Balogh 2b250a1b0a m68k: use a_load_ref_ref in a_load_ref_cgpara instead of a custom loading code which does the same. causes no changes in generated code 9 years ago
  Károly Balogh 88e14dc456 m68k: only extend the dest reg to tosize during reg-reg moves. this removes a large amount of unnecessary sign and zero extensions from the generated code. this was attempted before, but thanks to other fixes it no longer causes testsuite regressions 9 years ago
  Károly Balogh 92b2cf917d m68k: when saving/restoring FPU registers, use the right FPU register size on ColdFire to calculate the stored size 9 years ago
  Károly Balogh aa8b45904e m68k: use the existing g_call infrastructur to handle the register allocation in the helpers 9 years ago
  Károly Balogh 0b7464e4cd m68k: fix large const loading to address registers 9 years ago
  Károly Balogh f48747adf5 m68k: reworked cg.g_concatcopy. generates shorter and faster code in most cases now. 9 years ago
  Károly Balogh 4287f81b92 m68k: support and use float TResFlags in the rest of the CG. ColdFire FPU now works, and FSxx is no longer generated which is software supported on '060, and doesn't exist on CF. if we still want to support it later, we can add it to cg.g_flags2reg 9 years ago
  Károly Balogh 9d2dad2463 m68k: added cpu type cfv4e, which is the only ColdFire with FPU, and GNU AS needs this to actually allow CF FPU code 9 years ago
  Károly Balogh bd564b8933 m68k: some code to support the ColdFire v4e FPU. not functional yet. 9 years ago
  Károly Balogh 4e964c2ed7 m68k: rewrote fixref and a_load_ref_ref, fixing a bunch of problems on ColdFire, unifying and simplifying the code a lot, and hopefully not killing anything in the process 9 years ago
  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