Károly Balogh
|
d561e8ab57
m68k: generate smarter shifting/rotation code on 68k, for example by utilizing the SWAP instruction
|
11 năm trước cách đây |
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 năm trước cách đây |
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 năm trước cách đây |
Károly Balogh
|
392da9e43f
* fix warnings when compiling the compiler with DFA optimizer enabled on m68k
|
11 năm trước cách đây |
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 năm trước cách đây |
sergei
|
a28d6a84a7
+ m68k, a_load_const_reg: use MOV3Q if applicable for data registers as well, since it allows spilling replacement of destination.
|
11 năm trước cách đây |
sergei
|
a42ecadddf
+ m68k: implemented overflow checking (does not work for multiplication yet).
|
11 năm trước cách đây |
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 năm trước cách đây |
sergei
|
b7da785688
* m68k: support stack cleanup at caller side, fixed calculation of pushed parameters size and offsets and cleaned out another pile of junk.
|
11 năm trước cách đây |
sergei
|
df60309d96
* m68k: fixed the last remaining warning and removed "$WARNINGS OFF" directive.
|
11 năm trước cách đây |
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.
|
11 năm trước cách đây |
sergei
|
535218e837
* m68k: fixed OP_NOT/OP_NEG with two registers, it must never modify the source register.
|
11 năm trước cách đây |
sergei
|
4df49964ca
* tcg68k.a_op_reg_reg: renamed parameters 'reg1' and 'reg2' to 'src' and 'dst' to make it clear what's what.
|
11 năm trước cách đây |
sergei
|
3851c1f494
- m68k: removed a_loadmm_* methods, no need to override because they produce internal error already in base class.
|
11 năm trước cách đây |
sergei
|
acd3ea8750
* m68k: Fixed parameter passing to conform to ABI:
|
11 năm trước cách đây |
Károly Balogh
|
5276de5627
m68k: restored orglen variable to g_concatcopy which was actually used, but still got removed in r28072
|
11 năm trước cách đây |
Károly Balogh
|
3028f3ac78
m68k: disabled PEA debug comment accidentally left in
|
11 năm trước cách đây |
Károly Balogh
|
d93e7b3367
m68k: cleaned ancient silly debug mess from a_loadaddr_ref_reg. no functional changes.
|
11 năm trước cách đây |
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 năm trước cách đây |
sergei
|
4c3eb391ef
* m68k: cleaned out unused variables in cgcpu.pas
|
11 năm trước cách đây |
sergei
|
ad59098457
+ m68k: initial implementation of g_stackpointer_alloc method, it has to exist for targets with non-fixed stack.
|
11 năm trước cách đây |
Károly Balogh
|
531ac093ed
m68k: implemented a simple a_cmp_const_ref_label. uses TST instruction to test ref contents against zero
|
11 năm trước cách đây |
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 năm trước cách đây |
Károly Balogh
|
0045f34322
tabs to spaces and indentation fix, no functional changes
|
11 năm trước cách đây |
Károly Balogh
|
7963351440
m68k: removed comment generation line accidentally left in from the previous commit
|
11 năm trước cách đây |
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 năm trước cách đây |
Károly Balogh
|
1b11541c90
m68k: simplification and cleanup of g_proc_entry. the generated code shouldn't change
|
11 năm trước cách đây |
Károly Balogh
|
17657ca11d
m68k: more minor reference usage tweaking, hopefully fixes Mantis 26286
|
11 năm trước cách đây |
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 năm trước cách đây |
Károly Balogh
|
0fe656e82d
m68k: simplified code generated by g_concatcopy and cleaned up the old mess from the code
|
11 năm trước cách đây |