nickysn
|
b3f7bce3a6
* check for CPUX86_HAS_SSE2 instead of CPUX86_HAS_SSEUNIT in Tcgx86.g_concatcopy
|
8 tahun lalu |
florian
|
dba1761a76
+ tcgx86.a_load_reg_ref cuts data if the ref. size is smaller than the reg. size
|
8 tahun lalu |
nickysn
|
7b70848d83
+ allow the src register size to be different from the op size or the dst
|
8 tahun lalu |
florian
|
b1dff29cbf
* removed unused units
|
8 tahun lalu |
florian
|
5c2c5d72a2
* use avx for copying data only on i386 for 8 byte chunks
|
8 tahun lalu |
nickysn
|
ec11864272
* use a native sized int register for the shift count in in_sar_assign_x_y,
|
8 tahun lalu |
nickysn
|
16af6f03fb
+ support OP_SHR/OP_SHL/OP_SAR/OP_ROL/OP_ROR in tcgx86.a_op_reg_ref
|
8 tahun lalu |
nickysn
|
256dc546ac
+ implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will
|
8 tahun lalu |
florian
|
1e374df5b8
* correctly calculate the bit mask in thlcgobj.a_load_regconst_subsetreg_intern, resolves #31042
|
8 tahun lalu |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 tahun lalu |
svenbarth
|
c8202061dc
* get rid of addr_load_indirect again by having tcgx86 provide an internal implementation of both make_simple_ref() and a_load_ref_reg() so that make_direct_ref() can call the latter (and the latter the former) without fear of inifinite recursive calls due to the symbol; a_load_ref_reg() is additionally declared as "final" as a_load_ref_reg_internal() needs to be overloaded instead (which is the case for tcg8086)
|
9 tahun lalu |
svenbarth
|
89f7da58ea
* fix tcgx86.make_direct_ref: we need to use the register in which we loaded the symbol and combine that with the base register (if it is set) without using an ADD
|
9 tahun lalu |
Jonas Maebe
|
27bb656cec
* replaced "in_make_direct_ref" field with a trefaddr flag
|
9 tahun lalu |
Jonas Maebe
|
e8c9541c04
* don't use ADD in make_direct_ref(), as the flags may be live
|
9 tahun lalu |
Jonas Maebe
|
a9073cb50b
* don't overwrite the flags in make_simple_ref() if the reference
|
9 tahun lalu |
Jonas Maebe
|
0afbe85aab
* various memory reference alignment fixes
|
9 tahun lalu |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 tahun lalu |
Jonas Maebe
|
1cb8c0d00c
* specify the def of assembler level symbols defined via
|
9 tahun lalu |
pierre
|
fb50d0860b
Use BX register instead of AX to reload DS at proc entry if register convention is used
|
9 tahun lalu |
nickysn
|
c78f406d99
+ implemented proper stack checking for the i8086
|
9 tahun lalu |
florian
|
d2b74be153
* always use vmov variants of instructions if avx is enabled
|
9 tahun lalu |
florian
|
a742df9035
* reverse merged r33524 as it is not safe as test results showed
|
9 tahun lalu |
florian
|
f576b0c01b
* make use of xor reg,reg by generating it directly instead of hoping for the peephole
|
9 tahun lalu |
nickysn
|
c4343c1a2d
* don't call make_simple_ref in tcgx86.g_concatcopy on i8086, because that
|
9 tahun lalu |
yury
|
3c6d4f1ee2
* Removed unused vars.
|
9 tahun lalu |
svenbarth
|
f297b00f5b
Extend the x86 targets by the ability to handle indirect symbols.
|
9 tahun lalu |
svenbarth
|
77ede2ac9f
i386/cgcpu.pas, tcg386:
|
9 tahun lalu |
sergei
|
1b965e6766
* x86: Don't save/restore integer registers that are volatile per calling convention of current procedure. It implies that nothing will be saved for procedures with OLDFPCCALL, FAR16 and PASCAL and calling conventions. OLDFPCCALL restores behavior that was in effect before r25224.
|
9 tahun lalu |
nickysn
|
b26e10d53c
+ generate proper win16 prologue/epilogue for exported routines (we don't yet
|
10 tahun lalu |
yury
|
e04a3b4ac6
* Removed unused vars for x86 compiler.
|
10 tahun lalu |