Commit Graph

58816 Commits

Author SHA1 Message Date
nickysn
3a5544ea63 - removed the the OS_64 and OS_F64-related code from tcpuparamanager.get_funcretloc
git-svn-id: branches/z80@45025 -
2020-04-23 02:32:54 +00:00
nickysn
89b8bd3848 + added a Z80-specific override for tcgz80.a_loadfpu_ref_cgpara, to support returning single results
in registers

git-svn-id: branches/z80@45024 -
2020-04-23 02:29:46 +00:00
nickysn
5c6fadada8 + return singles in the same registers as 32-bit ints
git-svn-id: branches/z80@45023 -
2020-04-23 02:17:03 +00:00
nickysn
088cfd5da5 * write a warning in the assembler output, instead of stopping with an internal error in
tcgz80.a_op_reg_reg_internal for OP_MUL/OP_IMUL, so that more RTL code can be compiled

git-svn-id: branches/z80@45022 -
2020-04-23 02:07:25 +00:00
nickysn
76a8d47eb6 + added z80/int64p.inc (empty for now)
git-svn-id: branches/z80@45021 -
2020-04-23 01:57:03 +00:00
nickysn
cae8a928c9 * fixed tz80loadparentfpnode.pass_generate_code to return result in an imaginary register sequence,
instead of simply returning IX

git-svn-id: branches/z80@45020 -
2020-04-23 01:40:13 +00:00
nickysn
770822382f + implemented all the remaining 16-bit and 32-bit comparisons in tcgz80.a_cmp_const_reg_label
git-svn-id: branches/z80@45019 -
2020-04-23 00:57:21 +00:00
nickysn
d54a2b7cb6 * generate an internal error in tcgz80.a_cmp_reg_reg_label, because that's not yet implemented
git-svn-id: branches/z80@45018 -
2020-04-23 00:40:23 +00:00
nickysn
38d3bdc60e + allow fromsize>tosize in tcgz80.a_load_ref_reg
git-svn-id: branches/z80@45017 -
2020-04-23 00:36:22 +00:00
nickysn
b4ff7388df + retinparam fixes for exp, frac, int, cos, sin, arctan, ln, round and trunc
git-svn-id: branches/z80@45016 -
2020-04-23 00:25:02 +00:00
nickysn
661db99581 + ret in param fix in pass_typecheck for exp,frac,int,cos,sin,arctan,ln
git-svn-id: branches/z80@45015 -
2020-04-23 00:14:13 +00:00
nickysn
5200ff5e49 + ret in param fix for tinlinenode.first_sqrt_real
git-svn-id: branches/z80@45014 -
2020-04-23 00:11:17 +00:00
nickysn
0b19d4235f + ret in param fix for tinlinenode.first_sqr_real
git-svn-id: branches/z80@45013 -
2020-04-23 00:08:23 +00:00
nickysn
a1ccab5e23 + handle properly ret in param in tinlinenode.first_abs_real
git-svn-id: branches/z80@45012 -
2020-04-23 00:06:03 +00:00
nickysn
0e605eb30e * fix for the handling of abs(real), sqr(real) and sqrt(real) when the result is returned in param
git-svn-id: branches/z80@45011 -
2020-04-22 23:42:32 +00:00
nickysn
a189ea4b0b * synchronized with trunk
git-svn-id: branches/z80@45010 -
2020-04-22 22:43:31 +00:00
nickysn
9c461d90bd + handle ref.base=NR_HL/NR_BC/NR_SP in tcgz80.a_loadaddr_ref_reg
git-svn-id: branches/z80@45009 -
2020-04-22 22:37:20 +00:00
nickysn
9c27227d3a + include softfpu in the ZX Spectrum system unit, when compiled with -dFULL_RTL (which still doesn't work)
git-svn-id: branches/z80@45008 -
2020-04-22 22:25:52 +00:00
nickysn
3f62fb7fe7 + enabled FPU emulation for the Z80
git-svn-id: branches/z80@45007 -
2020-04-22 22:18:33 +00:00
nickysn
3014378ad2 + support OS_32,OS_S32 in tcgz80.a_load_reg_cgpara
git-svn-id: branches/z80@45006 -
2020-04-22 22:04:15 +00:00
nickysn
3d89d72621 * fixed 64-bit AND/OR/XOR in tcgz80.a_op_reg_reg_internal
git-svn-id: branches/z80@45005 -
2020-04-22 21:58:43 +00:00
nickysn
e7f707cd78 + fixed 64-bit OP_NEG in a_op_reg_reg_internal
git-svn-id: branches/z80@45004 -
2020-04-22 21:48:42 +00:00
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
florian
483837ae5c + Xtensa: make use of ADDX*
git-svn-id: trunk@45001 -
2020-04-22 21:03:08 +00:00
florian
74abe87315 * Xtensa: do SAR by a constant using SRAI
git-svn-id: trunk@45000 -
2020-04-22 21:03:06 +00:00
svenbarth
5ef9a78f5f * fix for Mantis #36951: B and BL can take immediate literals as well
+ added test

git-svn-id: trunk@44999 -
2020-04-22 20:19:14 +00:00
svenbarth
03eb114e97 * fix for Mantis #36951: if the instruction only has one operand and it's a reference then don't internal error, but instead return OS_NO
git-svn-id: trunk@44998 -
2020-04-22 20:19:09 +00:00
nickysn
0b3b8401df + implemented tcgz80.a_jmp_cond
git-svn-id: branches/z80@44997 -
2020-04-22 16:10:23 +00:00
yury
7b425ed4a6 * Moved the common interface part of the win32 and win64 System units to the syswinh.inc include file.
git-svn-id: trunk@44996 -
2020-04-22 12:04:05 +00:00
yury
0f4ddf7b34 * Do not report about unimplemented unicodestring manager when HAS_WIDESTRINGMANAGER is defined (on Windows). In such case unimplemented parts are never executed unless you call them directly.
* Do not assign DefaultGetStandardCodePage when HAS_WIDESTRINGMANAGER is defined (on Windows).

git-svn-id: trunk@44995 -
2020-04-22 09:13:20 +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