florian
6404478ea4
* cleanup of VER3_0 defines
2021-11-17 22:19:57 +01:00
florian
ff3acfb8cd
* cleanup of 2.7.0 defines
2021-10-31 13:20:28 +01:00
Károly Balogh
cdc7fec019
m68k: D2 is considered volatile on macosclassic
...
git-svn-id: trunk@49294 -
2021-04-29 22:06:26 +00:00
Károly Balogh
d06cb1a20a
m68k: fixed a comment. no functional change
...
git-svn-id: trunk@49275 -
2021-04-27 06:25:13 +00:00
Károly Balogh
2a7aa11163
m68k: added support to references like (a0,d0.w) in inline assembly, also fixed a bug, where sometimes the index register would have been randomly set as smaller than .l size, when the size wasn't specified
...
git-svn-id: trunk@49233 -
2021-04-19 09:13:02 +00:00
Károly Balogh
665180a579
m68k: always use ELF objects with vasm for improved cross-compatibility with other tools and compilers
...
git-svn-id: trunk@49210 -
2021-04-16 11:42:04 +00:00
Károly Balogh
b5216a1990
m68k: on the Sinclair QL insert the main program's name into the object, so the RTL later can set it as default job name
...
git-svn-id: trunk@49189 -
2021-04-12 11:51:12 +00:00
Károly Balogh
c8e712f400
m68k: cleaned up some ancient mess from cpunode.pas, no significant functional change, apart from unit inclusion order
...
git-svn-id: trunk@49187 -
2021-04-12 09:33:51 +00:00
Károly Balogh
2703b36fe1
m68k: removed some helper function which was added, but in the end it never saw any use
...
git-svn-id: trunk@48798 -
2021-02-24 09:10:40 +00:00
Károly Balogh
2ffe777b44
m68k: extend the the register to full size, when multiplied by an immediate in memory references. Patch based on the work of Pierre Muller.
...
git-svn-id: trunk@48732 -
2021-02-20 11:21:14 +00:00
Károly Balogh
ada3d2050c
m68k: write inline floating point immediates as hex consts, instead of scientific notation. the scientific notation format parsing depends on the libc the assembler was linked against, which can lead to varying results and compile errors
...
git-svn-id: trunk@48524 -
2021-02-08 05:01:45 +00:00
Károly Balogh
d0178f7ae0
m68k: fix a_loadfpu_ref_reg to call a_loadfpu_reg_reg instead of a_load_reg_reg. made a_loadfpu_reg_reg internalerror on invalid target sizes when loading to a different reg size
...
git-svn-id: trunk@48523 -
2021-02-08 04:12:21 +00:00
Károly Balogh
77fee8b4eb
m68k: do not use OS_NO for FPU locations, but properly promote location sizes into the CG
...
git-svn-id: trunk@48522 -
2021-02-08 04:07:04 +00:00
Károly Balogh
67fcf0f03e
m68k: revert r48224, the fix proposed in that patch was just hiding an underlying issue
...
git-svn-id: trunk@48415 -
2021-01-25 00:42:01 +00:00
Károly Balogh
10fa12bbae
m68k: take rounding requirements into account in a_loadfpu_reg_reg and a_loadfpu_ref_reg
...
git-svn-id: trunk@48414 -
2021-01-25 00:27:59 +00:00
Károly Balogh
da1746426b
m68k: do not optimize away fmove fpureg0, intreg0; fmove intreg0; fpureg0; constructs, they're used for rounding to single on FPUs with no resultprecision encoding
...
git-svn-id: trunk@48413 -
2021-01-25 00:12:53 +00:00
pierre
4111e13017
Avoid inlining of real constant for m68k if type is not best precision
...
git-svn-id: trunk@48224 -
2021-01-19 22:33:32 +00:00
Károly Balogh
6190258f5d
m68k: new CPU capability - the LINK instruction supports LONG displacements (68020+)
...
git-svn-id: trunk@47849 -
2020-12-26 00:21:31 +00:00
Károly Balogh
16a21eea87
m68k: the LEA+MOVEM to MOVEM optimization is not feasible on a ColdFire
...
git-svn-id: trunk@47847 -
2020-12-25 09:07:21 +00:00
florian
0ab69ea0ad
+ m68k: LEA, MOVE(M) to MOVE(M) predecremented optimization and MOVE(M), LEA to MOVE(M) postincremented optimization
...
git-svn-id: trunk@47762 -
2020-12-11 22:14:17 +00:00
florian
a0a8a6911a
* m68k: proper values for first_*_reg
...
git-svn-id: trunk@47761 -
2020-12-11 22:14:16 +00:00
florian
817ef6949a
* m68k: MOVE, TST, Jxx/Sxx to MOVE, Jxx optimization
...
git-svn-id: trunk@47751 -
2020-12-10 21:51:26 +00:00
florian
bb8c3fd153
* made optimization JSR, RTS to JMP more bullet proof, added comment
...
git-svn-id: trunk@47750 -
2020-12-10 21:09:20 +00:00
Károly Balogh
7f96a26de0
m68k: in g_concatcopy, check the actual alignment of references being copied rather than always excluding word and dword sized direct copies on a 68000
...
git-svn-id: trunk@47744 -
2020-12-10 04:17:06 +00:00
florian
a849e51a3c
+ m68k: JSR, RTS to JMP optimization
...
git-svn-id: trunk@47740 -
2020-12-09 20:57:06 +00:00
florian
fbb2e63fea
+ #QLvember work: stack frame optimization for m68k
...
git-svn-id: trunk@47629 -
2020-11-29 10:16:00 +00:00
florian
5ca2356638
* take care of po_noreturn in more cases
...
git-svn-id: trunk@47623 -
2020-11-28 16:02:51 +00:00
Károly Balogh
7444733f5d
m68k: fix DB/DW/DD handling in inline assembler, update BuildConstant() method to current standards. issue reported/initial patch by Marcel Kilgus in QLForum.co.uk
...
git-svn-id: trunk@47548 -
2020-11-24 05:42:38 +00:00
Károly Balogh
e5d2c1a980
m68k: fixed parsing of constants to absolute addresses
...
git-svn-id: trunk@47419 -
2020-11-15 03:55:42 +00:00
Károly Balogh
a82a587a1b
m68k: fixed parsing of absolute addresses in the assembler reader
...
git-svn-id: trunk@47418 -
2020-11-15 03:43:26 +00:00
Károly Balogh
53928dc0ed
m68k: fix references like <symbol>(An) to parse properly in the assembler reader
...
git-svn-id: trunk@47356 -
2020-11-08 23:56:00 +00:00
Károly Balogh
eda7d535bd
* m68k: enabled vasm assembler support for the Sinclair QL, and added linking
...
git-svn-id: trunk@47312 -
2020-11-04 21:01:34 +00:00
Károly Balogh
519701960c
m68k: initial commit to add the Sinclair QL as a compiler target
...
git-svn-id: trunk@47307 -
2020-11-04 14:20:28 +00:00
Károly Balogh
9d425ff4ca
m68k: change the stack push order in the register calling convention to left-to-right. This should fix parameter handling in nested procedures (tnest5)
...
git-svn-id: trunk@47279 -
2020-11-02 02:01:24 +00:00
Károly Balogh
55d4ffa9de
m68k: add missing FINT and FINTRZ instructions to spilling_get_operation_type()
...
git-svn-id: trunk@47266 -
2020-10-31 21:57:59 +00:00
florian
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
...
git-svn-id: trunk@47103 -
2020-10-13 19:59:01 +00:00
Károly Balogh
de180d7656
* m68k: fix index register usage in memory references, when the index is 8 or 16 bit wide and unsigned
...
git-svn-id: trunk@46886 -
2020-09-17 20:51:25 +00:00
florian
f798141d30
* simplified code
...
git-svn-id: trunk@46333 -
2020-08-08 14:48:24 +00:00
florian
995d2d280a
- no need to call add_move_instruction if data is moved between different register classes
...
git-svn-id: trunk@46332 -
2020-08-08 14:48:24 +00:00
florian
e2bf83b573
* do not spill_replace if the register is used another time in the instruction
...
git-svn-id: trunk@46331 -
2020-08-08 14:48:23 +00:00
Károly Balogh
f20c76d73b
m68k: fixed a long standing issue, where FPU registers would be clamped to single precision during spilling
...
git-svn-id: trunk@46307 -
2020-08-07 07:54:26 +00:00
florian
28f25b2df0
* reworked usage of tcgnotnode.handle_locjump
...
git-svn-id: trunk@46275 -
2020-08-05 21:15:32 +00:00
Jonas Maebe
eb7ba1690e
* mark all external assemblers using an LLVM tool using af_llvm
...
+ added support for constructing target triplets
* pass "-target triplet" when using an LLVM assembler
o removed no longer needed $DARWINVERSION and $ARCH parameters
* consistently use as_clang_gas when clang is used to assembler GAS-style
assembly, and rename as_llcm_clang to as_clang_llvm (for consistency)
* support pipe assembling when using clang on *nix in all cases
git-svn-id: trunk@45807 -
2020-07-19 14:30:35 +00:00
Jonas Maebe
e7d1a77f9a
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
...
* rename the m68k/PowerPC-MacOS targets to m68k/PowerPC-MacOSClassic
* repurpose the AArch64/Darwin target for AArch64/macOS
o make AArch64-Darwin default target for a hosted AArch64-Darwin compiler
git-svn-id: trunk@45758 -
2020-07-10 21:52:24 +00:00
Károly Balogh
58af742f3a
m68k: atari syscalls might also destroy D2 and A2
...
git-svn-id: trunk@45469 -
2020-05-23 11:13:07 +00:00
Károly Balogh
c38efe6d18
m68k: tabs to spaces and indentation fix, no functional change
...
git-svn-id: trunk@45389 -
2020-05-16 19:15:52 +00:00
Károly Balogh
2c8db3bb9e
m68k: add support for bitfield instructions as CPU capability
...
git-svn-id: trunk@45383 -
2020-05-16 13:47:18 +00:00
Károly Balogh
04a42bef84
m68k: fixed instruction code formatting in the generated include
...
git-svn-id: trunk@45314 -
2020-05-08 21:06:59 +00:00
Károly Balogh
6753f86987
m68k: migrate the compiler to the new instruction tables and drop the old ones
...
git-svn-id: trunk@45312 -
2020-05-08 12:33:04 +00:00
Károly Balogh
bc9b8af04b
m68k: add the converted includes, based on m68kins.dat
...
git-svn-id: trunk@45311 -
2020-05-08 12:11:13 +00:00