nickysn
|
a1d29b8251
* always pop DS in huge memory models in asm routines that don't specify
|
пре 10 година |
nickysn
|
98ec7a2211
* eliminated the dual initialization of DS in interrupt procedures in the huge
|
пре 10 година |
nickysn
|
0fdc62e0f7
+ initialize DS with the current unit's data segment in the function entry code
|
пре 10 година |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
пре 10 година |
florian
|
35a04ad095
* modified patch of Paul W to replace leave by mov/pop, resolves #26455
|
пре 10 година |
Jonas Maebe
|
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
|
пре 11 година |
Jonas Maebe
|
a637fbe596
* moved all g_exception_*() methods to hlcgobj and cleaned them up (no more
|
пре 11 година |
nickysn
|
791cd932fd
+ support i8086 far data memory models in tcg8086.g_intf_wrapper
|
пре 11 година |
nickysn
|
906d828ee0
* tcg8086.g_copyvaluepara_openarray: fix for the case where ref.segment is
|
пре 11 година |
nickysn
|
c9c29a3cd4
+ ignore the source segment, when the destination cgpara is a near pointer in
|
пре 11 година |
nickysn
|
c9f8703679
+ set ref.segment to NR_SS for all temps/localvars on i8086. This allows the
|
пре 11 година |
nickysn
|
bf6ad0ff78
* fixed tcg8086.g_flags2reg, so it behaves the same way as tcgx86.g_flags2reg
|
пре 11 година |
sergei
|
98de3c4e40
* tcg8086.g_flags2reg: call virtual method a_jmp_flags instead of duplicating its functionality, it prevents further changes to this method when adding support for unordered comparison results.
|
пре 11 година |
nickysn
|
6fe362a1b0
+ added method is_far to i8086's tcpuprocdef and tcpuprocvardef
|
пре 11 година |
nickysn
|
9da1ee0138
* i8086 far data model fixes in the copying of openarray value params
|
пре 11 година |
nickysn
|
0a9f738167
+ tcg8086.g_copyvaluepara_openarray: support source to be in a different segment
|
пре 11 година |
nickysn
|
1f8280e8f1
* load the destination segment in tcg8086.g_copyvaluepara_openarray from SS
|
пре 11 година |
nickysn
|
122f66b11a
+ support passing far addresses in tcg8086.a_loadaddr_ref_cgpara
|
пре 11 година |
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 година |
nickysn
|
b672bc754a
- rm references to system_i386_darwin and system_i386_iphonesim from
|
пре 11 година |
nickysn
|
a31b7d485f
* tcg8086.init_register_allocator: instantiate trgintcpu instead of trgcpu for
|
пре 11 година |
nickysn
|
fc29e10349
* allow the use of inc/dec when adding/subtracting 32 or 64-bit constants with
|
пре 11 година |
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 година |
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 година |
nickysn
|
529008e031
* emit MUL (when overflow checking is off), instead of IMUL for OP_IMUL in
|
пре 11 година |
nickysn
|
767a0f1187
- rm TODO comment about the IMUL optimization with SHL from
|
пре 11 година |
nickysn
|
1a846e7c71
- rm TODO comment for overflow checking from tcg8086.a_op_const_reg, since
|
пре 11 година |
nickysn
|
b8203a3406
* fixed tcg8086.gen_cmp32_jmp1 for the less than/greater than cases
|
пре 11 година |
nickysn
|
cf6f408214
+ implemented the tcg8086.a_cmp_*_*_label methods for i8086. How did the i8086
|
пре 11 година |
nickysn
|
dcb9306de8
* perform the OP_AND, OP_OR and OP_XOR optimizations for 0 and $FFFF values
|
пре 11 година |