nickysn
9ad3de966f
+ handle IX and IY-based references in tcgz80.normalize_ref
...
git-svn-id: branches/z80@44987 -
2020-04-22 02:27:07 +00:00
nickysn
fe8b50fed3
* fix for Z80 pointer comparisons
...
git-svn-id: branches/z80@44986 -
2020-04-22 01:45:10 +00:00
nickysn
22d60361a8
* fixed broken code generation for unequaln in TZ80AddNode.second_cmp16_32_64bit
...
git-svn-id: branches/z80@44985 -
2020-04-22 01:30:13 +00:00
nickysn
8a3847e1b2
* use cg.a_jmp_flags in TZ80AddNode.second_cmp
...
git-svn-id: branches/z80@44984 -
2020-04-22 01:20:54 +00:00
nickysn
fec0f346f1
+ partially implemented tcgz80.a_cmp_const_reg_label: all 8-bit comparison ops are implemented, and
...
also OP_EQ, OP_NE for 16-bit and 32-bit operands
git-svn-id: branches/z80@44983 -
2020-04-22 01:18:02 +00:00
nickysn
41b5829983
- removed commented out code, because it looks like a misleading comment
...
git-svn-id: branches/z80@44982 -
2020-04-21 23:40:46 +00:00
nickysn
86643f8a34
* synchronized with trunk
...
git-svn-id: branches/z80@44981 -
2020-04-21 23:36:44 +00:00
nickysn
9fc1d39beb
+ implemented code generation for signed 16/32/64-bit comparisons (<,<=,>,>=)
...
git-svn-id: branches/z80@44980 -
2020-04-21 23:00:32 +00:00
nickysn
ce8ed9efa8
+ added another helper tcgz80.a_jmp_signed_cmp_3way
...
git-svn-id: branches/z80@44979 -
2020-04-21 22:48:44 +00:00
nickysn
ded10c55b3
- removed an extra unused jump
...
git-svn-id: branches/z80@44978 -
2020-04-21 22:17:30 +00:00
nickysn
027217d1fe
* fixed an OP_SUB bug in tcgz80.a_op_const_reg_internal
...
git-svn-id: branches/z80@44977 -
2020-04-21 22:05:02 +00:00
nickysn
c1fa5600f1
+ implemented code generation for unsigned 16,32 and 64-bit comparisons (<,<=,>,>=)
...
git-svn-id: branches/z80@44976 -
2020-04-21 21:52:55 +00:00
nickysn
a714a2fb76
+ added a jmp helper that handles all possible combinations of jump on below, equal and above (unsigned comparison)
...
git-svn-id: branches/z80@44975 -
2020-04-21 21:38:15 +00:00
nickysn
08f02cfd87
+ implemented code generation for 16-bit, 32-bit and 64-bit equal and unequal comparisons. </<=/>/>=
...
are still 8-bit only.
git-svn-id: branches/z80@44974 -
2020-04-21 20:37:05 +00:00
florian
2d3cd25fd8
* patch by Michael Ring: adds license headers to th FreeRTOS files and some renames to make the interrupts cmsis compatible.
...
git-svn-id: trunk@44973 -
2020-04-21 20:34:15 +00:00
nickysn
902b8e0958
+ implemented Move() using inline asm
...
git-svn-id: branches/z80@44972 -
2020-04-21 19:27:27 +00:00
nickysn
0bbd140228
* fixed handling of untyped const parameters
...
git-svn-id: branches/z80@44971 -
2020-04-21 19:19:17 +00:00
yury
c3954a0cee
* Fixed r44960. Also copy a trailing implicit #0 of the original string to the new larger string.
...
git-svn-id: trunk@44970 -
2020-04-21 18:55:24 +00:00
nickysn
7f409534a1
+ exposed FillChar, Sptr, get_frame, get_caller_addr, get_caller_frame from z80.inc even without FULL_RTL. This allows
...
testing them and using them for debugging (e.g. PrintHexWord(Word(Sptr)) now works)
git-svn-id: branches/z80@44969 -
2020-04-21 17:44:49 +00:00
nickysn
16b2fd4378
+ compile z80.inc even without FULL_RTL
...
+ added extra defines to the system unit without FULL_RTL, so that more things can be compiled
- commented out stuff from z80.inc that doesn't compile yet. It will be uncommented as soon as the code generator
starts being able to compile it
git-svn-id: branches/z80@44968 -
2020-04-21 17:39:33 +00:00
nickysn
c616c8df32
+ implemented Sptr
...
git-svn-id: branches/z80@44967 -
2020-04-21 17:25:48 +00:00
nickysn
4e4cb4fd9d
+ implemented get_frame
...
git-svn-id: branches/z80@44966 -
2020-04-21 17:16:17 +00:00
nickysn
2aa248bba2
* FillChar changed to a pure assembler procedure
...
git-svn-id: branches/z80@44965 -
2020-04-21 16:48:54 +00:00
nickysn
7bfce62302
* fixed stack direction in assignintreg. This fixes problems with the parameter location calculation.
...
git-svn-id: branches/z80@44964 -
2020-04-21 16:41:43 +00:00
nickysn
fcaf2fe5a0
* stack_offset changed to longint
...
git-svn-id: branches/z80@44963 -
2020-04-21 16:34:21 +00:00
nickysn
0332a60cb8
* cur_stack_offset changed to longint
...
git-svn-id: branches/z80@44962 -
2020-04-21 16:31:15 +00:00
nickysn
c67fa28d7c
* use a LD sequence for 2-byte moves as well in tcgz80.g_concatcopy
...
git-svn-id: branches/z80@44961 -
2020-04-21 16:26:04 +00:00
yury
1e32b96bc2
* Minor improvement. No need to move the terminating null char, since it is written later anyway. Remove a local var.
...
git-svn-id: trunk@44960 -
2020-04-21 14:18:35 +00:00
Károly Balogh
ef790adc28
m68k-amiga: document which legacy support functions are unimplemented and why, and where are they used in the RTL code
...
git-svn-id: trunk@44959 -
2020-04-21 13:54:22 +00:00
svenbarth
184d6d61ed
* regenerate makefiles
...
git-svn-id: trunk@44958 -
2020-04-21 06:09:20 +00:00
svenbarth
2aa0e50873
* implement dogetcopy for the Aarch64 variant of the tryfinally node
...
git-svn-id: trunk@44957 -
2020-04-21 06:07:06 +00:00
svenbarth
55c1ecedac
* set implicitframe for copied tryfinally nodes as well
...
git-svn-id: trunk@44956 -
2020-04-21 06:07:03 +00:00
svenbarth
90040983b6
* stub out assembly functions for non-x86 platforms
...
git-svn-id: trunk@44955 -
2020-04-21 06:06:59 +00:00
svenbarth
aa1c1174e6
* correctly implement assembly routines for non-i386 (x86_64 did not work correctly either)
...
git-svn-id: trunk@44954 -
2020-04-21 06:06:55 +00:00
svenbarth
6dc7e28604
* prefix and suffixes are only required for StdCall callining convention which is only available for i386-Win32
...
git-svn-id: trunk@44953 -
2020-04-21 06:06:51 +00:00
svenbarth
246bcd75f6
* use StdCall like naming conventions only for Win32; on x86_64-win64 this import unit never worked and on aarch64-win64 this leads to an error in clang's assembler...
...
git-svn-id: trunk@44952 -
2020-04-21 06:06:48 +00:00
svenbarth
06e3feb919
* don't set ASMMODE to INTEL on non-x86 targets
...
git-svn-id: trunk@44951 -
2020-04-21 06:06:44 +00:00
svenbarth
e01de80981
* register the DLL scanner for aarch64-win64
...
git-svn-id: trunk@44950 -
2020-04-21 06:06:40 +00:00
svenbarth
7f4b94e408
* generate jump tables into the same section as the code as otherwise we'll get bogus relocations (in case of clang.exe) or a future support for armasm64.exe will reject the relative symbols outright
...
git-svn-id: trunk@44949 -
2020-04-21 06:06:36 +00:00
svenbarth
b88107fa1d
* due to an apparent bug in the clang assembler for COFF when assembling ADRP instructions we can't use symbols that are offset into their section
...
git-svn-id: trunk@44948 -
2020-04-21 06:06:31 +00:00
svenbarth
042aae2455
* the clang assembler does not provide support for the SEH directives we need (only the LLVM backend would be able to use them), thus we need to manually convert them to data sections
...
git-svn-id: trunk@44947 -
2020-04-21 06:06:28 +00:00
svenbarth
531c93a04e
* regenerate msg{idx,txt}.inc
...
git-svn-id: trunk@44946 -
2020-04-21 06:06:24 +00:00
svenbarth
7f0d582a4a
+ add Win64 target to help text
...
git-svn-id: trunk@44945 -
2020-04-21 06:06:20 +00:00
svenbarth
6143b8b54d
+ add an error message if the size of a function is invalid (in case of aarch64-win64: not a multiple of 4, the instruction size)
...
git-svn-id: trunk@44944 -
2020-04-21 06:06:16 +00:00
svenbarth
ada6d8ce5e
* the .pdata section currently only needs to be always included for arm-wince (at least until we have full SEH support there as well)
...
git-svn-id: trunk@44943 -
2020-04-21 06:06:13 +00:00
svenbarth
96c52ef16d
+ implement a main_wrapper for the default exception handler for aarch64-win64
...
git-svn-id: trunk@44942 -
2020-04-21 06:06:09 +00:00
svenbarth
2b59000d56
+ implement compiler support for SEH on Win64
...
Note: due to the way we access variables in a nested function (which in this case includes exception filters) we can not extract the finally handlers and call them (like we do on i386 and x86_64, but instead we duplicate the finally code)
git-svn-id: trunk@44941 -
2020-04-21 06:06:05 +00:00
svenbarth
4e06d66d7f
+ implement RTL functionality for SEH for aarch64-win64
...
git-svn-id: trunk@44940 -
2020-04-21 06:05:59 +00:00
svenbarth
bfa5bf80e2
* inside the Win64 system unit convert FPC_USE_WIN64_SEH to a SYSTEM_USE_WIN_SEH
...
git-svn-id: trunk@44939 -
2020-04-21 06:05:55 +00:00
svenbarth
5c898fe795
* enable is_prefetch only for x86 code
...
git-svn-id: trunk@44938 -
2020-04-21 06:05:51 +00:00