Károly Balogh
|
ddf8788c7a
m68k: try to generate better code from some pointermath - when the left is an address register and we do add/sub, also allocate an address register as temp, also only require that left and right sizes are same, when right is not a const
|
7 жил өмнө |
Károly Balogh
|
fe0bc52dc6
m68k: fixed some cases where comparing smallsets was broken, because the compare size was hardwired to 32bit
|
8 жил өмнө |
Károly Balogh
|
f7488f2bd8
m68k: don't try to inline NaN and InF values as consts into FPU operands
|
8 жил өмнө |
Károly Balogh
|
b3157aa5ea
m68k: generate MUL helpers for CPUs without 32bit MUL already in pass 1
|
8 жил өмнө |
Károly Balogh
|
87e8010f05
m68k: support 32x32 to 64bit MUL generation when targeting CPUs which support this instruction
|
8 жил өмнө |
Károly Balogh
|
63b3304374
m68k: instead of calling a helper, generate inlined code for 64 bit multiplications, when applicable
|
8 жил өмнө |
Károly Balogh
|
eeb660017e
m68k: improve floating point compares against memory references by swapping sides when left is a reference and right is a register
|
8 жил өмнө |
pierre
|
89c1b68b14
* Delete regvars unit.
|
8 жил өмнө |
Károly Balogh
|
a8ad51e96f
m68k: unaligned access support in add nodes
|
9 жил өмнө |
Károly Balogh
|
766eeffc69
m68k: build fix. (changes before commit is a bad idea...)
|
9 жил өмнө |
Károly Balogh
|
aa63aa95bb
m68k: a bunch of '000 related fixes and cleanups. generated source now compiles for '000 again, which was broken due to recent improvements conflicting with limitations of the original '000
|
9 жил өмнө |
Károly Balogh
|
a6ee4a2ded
m68k: cleaned up second_addordinal and included OP_SUB in the common codepath
|
9 жил өмнө |
Károly Balogh
|
47621f81cd
m68k: implemented second_addordinal; for the most trivial cases. this allows the right node to be a reference. falls back to the generic implementation for nontrivial cases.
|
9 жил өмнө |
Károly Balogh
|
424f329173
m68k: use inlined realconsts also during normal float calculations on '881/040/060. also optimize them where possible
|
9 жил өмнө |
Károly Balogh
|
7710300c22
m68k: utilize FTST for comparing against float zero. also utilize FCMP realconst,fpreg on '881 for other realconst values
|
9 жил өмнө |
Károly Balogh
|
92b2cf917d
m68k: when saving/restoring FPU registers, use the right FPU register size on ColdFire to calculate the stored size
|
9 жил өмнө |
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 жил өмнө |
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 жил өмнө |
Károly Balogh
|
bd564b8933
m68k: some code to support the ColdFire v4e FPU. not functional yet.
|
9 жил өмнө |
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 жил өмнө |
Jonas Maebe
|
0fc1fd6ac1
* replaced current_procinfo.currtrue/falselabel with storing the true/false
|
10 жил өмнө |
Károly Balogh
|
3650991d90
m68k: support LOC_REFERENCE/LOC_CREFERENCE for floating point instructions where possible
|
10 жил өмнө |
Károly Balogh
|
fdb09365ba
m68k: instead of trying to mess with LOC_FLAGS, use LOC_REGISTER to return a boolean result of the compare. idea by Florian. fixes several issues with optimizer enabled and also results in better code in some cases.
|
10 жил өмнө |
Károly Balogh
|
9693b37c1a
m68k: actually,overwrite the resflags with F_E, because only that would be valid after the FSxx/TST combination
|
10 жил өмнө |
Károly Balogh
|
c062e55aa2
m68k: after a compare on the FPU, move the condition flags back to the CPU. this should make floating point compare actually working
|
10 жил өмнө |
Károly Balogh
|
d000b1bc7c
m68k: basic 68881 fpu support. probably still broken at umpzillion places, and mostly untested, but at least it builds the RTL and all packages successfully with -Cp68020 -Cf68881 instead of dying with random internalerrors() and now even emits actual FPU opcodes.
|
10 жил өмнө |
Károly Balogh
|
392da9e43f
* fix warnings when compiling the compiler with DFA optimizer enabled on m68k
|
11 жил өмнө |
sergei
|
499ff505c8
* m68k: further improved code generation for comparison nodes, support LOC_REFERENCE for 32-bit compares and omit low dword, when possible, for 64-bit ones.
|
11 жил өмнө |
sergei
|
2c8264c42b
* m68k: partially improved code generation for comparisons.
|
11 жил өмнө |
sergei
|
bd5ce35130
* m68k: completely replaced 64-bit comparison code with a clone of i386 implementation. No optimizations yet, but it already makes system unit about 300 instructions shorter due to changing node location to LOC_JUMP.
|
11 жил өмнө |