nickysn
|
9da1ee0138
* i8086 far data model fixes in the copying of openarray value params
|
11 năm trước cách đây |
nickysn
|
0a9f738167
+ tcg8086.g_copyvaluepara_openarray: support source to be in a different segment
|
11 năm trước cách đây |
nickysn
|
1f8280e8f1
* load the destination segment in tcg8086.g_copyvaluepara_openarray from SS
|
11 năm trước cách đây |
nickysn
|
122f66b11a
+ support passing far addresses in tcg8086.a_loadaddr_ref_cgpara
|
11 năm trước cách đây |
sergei
|
9c54cdc85d
* x86: Cleaned out addr_far,addr_far_ref used to encode far calls/jumps. NASM (and FPC x86 assembler based on it) already have opsize=S_FAR for this purpose.
|
11 năm trước cách đây |
nickysn
|
b672bc754a
- rm references to system_i386_darwin and system_i386_iphonesim from
|
11 năm trước cách đây |
nickysn
|
a31b7d485f
* tcg8086.init_register_allocator: instantiate trgintcpu instead of trgcpu for
|
11 năm trước cách đây |
nickysn
|
fc29e10349
* allow the use of inc/dec when adding/subtracting 32 or 64-bit constants with
|
11 năm trước cách đây |
sergei
|
9c1f917e3a
* a_call_ref functionality cannot be implemented efficiently at code generator level, because references need specific preparations at earlier points. Moved this support to tcgcallnode and its x86 descendants, and got rid of all ifdef's around.
|
11 năm trước cách đây |
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 năm trước cách đây |
nickysn
|
529008e031
* emit MUL (when overflow checking is off), instead of IMUL for OP_IMUL in
|
11 năm trước cách đây |
nickysn
|
767a0f1187
- rm TODO comment about the IMUL optimization with SHL from
|
11 năm trước cách đây |
nickysn
|
1a846e7c71
- rm TODO comment for overflow checking from tcg8086.a_op_const_reg, since
|
11 năm trước cách đây |
nickysn
|
b8203a3406
* fixed tcg8086.gen_cmp32_jmp1 for the less than/greater than cases
|
11 năm trước cách đây |
nickysn
|
cf6f408214
+ implemented the tcg8086.a_cmp_*_*_label methods for i8086. How did the i8086
|
11 năm trước cách đây |
nickysn
|
dcb9306de8
* perform the OP_AND, OP_OR and OP_XOR optimizations for 0 and $FFFF values
|
11 năm trước cách đây |
nickysn
|
9a1e33d2a0
* tcg8086.a_op_const_reg: perform the OP_AND, OP_OR and OP_XOR optimizations for
|
11 năm trước cách đây |
nickysn
|
9eb4419ba3
* fixed the conversion and assignment to the 64-bit boolean types on the i8086
|
11 năm trước cách đây |
nickysn
|
974fea30b2
* use only one temporary 16-bit register, instead of two in tcg8086.g_flags2ref
|
11 năm trước cách đây |
nickysn
|
bda163544a
* tcg8086.g_flags2reg: restore the register back to the original size after the
|
11 năm trước cách đây |
nickysn
|
fbd05c4e12
* Improved code generation in tcg8086.g_flags2reg for the case when target reg
|
11 năm trước cách đây |
nickysn
|
d57d982be7
* simpler handling of moves from a smaller to a larger cgsize in
|
11 năm trước cách đây |
nickysn
|
5d0814016d
* improvements and fixes in tcg8086.a_load_reg_reg and .a_load_ref_reg:
|
11 năm trước cách đây |
nickysn
|
6d48b32115
* fixes and improvements in tcg8086.a_load_reg_reg for the case when the src and
|
11 năm trước cách đây |
nickysn
|
fdd36b4603
* on i8086 with regvars on, do not notify the register allocator of moves to BX.
|
11 năm trước cách đây |
nickysn
|
8bfe2a56dd
* optimized SAR by 31 to use only one SAR instruction in tcg8086.a_op_const_reg
|
12 năm trước cách đây |
nickysn
|
bfd31e7516
* optimizations in tcg8086.g_copyvaluepara_openarray:
|
12 năm trước cách đây |
nickysn
|
ff9ce0d20d
* tcg8086.g_copyvaluepara_openarray improvements:
|
12 năm trước cách đây |
nickysn
|
ef51c8c5a2
* fixed the interface wrapper code generation for virtual methods on i8086 in
|
12 năm trước cách đây |
nickysn
|
116d3746ca
* fixed the stack offset to the self parameter when generating an interface
|
12 năm trước cách đây |