Jonas Maebe
|
0b246f3dbd
* converted Boolean8 to an internal type, and mapped Boolean to the
|
6 years ago |
Jonas Maebe
|
4686f61002
* keep track of the temp position separately from the offset in references,
|
7 years ago |
nickysn
|
518cdf9674
* replaced the saved_XXX_registers arrays with virtual methods inside
|
7 years ago |
florian
|
9b18e39c81
* enable Lea2AddBase and Lea2AddIndex in TX86AsmOptimizer.PostPeepholeOptLea as we have flag tracking now
|
7 years ago |
florian
|
381cf78ff1
* there is no vmovq for mmx registers
|
7 years ago |
florian
|
31f78ea2b6
+ implementation of the vectorcall calling convention by J. Gareth Moreton
|
7 years ago |
florian
|
092223f400
* comment links to test now
|
7 years ago |
florian
|
e5ebc65cce
* if si and di are allocated on i8086, using an index in references is not possible anymore
|
7 years ago |
nickysn
|
b3f7bce3a6
* check for CPUX86_HAS_SSE2 instead of CPUX86_HAS_SSEUNIT in Tcgx86.g_concatcopy
|
7 years ago |
florian
|
dba1761a76
+ tcgx86.a_load_reg_ref cuts data if the ref. size is smaller than the reg. size
|
8 years ago |
nickysn
|
7b70848d83
+ allow the src register size to be different from the op size or the dst
|
8 years ago |
florian
|
b1dff29cbf
* removed unused units
|
8 years ago |
florian
|
5c2c5d72a2
* use avx for copying data only on i386 for 8 byte chunks
|
8 years ago |
nickysn
|
ec11864272
* use a native sized int register for the shift count in in_sar_assign_x_y,
|
8 years ago |
nickysn
|
16af6f03fb
+ support OP_SHR/OP_SHL/OP_SAR/OP_ROL/OP_ROR in tcgx86.a_op_reg_ref
|
8 years ago |
nickysn
|
256dc546ac
+ implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will
|
8 years ago |
florian
|
1e374df5b8
* correctly calculate the bit mask in thlcgobj.a_load_regconst_subsetreg_intern, resolves #31042
|
8 years ago |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 years ago |
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)
|
8 years ago |
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 years ago |
Jonas Maebe
|
27bb656cec
* replaced "in_make_direct_ref" field with a trefaddr flag
|
9 years ago |
Jonas Maebe
|
e8c9541c04
* don't use ADD in make_direct_ref(), as the flags may be live
|
9 years ago |
Jonas Maebe
|
a9073cb50b
* don't overwrite the flags in make_simple_ref() if the reference
|
9 years ago |
Jonas Maebe
|
0afbe85aab
* various memory reference alignment fixes
|
9 years ago |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 years ago |
Jonas Maebe
|
1cb8c0d00c
* specify the def of assembler level symbols defined via
|
9 years ago |
pierre
|
fb50d0860b
Use BX register instead of AX to reload DS at proc entry if register convention is used
|
9 years ago |
nickysn
|
c78f406d99
+ implemented proper stack checking for the i8086
|
9 years ago |
florian
|
d2b74be153
* always use vmov variants of instructions if avx is enabled
|
9 years ago |
florian
|
a742df9035
* reverse merged r33524 as it is not safe as test results showed
|
9 years ago |