Károly Balogh
|
358f8eb85d
m68k: do not internalerror on localsize < 0. this condition is handled elsewhere in the compiler properly, so we just let it through
|
8 years ago |
Károly Balogh
|
02ed753fab
m68k: yet another attempt to fix small struct alignments on stack
|
8 years ago |
Károly Balogh
|
8a8753eb79
m68k: reenabled some safety checks and removed obsolete TODO comment
|
8 years ago |
Károly Balogh
|
d5e1b391f9
m68k: when calling g_concatcopy for para copy, still only copy cgpara.intsize amount of bytes
|
8 years ago |
Károly Balogh
|
22ae3cd186
m68k: revert the r36568 and the followup fix attempts altogether, as they broke Amiga support entirely. there will be a cleanup before another fixing attempt
|
8 years ago |
Károly Balogh
|
b481129f4e
m68k: for cdecls with the SVR4 ABI return results both in A0 and D0
|
8 years ago |
Károly Balogh
|
8ed84afdd4
m68k: try to fix some breakages caused by r36568
|
8 years ago |
Károly Balogh
|
23f4304881
m68k: hopefully fix passing of smaller-than-alignment sized records/structs for stdcall/cdecl
|
8 years ago |
Károly Balogh
|
e0cbd48785
m68k: always check the V flag after MUL/DIV overflows, because MUL/DIV never sets the C flag. note that this fix is full 68k only. on CF, MUL doesn't set any of V or C flags
|
8 years ago |
Károly Balogh
|
6ca8b1374b
m68k: quickfix the 68000 builds of the compiler after r36344
|
8 years ago |
Károly Balogh
|
829b2fc3b3
m68k: enable 68020 codepaths to all CPUs supporting '020 features
|
8 years ago |
Károly Balogh
|
aa87e911d7
m68k: fixed some copypaste error in a disabled debug string. no functional changes.
|
8 years ago |
Károly Balogh
|
7ed9b9f188
m68k: instead of the FPU, use CPU instructions to copy cgparas to stack
|
8 years ago |
Károly Balogh
|
94b684daee
m68k: reworked flags2reg, so it generates shorter code for the most common case.
|
8 years ago |
Károly Balogh
|
ca1ec0435d
m68k: fixed the signedness of conditional jumps while creating the jump list for case statements
|
8 years ago |
Károly Balogh
|
6d795df166
m68k: removed silly debug writeln accidentally left in r35671
|
8 years ago |
Károly Balogh
|
21468861d4
m68k: handle more reg_ref and ref_reg operations more flexibly on the cg level. these OPs should get utilized better with some of the upcoming inline nodes
|
8 years ago |
Károly Balogh
|
2e9d0543df
m68k: do not generate copy loops for single byte copies on a plain '000
|
8 years ago |
Károly Balogh
|
74c1f2aec9
m68k: cosmetics (less C-ism)
|
8 years ago |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 years ago |
Károly Balogh
|
57e6cef18b
m68k: enabled the mul to shift+sub/add optimizations for 68000
|
8 years ago |
Károly Balogh
|
4620d9b22c
m68k: when loading from a reference with zero extend, clear the register first, then load, instead of clearing with AND later, because this is faster on slow 68ks and also shorter
|
8 years ago |
Károly Balogh
|
def4df9791
m68k: fixed a bug, where during during unaligned stores, the base address was preinitalized to a temp address register from the wrong reference, causing havoc
|
8 years ago |
Károly Balogh
|
ed13f4d0d1
m68k: add a function to optimize const MUL cases to sequences of shifts + ADD/SUB. mainly for '000 and other low end 68ks with slow/limited MUL capabilities. inactive for now, as it wasn't that extensively tested
|
8 years ago |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 years ago |
Károly Balogh
|
2eeb078f3e
m68k: removed obsolete and wrong comment. the '881 extended type is actually 12 bytes during load/store, not 10, which means longword alignment is fine. no functional changes.
|
9 years ago |
Károly Balogh
|
a561ffe836
m68k: fixed initial offset adjustment for the unaligned store
|
9 years ago |
Károly Balogh
|
2d6736e40e
m68k: fixed unaligned stores' predecrement addressing. also removed an unnecessary sign-extension of the tmpreg for 16bit stores
|
9 years ago |
Károly Balogh
|
62e0eab89b
m68k: also handle large register save/restore offsets on 68000
|
9 years ago |
Károly Balogh
|
0dd5beb064
m68k: more unaligned access support in the base cg, also enabled the code
|
9 years ago |