Károly Balogh
|
3b9e2a620b
added a remark about a possible QEMU issue with CMP/CMPI .W and .B on ColdFire
|
před 11 roky |
Károly Balogh
|
1af6d17b4d
don't enforce BPL length, use SUBQ in g_concatcopy
|
před 11 roky |
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.
|
před 11 roky |
Károly Balogh
|
bca09a8f69
reverted parts of r27117 because it caused regressions
|
před 11 roky |
Károly Balogh
|
c7d1cef334
support sign/zero extension to subreg sizes, not just always to 32bit
|
před 11 roky |
Károly Balogh
|
552ab2938e
avoid some unnecessary sign extensions
|
před 11 roky |
Károly Balogh
|
3a464dbdcf
don't swap the base and index registers if we have a scalefactor
|
před 11 roky |
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.
|
před 11 roky |
Károly Balogh
|
13210ff7d4
use MVZ/MVS ColdFire instructions to load constants where applicable
|
před 11 roky |
Károly Balogh
|
1d5f74fae0
m68k implementation of g_save_registers and g_restore_registers using movem.l
|
před 11 roky |
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
|
před 11 roky |
Károly Balogh
|
bd4cc3b8f3
cleaned up, reindented, simplified and allowed some minor optimizations in tcg64f68k
|
před 11 roky |
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
|
před 11 roky |
Károly Balogh
|
667ec17cae
tiny optimization for clearing address regs
|
před 11 roky |
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
|
před 11 roky |
Károly Balogh
|
cd4bb364e5
reenabled and fixed up tcg68k.op_const_ref a bit
|
před 11 roky |
nickysn
|
85dd9e5789
+ added a size parameter to optimize_op_const and do a sign extension of the 'a' parameter up from the specified size, so that things like (i and $ffffffff) get optimized away the same way as (i and -1)
|
před 11 roky |
Károly Balogh
|
b37ebeaabd
disabled a_loadaddr_ref_cgpara() for m68k, this code was copy-pasted from x86 probably and could never work properly as it is
|
před 11 roky |
Károly Balogh
|
74af6d0dab
enabled hardware mul reg, reg codepath for ColdFire too, accelerates tfloattostr test (thus some of the SoftFPU code) by a magnitude...
|
před 12 roky |
Károly Balogh
|
e5eac1bd44
make the array of registers to use depending on wheter we have an FP or not, and which register we have as FP
|
před 12 roky |
svenbarth
|
6fef9a2c80
Correctly implement g_intf_wrapper. Fixes nearly 200 tests and now the cross compiled compiler is at least able to print the help (compiling a simple program does not work yet though).
|
před 12 roky |
svenbarth
|
a4683461cf
Fix around 25 tests (under them all tcalval* tests!) by indeed using the save/restore registers code I adjusted earlier.
|
před 12 roky |
Károly Balogh
|
1f11c39a5d
* huge m68k/cgcpu.pas cleanup and improvement commit
|
před 12 roky |
svenbarth
|
b1d79494dd
Fix around 30 tests by using a volatile register for restoring the stack pointer
|
před 12 roky |
svenbarth
|
20587d8547
And another place where I forgot to (de)allocate address registers...
|
před 12 roky |
svenbarth
|
29ff548c0b
Revert some additions of add_move_instruction as this heavily breaks code when the frame pointer is involved
|
před 12 roky |
svenbarth
|
dd204f395d
m68k: add a few more add_move_instruction to tcg68k
|
před 12 roky |
svenbarth
|
03623c6c1a
Forgot to commit that I moved tcgsize2opsize from cgcpu to cpubase.
|
před 12 roky |
svenbarth
|
0cb2bda0a5
Correctly handle loads of different sizes. Fixes 1 test. Might be more, but some other bugs might hide it.
|
před 12 roky |
Károly Balogh
|
31e7b790a7
a_load_const_reg: don't sign_extend after MOVEQ, it's not needed. also use CRL.L before loading to reg instead of sign_extend when possible
|
před 12 roky |