nickysn
|
fdd36b4603
* on i8086 with regvars on, do not notify the register allocator of moves to BX.
|
11 years ago |
nickysn
|
8bfe2a56dd
* optimized SAR by 31 to use only one SAR instruction in tcg8086.a_op_const_reg
|
11 years ago |
nickysn
|
bfd31e7516
* optimizations in tcg8086.g_copyvaluepara_openarray:
|
11 years ago |
nickysn
|
ff9ce0d20d
* tcg8086.g_copyvaluepara_openarray improvements:
|
11 years ago |
nickysn
|
ef51c8c5a2
* fixed the interface wrapper code generation for virtual methods on i8086 in
|
11 years ago |
nickysn
|
116d3746ca
* fixed the stack offset to the self parameter when generating an interface
|
11 years ago |
nickysn
|
83aa50de74
* emit a far jmp in the interface wrapper on i8086 in far code memory models
|
11 years ago |
nickysn
|
814e1297ed
* tcg8086.g_adjust_self_value fixed for far code memory models
|
11 years ago |
nickysn
|
0aff18ac61
+ implemented tcg64f8086.a_op64_ref_reg
|
12 years ago |
nickysn
|
3cdbf9a805
+ implemented tcg64f8086.a_op64_const_ref
|
12 years ago |
nickysn
|
3bdd3d9a4e
+ optimization in tcg64f8086.a_op64_const_reg for OP_ADD and OP_SUB when the
|
12 years ago |
nickysn
|
88c7ca96c5
+ optimization in tcg8086.a_op_const_reg and .a_op_const_ref for 32-bit OP_ADD
|
12 years ago |
nickysn
|
8f44e729cc
* tcg8086.a_op_const_ref and .a_op_const_reg: when splitting a 32-bit OP_AND,
|
12 years ago |
nickysn
|
bd0585274e
* tsettings.enablecld converted to a targetswitch ts_cld
|
12 years ago |
nickysn
|
52fcc0a407
+ added a new x86-specific compiler option 'enablecld', which controls whether
|
12 years ago |
nickysn
|
1f783f539c
* emit a cld instruction before the rep movsXX in tcg8086.g_copyvaluepara_openarray as well
|
12 years ago |
florian
|
11ff8a4ec1
+ support register parameters with multiple locations
|
12 years ago |
florian
|
57d4185d44
* allocate/deallocate cpu registers as late/early as possible, this gives the reg. allocator more flexibility
|
12 years ago |
sergei
|
a21a20d559
+ i8086-specific version of g_stackpointer_alloc.
|
12 years ago |
nickysn
|
b81f0ab50d
+ implemented tcg8086.a_call_reg_far; very hacky, but still better than doing a near call, when it should be far
|
12 years ago |
nickysn
|
604b7c9deb
+ added cg.a_call_ref_near and a_call_ref_far
|
12 years ago |
nickysn
|
af54de6d56
+ added tcg8086.a_call_name_far and .a_call_name_static_far; a_call_name and a_call_name_static overriden and call near or far depending on the memory model
|
12 years ago |
nickysn
|
aa63efc27e
* emit a far ret instruction in the exit code of far procedures
|
12 years ago |
nickysn
|
e2241d97a2
* i8086 optimizations for 32-bit OP_SAR with const >= 16
|
12 years ago |
nickysn
|
55a071692e
* i8086 optimizations in op_const_reg for 32-bit OP_SHL and OP_SHR with const >= 16
|
12 years ago |
nickysn
|
ec76b2cf40
* refactored the segment-in-integer-register reference support, so it's handled in make_simple_ref, instead of all over the place in the code generator
|
12 years ago |
nickysn
|
e243b6b869
* never use the 66h prefix when pushing/popping segment registers on i8086, as the stack is aligned on 2 bytes there
|
12 years ago |
nickysn
|
c2e3fb5918
+ emit proper interrupt procedure entry/exit code on i8086
|
12 years ago |
nickysn
|
c271594b4f
+ optimized implementation of 32-bit OP_SHL,OP_SHR and OP_SAR in tcg8086.a_op_const_reg
|
12 years ago |
nickysn
|
06838be452
* fixed bug when passing a 'single' floating point type parameter via tcg8086.a_load_ref_cgpara
|
12 years ago |