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