nickysn
|
85dd9e5789
+ added a size parameter to optimize_op_const and do a sign extension of the 'a' parameter up from the specified size, so that things like (i and $ffffffff) get optimized away the same way as (i and -1)
|
11 years ago |
nickysn
|
529008e031
* emit MUL (when overflow checking is off), instead of IMUL for OP_IMUL in
|
11 years ago |
nickysn
|
767a0f1187
- rm TODO comment about the IMUL optimization with SHL from
|
11 years ago |
nickysn
|
1a846e7c71
- rm TODO comment for overflow checking from tcg8086.a_op_const_reg, since
|
11 years ago |
nickysn
|
b8203a3406
* fixed tcg8086.gen_cmp32_jmp1 for the less than/greater than cases
|
11 years ago |
nickysn
|
cf6f408214
+ implemented the tcg8086.a_cmp_*_*_label methods for i8086. How did the i8086
|
11 years ago |
nickysn
|
dcb9306de8
* perform the OP_AND, OP_OR and OP_XOR optimizations for 0 and $FFFF values
|
11 years ago |
nickysn
|
9a1e33d2a0
* tcg8086.a_op_const_reg: perform the OP_AND, OP_OR and OP_XOR optimizations for
|
11 years ago |
nickysn
|
9eb4419ba3
* fixed the conversion and assignment to the 64-bit boolean types on the i8086
|
11 years ago |
nickysn
|
974fea30b2
* use only one temporary 16-bit register, instead of two in tcg8086.g_flags2ref
|
11 years ago |
nickysn
|
bda163544a
* tcg8086.g_flags2reg: restore the register back to the original size after the
|
11 years ago |
nickysn
|
fbd05c4e12
* Improved code generation in tcg8086.g_flags2reg for the case when target reg
|
11 years ago |
nickysn
|
d57d982be7
* simpler handling of moves from a smaller to a larger cgsize in
|
11 years ago |
nickysn
|
5d0814016d
* improvements and fixes in tcg8086.a_load_reg_reg and .a_load_ref_reg:
|
11 years ago |
nickysn
|
6d48b32115
* fixes and improvements in tcg8086.a_load_reg_reg for the case when the src and
|
11 years ago |
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
|
12 years ago |
nickysn
|
814e1297ed
* tcg8086.g_adjust_self_value fixed for far code memory models
|
12 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 |