florian
|
dba1761a76
+ tcgx86.a_load_reg_ref cuts data if the ref. size is smaller than the reg. size
|
8 vuotta sitten |
nickysn
|
7b70848d83
+ allow the src register size to be different from the op size or the dst
|
8 vuotta sitten |
florian
|
b1dff29cbf
* removed unused units
|
8 vuotta sitten |
florian
|
5c2c5d72a2
* use avx for copying data only on i386 for 8 byte chunks
|
8 vuotta sitten |
nickysn
|
ec11864272
* use a native sized int register for the shift count in in_sar_assign_x_y,
|
8 vuotta sitten |
nickysn
|
16af6f03fb
+ support OP_SHR/OP_SHL/OP_SAR/OP_ROL/OP_ROR in tcgx86.a_op_reg_ref
|
8 vuotta sitten |
nickysn
|
256dc546ac
+ implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will
|
8 vuotta sitten |
florian
|
1e374df5b8
* correctly calculate the bit mask in thlcgobj.a_load_regconst_subsetreg_intern, resolves #31042
|
8 vuotta sitten |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 vuotta sitten |
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 vuotta sitten |
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 vuotta sitten |
Jonas Maebe
|
27bb656cec
* replaced "in_make_direct_ref" field with a trefaddr flag
|
9 vuotta sitten |
Jonas Maebe
|
e8c9541c04
* don't use ADD in make_direct_ref(), as the flags may be live
|
9 vuotta sitten |
Jonas Maebe
|
a9073cb50b
* don't overwrite the flags in make_simple_ref() if the reference
|
9 vuotta sitten |
Jonas Maebe
|
0afbe85aab
* various memory reference alignment fixes
|
9 vuotta sitten |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 vuotta sitten |
Jonas Maebe
|
1cb8c0d00c
* specify the def of assembler level symbols defined via
|
9 vuotta sitten |
pierre
|
fb50d0860b
Use BX register instead of AX to reload DS at proc entry if register convention is used
|
9 vuotta sitten |
nickysn
|
c78f406d99
+ implemented proper stack checking for the i8086
|
9 vuotta sitten |
florian
|
d2b74be153
* always use vmov variants of instructions if avx is enabled
|
9 vuotta sitten |
florian
|
a742df9035
* reverse merged r33524 as it is not safe as test results showed
|
9 vuotta sitten |
florian
|
f576b0c01b
* make use of xor reg,reg by generating it directly instead of hoping for the peephole
|
9 vuotta sitten |
nickysn
|
c4343c1a2d
* don't call make_simple_ref in tcgx86.g_concatcopy on i8086, because that
|
9 vuotta sitten |
yury
|
3c6d4f1ee2
* Removed unused vars.
|
9 vuotta sitten |
svenbarth
|
f297b00f5b
Extend the x86 targets by the ability to handle indirect symbols.
|
9 vuotta sitten |
svenbarth
|
77ede2ac9f
i386/cgcpu.pas, tcg386:
|
9 vuotta sitten |
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.
|
10 vuotta sitten |
nickysn
|
b26e10d53c
+ generate proper win16 prologue/epilogue for exported routines (we don't yet
|
10 vuotta sitten |
yury
|
e04a3b4ac6
* Removed unused vars for x86 compiler.
|
10 vuotta sitten |
florian
|
40a5f97239
- cclasses unit is not used
|
10 vuotta sitten |