Károly Balogh
|
d93e7b3367
m68k: cleaned ancient silly debug mess from a_loadaddr_ref_reg. no functional changes.
|
11 years ago |
Károly Balogh
|
1388cb9bae
m68k: implemented a proper a_loadaddr_ref_cgpara instead of the disabled mess in the source, utilizing the PEA instruction
|
11 years ago |
sergei
|
4c3eb391ef
* m68k: cleaned out unused variables in cgcpu.pas
|
11 years ago |
sergei
|
ad59098457
+ m68k: initial implementation of g_stackpointer_alloc method, it has to exist for targets with non-fixed stack.
|
11 years ago |
Károly Balogh
|
531ac093ed
m68k: implemented a simple a_cmp_const_ref_label. uses TST instruction to test ref contents against zero
|
11 years ago |
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
|
11 years ago |
Károly Balogh
|
0045f34322
tabs to spaces and indentation fix, no functional changes
|
11 years ago |
Károly Balogh
|
7963351440
m68k: removed comment generation line accidentally left in from the previous commit
|
11 years ago |
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
|
11 years ago |
Károly Balogh
|
1b11541c90
m68k: simplification and cleanup of g_proc_entry. the generated code shouldn't change
|
11 years ago |
Károly Balogh
|
17657ca11d
m68k: more minor reference usage tweaking, hopefully fixes Mantis 26286
|
11 years ago |
Károly Balogh
|
381cf72023
m68k: minor bits, addq/subq works also on address regs, remove reference validity check in a_op_const_ref because we have fixref() later anyway
|
11 years ago |
Károly Balogh
|
0fe656e82d
m68k: simplified code generated by g_concatcopy and cleaned up the old mess from the code
|
11 years ago |
Károly Balogh
|
f3bbad26c3
m68k: use MOVEA without size to load values to address regs. use a_op_const_reg in a_op_const_ref for smarter const loading when necessary
|
11 years ago |
Károly Balogh
|
28323135f8
m68k: minor optimizations to g_proc_exit() - use LEA for stackpointer math which is better than ADDing large constants, also only modify the SP reg once
|
11 years ago |
Károly Balogh
|
3b9e2a620b
added a remark about a possible QEMU issue with CMP/CMPI .W and .B on ColdFire
|
11 years ago |
Károly Balogh
|
1af6d17b4d
don't enforce BPL length, use SUBQ in g_concatcopy
|
11 years ago |
Károly Balogh
|
9ae38cdc1c
back to more conservative sign extension. this really needs separate handling for ColdFire and normal 68k, because the CF executes 32bit arithmetics only while normal 68k will do any size happily.
|
11 years ago |
Károly Balogh
|
bca09a8f69
reverted parts of r27117 because it caused regressions
|
11 years ago |
Károly Balogh
|
c7d1cef334
support sign/zero extension to subreg sizes, not just always to 32bit
|
11 years ago |
Károly Balogh
|
552ab2938e
avoid some unnecessary sign extensions
|
11 years ago |
Károly Balogh
|
3a464dbdcf
don't swap the base and index registers if we have a scalefactor
|
11 years ago |
Károly Balogh
|
7b05113322
addressing improvements: fixref can swap base/index registers if better fits 68k pattern, less need to move around registers. also fix reference in a_op_const_ref.
|
11 years ago |
Károly Balogh
|
13210ff7d4
use MVZ/MVS ColdFire instructions to load constants where applicable
|
11 years ago |
Károly Balogh
|
1d5f74fae0
m68k implementation of g_save_registers and g_restore_registers using movem.l
|
11 years ago |
Károly Balogh
|
8730b1bf45
cleaned up g_proc_exit, optimized generated code and also added some comments about possible ABI variations. the changes also fix two tests on my system related to cdecl procedures
|
11 years ago |
Károly Balogh
|
bd4cc3b8f3
cleaned up, reindented, simplified and allowed some minor optimizations in tcg64f68k
|
11 years ago |
Károly Balogh
|
74533a7c90
avoid generating addressing like <label>+8(aX), since this might fail during linking if label is more than 32k away, fixes linking with lineinfo unit here
|
11 years ago |
Károly Balogh
|
667ec17cae
tiny optimization for clearing address regs
|
11 years ago |
Károly Balogh
|
047395df5f
implemented add/sub ops in a_op_reg_ref, since these are used often. also fixed up reference handling in a_op_const_ref a bit
|
11 years ago |