nickysn
ccd23d288d
* handle same size, but different sign conversions properly in tcgz80.a_load_reg_ref,.a_load_ref_reg,.a_load_reg_reg
...
git-svn-id: branches/z80@45003 -
2020-04-22 21:42:00 +00:00
nickysn
4d875acdf1
+ support OS_32 and OS_S32 in tcgz80.a_load_ref_cgpara
...
git-svn-id: branches/z80@45002 -
2020-04-22 21:09:03 +00:00
nickysn
0b3b8401df
+ implemented tcgz80.a_jmp_cond
...
git-svn-id: branches/z80@44997 -
2020-04-22 16:10:23 +00:00
nickysn
39574ac70e
+ implemented tz80notnode.second_boolean
...
git-svn-id: branches/z80@44994 -
2020-04-22 03:20:49 +00:00
nickysn
a3ae55081a
+ also handle LOC_FLAGS in tz80notnode.second_boolean
...
git-svn-id: branches/z80@44993 -
2020-04-22 03:03:11 +00:00
nickysn
bdd7cfb644
+ handle LOC_JUMP in tz80notnode.second_boolean
...
git-svn-id: branches/z80@44992 -
2020-04-22 02:59:14 +00:00
nickysn
63e6c8fcf1
+ override the NOT node for the Z80 (not yet implemented)
...
git-svn-id: branches/z80@44991 -
2020-04-22 02:56:51 +00:00
nickysn
c0ea4d826c
+ also support the 8-bit mul helpers in the generic code of nadd
...
git-svn-id: branches/z80@44990 -
2020-04-22 02:45:49 +00:00
nickysn
242b67c50a
+ always use a mul helper on the Z80
...
git-svn-id: branches/z80@44989 -
2020-04-22 02:39:26 +00:00
nickysn
b741ed63b0
- commented out internal error in trgcpu.do_spill_read and trgcpu.do_spill_written
...
git-svn-id: branches/z80@44988 -
2020-04-22 02:31:21 +00:00
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