steve
|
ef9e93ced8
+
|
há 9 anos atrás |
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
|
há 9 anos atrás |
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
|
há 9 anos atrás |
Károly Balogh
|
bd564b8933
m68k: some code to support the ColdFire v4e FPU. not functional yet.
|
há 9 anos atrás |
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
|
há 9 anos atrás |
Jonas Maebe
|
0fc1fd6ac1
* replaced current_procinfo.currtrue/falselabel with storing the true/false
|
há 10 anos atrás |
Károly Balogh
|
3650991d90
m68k: support LOC_REFERENCE/LOC_CREFERENCE for floating point instructions where possible
|
há 10 anos atrás |
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.
|
há 10 anos atrás |
Károly Balogh
|
9693b37c1a
m68k: actually,overwrite the resflags with F_E, because only that would be valid after the FSxx/TST combination
|
há 10 anos atrás |
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
|
há 10 anos atrás |
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.
|
há 10 anos atrás |
Károly Balogh
|
392da9e43f
* fix warnings when compiling the compiler with DFA optimizer enabled on m68k
|
há 11 anos atrás |
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.
|
há 11 anos atrás |
sergei
|
2c8264c42b
* m68k: partially improved code generation for comparisons.
|
há 11 anos atrás |
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.
|
há 11 anos atrás |
sergei
|
15e374f3c6
* m68k: fixed comparison of small sets, it should not modify sides. tw18013 is now correct when compiled with -O2.
|
há 11 anos atrás |
sergei
|
c2ab16c320
- m68k: dropped t68kaddnode.second_cmpboolean, apparently its presence just breaks tbs/tb0246 without any value added.
|
há 11 anos atrás |
sergei
|
193fa2b95e
- m68k: removed some definitely misplaced code, comparison nodes are never handled in second_addfloat.
|
há 11 anos atrás |
Károly Balogh
|
2936335f68
removed silly ancient writeln debug from me...
|
há 11 anos atrás |
Károly Balogh
|
a82a3ec38e
let the assembler decide about the size of the Bcc and BRA instructions, this makes code generated here work on a 68000 (and probably a lot smaller in size, no more forced 32bit displacements)
|
há 11 anos atrás |
Jonas Maebe
|
4065483a50
* completed thlcgobj.location_force_fpureg(), use it everywhere and removed
|
há 11 anos atrás |
Károly Balogh
|
2791e8ad15
use optimized cg loading functions in 64bit compares instead of hardcoded move.ls (move.l #X,dn is 48bit long, clr.l/moveq.l is 16bit long)
|
há 11 anos atrás |
svenbarth
|
8e60465eb4
Fix the last failing tcnvint test (plus another one) by using comparisons that are not necessarily 32-bit.
|
há 12 anos atrás |
svenbarth
|
4d1fb1573e
m68k: Fix handling of small sets (based on how ARM does it)
|
há 12 anos atrás |
svenbarth
|
6f5a648516
Improve the cpu type handling for M68k just in case we should branch 2.8.0 before I can start working on M68k again.
|
há 12 anos atrás |
Jonas Maebe
|
2dd75e707e
* renamed thlcgobj.tcgsize2orddef to defutil.cgsize_orddef
|
há 12 anos atrás |
svenbarth
|
78f0d6f70e
Revert the changes from r23383 for m68k/n68kadd.pas. Memo to self: Don't change code if you don't really understand why it does things the way it does.
|
há 12 anos atrás |
svenbarth
|
ccecf2c13c
Fix comparisons (aka usage of flag/CCR register)
|
há 12 anos atrás |
svenbarth
|
9d4d7d748c
m68k/n68kadd.pas:
|
há 13 anos atrás |
svenbarth
|
f0aad6dbc4
* m68k/n68kadd.pas, t68kaddnode.second_cmpordinal:
|
há 13 anos atrás |