nickysn
|
ab6d9e9df9
|
- removed tcgz80.maybegetcpuregister, because it isn't used
git-svn-id: branches/z80@45106 -
|
2020-04-26 16:38:29 +00:00 |
|
nickysn
|
05ca71133f
|
+ implemented OP_MUL/OP_IMUL in tcgz80.a_op_reg_reg_internal
git-svn-id: branches/z80@45105 -
|
2020-04-26 16:37:53 +00:00 |
|
nickysn
|
b15c66b396
|
* fixed tcgz80.a_call_reg
git-svn-id: branches/z80@45062 -
|
2020-04-25 11:06:58 +00:00 |
|
nickysn
|
4b88e8f48e
|
* fixed label placement in tcgz80.a_cmp_const_reg_label for 16-bit/32-bit operations OC_GT,OC_LT,OC_GTE,OC_LTE,OC_BE,OC_B,OC_AE,OC_A
git-svn-id: branches/z80@45061 -
|
2020-04-25 09:44:34 +00:00 |
|
nickysn
|
4a0ad586d0
|
+ implemented record copy in tcgz80.a_load_ref_cgpara
git-svn-id: branches/z80@45035 -
|
2020-04-23 03:14:09 +00:00 |
|
nickysn
|
992602afcb
|
* fixed 64-bit OP_NOT
git-svn-id: branches/z80@45034 -
|
2020-04-23 03:10:39 +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
|
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
|
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
|
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
|
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 |
|
nickysn
|
0b3b8401df
|
+ implemented tcgz80.a_jmp_cond
git-svn-id: branches/z80@44997 -
|
2020-04-22 16:10:23 +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
|
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
|
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
|
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
|
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
|
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 |
|
nickysn
|
f8b0c24024
|
+ support pushing word-sized parameters in a_load_reg_cgpara
git-svn-id: branches/z80@44911 -
|
2020-04-21 03:48:36 +00:00 |
|
nickysn
|
2f68090dd6
|
* synchronized with trunk
git-svn-id: branches/z80@44898 -
|
2020-04-20 22:42:08 +00:00 |
|
nickysn
|
557a481743
|
+ use normalize_ref in tcgz80.a_load_ref_reg
git-svn-id: branches/z80@44897 -
|
2020-04-20 21:44:36 +00:00 |
|
nickysn
|
bee3e9c354
|
+ make use of normalize_ref in tcgz80.a_load_reg_ref
git-svn-id: branches/z80@44895 -
|
2020-04-20 21:34:10 +00:00 |
|
nickysn
|
a7b69cd18b
|
- removed make_simple_ref, because normalize_ref should be used instead
git-svn-id: branches/z80@44894 -
|
2020-04-20 20:52:07 +00:00 |
|
nickysn
|
0d6e59e9ef
|
+ actually return the proper (HL) reference result in tcgz80.normalize_ref
git-svn-id: branches/z80@44893 -
|
2020-04-20 20:49:45 +00:00 |
|
nickysn
|
5c138c341f
|
+ added an output parameter to tcgz80.normalize_ref, that returns a list of the registers that were
actually used, so they can be freed after the reference is used.
git-svn-id: branches/z80@44892 -
|
2020-04-20 20:46:30 +00:00 |
|
nickysn
|
fc991af9d1
|
+ added tregisterlist - dynarray of tregister, and methods get/uncpuregisters for allocating/freeing
a dynamic list of registers
git-svn-id: branches/z80@44891 -
|
2020-04-20 20:42:16 +00:00 |
|
nickysn
|
882522259e
|
+ initial implementation of tcgz80.normalize_ref
git-svn-id: branches/z80@44890 -
|
2020-04-20 20:27:08 +00:00 |
|
nickysn
|
bb0c9424f8
|
* another warning in cgcpu fixed
git-svn-id: branches/z80@44830 -
|
2020-04-19 04:46:09 +00:00 |
|
nickysn
|
8a5757e72b
|
* fixed warnings in Z80 cgcpu
git-svn-id: branches/z80@44829 -
|
2020-04-19 04:44:26 +00:00 |
|
nickysn
|
0245075c05
|
+ use is_ref_in_opertypes in cgcpu
git-svn-id: branches/z80@44765 -
|
2020-04-18 00:30:09 +00:00 |
|
nickysn
|
5547be6b3f
|
* make use of the new is_ref_XXX functions
git-svn-id: branches/z80@44760 -
|
2020-04-18 00:11:34 +00:00 |
|
nickysn
|
90e2b9ecc6
|
+ implemented tcgz80.g_flags2reg
git-svn-id: branches/z80@44696 -
|
2020-04-12 02:21:03 +00:00 |
|
nickysn
|
00f7fad1a6
|
+ support pushing word-sized parameters in tcgz80.a_load_ref_cgpara
git-svn-id: branches/z80@44695 -
|
2020-04-11 21:29:28 +00:00 |
|
nickysn
|
87258f4004
|
- removed unused local vars of tcgz80.g_concatcopy
git-svn-id: branches/z80@44693 -
|
2020-04-11 21:18:36 +00:00 |
|
nickysn
|
26e93d1e02
|
- removed unused method tcgz80.g_concatcopy_move
git-svn-id: branches/z80@44692 -
|
2020-04-11 21:17:20 +00:00 |
|
nickysn
|
c6a066495a
|
+ implemented tcgz80.g_concatcopy in the general case, using the ldir instruction
git-svn-id: branches/z80@44691 -
|
2020-04-11 21:15:55 +00:00 |
|
nickysn
|
1f8c1c1346
|
+ implemented more ref cases in tcgz80.a_loadaddr_ref_reg
git-svn-id: branches/z80@44690 -
|
2020-04-11 16:44:51 +00:00 |
|
nickysn
|
472bc6c936
|
+ support symbol+base/index in tcgz80.a_loadaddr_ref_reg
git-svn-id: branches/z80@44683 -
|
2020-04-11 01:19:13 +00:00 |
|
nickysn
|
4e5eb7fa4e
|
+ implemented tcgz80.a_loadaddr_ref_reg for symbol references
git-svn-id: branches/z80@44682 -
|
2020-04-11 01:00:46 +00:00 |
|
nickysn
|
e8cecafffa
|
+ implemented g_concatcopy for 1-byte copies from (IX+d)/(IY+d)/(HL) to (IX+d)/(IY+d)/(HL)
git-svn-id: branches/z80@44673 -
|
2020-04-09 23:37:27 +00:00 |
|
nickysn
|
5aca5937e6
|
- cleaned up unused local variables and procedures from tcgz80.a_op_const_reg_internal and tcgz80.a_op_reg_reg_internal
git-svn-id: branches/z80@44670 -
|
2020-04-09 22:01:07 +00:00 |
|
nickysn
|
0e257a2c9f
|
- removed 2 unnecessary instructions for 8-bit OP_ROL/OP_ROR in tcgz80.a_op_reg_reg_internal
git-svn-id: branches/z80@44669 -
|
2020-04-09 21:56:45 +00:00 |
|
nickysn
|
eb3c4546ab
|
+ implemented OP_SHL/OP_SHR/OP_SAR/OP_ROL/OP_ROR in tcgz80.a_op_const_reg_internal
git-svn-id: branches/z80@44668 -
|
2020-04-09 21:52:45 +00:00 |
|
nickysn
|
51e6a3f45b
|
+ implemented OP_SHL/OP_SHR/OP_SAR/OP_ROL/OP_ROR in tcgz80.a_op_reg_reg_internal
git-svn-id: branches/z80@44665 -
|
2020-04-09 21:14:23 +00:00 |
|