nickysn
|
27adafeecb
+ support moving from a shorter unsigned (sign extension not yet implemented) to a longer type in tcg8086.a_load_reg_ref
|
12 years ago |
nickysn
|
3aeea835f9
+ int register in treference.segment support in tcg8086.op_*ref*
|
12 years ago |
florian
|
c1a1325a72
* reduce register pressure by allocating/deallocating registers as late/early as possible
|
12 years ago |
nickysn
|
8b1e621665
* segment in int register support added also to tcg8086.a_load_reg_ref and .a_load_ref_reg
|
12 years ago |
nickysn
|
9171c19601
* support int register in treference.segment in tcg8086.a_load_const_ref; this fixes farptr^:=const
|
12 years ago |
nickysn
|
2557382815
- rm tcg8086.g_maybe_got_init as it's of no use for the i8086
|
12 years ago |
nickysn
|
c4dd85a0eb
+ implemented tcg8086.a_op_reg_ref
|
12 years ago |
nickysn
|
85b98671bd
+ implemented tcg8086.a_op_const_ref for op_add/and/or/sub/xor/move/none; this fixes inc(longint) among other things
|
12 years ago |
nickysn
|
2d67a3169d
* i8086 fixes in tcg8086.g_copyvaluepara_openarray
|
12 years ago |
nickysn
|
502c2ffb94
* fixed tcg8086.a_load_reg_reg when doing an unsigned extension in the same superregister; this fixes the taddbool test
|
12 years ago |
nickysn
|
5a4a3cbbc3
+ implemented tcg8086.a_op_ref_reg; supports op_add/sub/xor/or/and
|
12 years ago |
nickysn
|
4527fe8fa2
+ added 8086 workaround for the 'imul reg,const' 186+ instruction. The compiler can now generate strict 8086/8088 code.
|
12 years ago |
nickysn
|
8fddb1361b
* got rid of push const also in tcg8086.a_loadaddr_ref_cgpara
|
12 years ago |
nickysn
|
cfc3c6ec5d
- cleanup tcg8086.a_loadaddr_ref_cgpara from unused code left over from i386
|
12 years ago |
nickysn
|
76e3dd5cef
* do not generate push const on the i8086, go through a register instead, unless it's 186+
|
12 years ago |
nickysn
|
06f1b6a4e8
* moved the i8086 'push const' instructions to a new method, so they can be abstracted on pre-186 processors
|
12 years ago |
nickysn
|
7c0679efdb
* use the 'leave' instruction on 80186+
|
12 years ago |
nickysn
|
af5614e52d
* i8086 parameter alignment fixes
|
12 years ago |
nickysn
|
7b9fd7b9f4
* instruction size fixes in tcg8086.g_intf_wrapper
|
12 years ago |
nickysn
|
c4cee15481
* bug fix in tcg8086.a_load_reg_reg for loading larger register to a smaller one
|
12 years ago |
florian
|
636129ed8c
* fix interface wrapper generation for i8086
|
12 years ago |
florian
|
edd4c1ce4b
* proper fix to avoid sp relative adressing as r23867 tries
|
12 years ago |
nickysn
|
01106a0968
* support stack relative addresses in a_loadfpu_reg_ref on the i8086
|
12 years ago |
nickysn
|
44ce37369e
* support 32-bit parameters that have a pair of two 16-bit locations in tcg8086.a_load_reg_cgpara
|
12 years ago |
nickysn
|
e956ffc27b
* bug fix in the 32-bit parameters handling in tcg8086.a_load_const_cgpara
|
12 years ago |
nickysn
|
c438f3b53a
* 386 changed to 8086 in various class names and comments
|
12 years ago |
nickysn
|
ea282ab4b3
* many int64 fixes
|
12 years ago |
nickysn
|
79f43c22e9
* fixed passing of int64 constants as parameters
|
12 years ago |
nickysn
|
8645d8e6cb
* fixed implementation of a_op64_reg_reg for i8086
|
12 years ago |
nickysn
|
ee005a9c1b
- rm forgotten debug writeln
|
12 years ago |