olivier
|
0608468c98
* enable some features for the x86_64 UEFI target, based on the win64 target.
|
8 år sedan |
nickysn
|
ec11864272
* use a native sized int register for the shift count in in_sar_assign_x_y,
|
8 år sedan |
nickysn
|
16af6f03fb
+ support OP_SHR/OP_SHL/OP_SAR/OP_ROL/OP_ROR in tcgx86.a_op_reg_ref
|
8 år sedan |
nickysn
|
256dc546ac
+ implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will
|
8 år sedan |
florian
|
1e374df5b8
* correctly calculate the bit mask in thlcgobj.a_load_regconst_subsetreg_intern, resolves #31042
|
8 år sedan |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
9 år sedan |
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 år sedan |
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 år sedan |
Jonas Maebe
|
27bb656cec
* replaced "in_make_direct_ref" field with a trefaddr flag
|
9 år sedan |
Jonas Maebe
|
e8c9541c04
* don't use ADD in make_direct_ref(), as the flags may be live
|
9 år sedan |
Jonas Maebe
|
a9073cb50b
* don't overwrite the flags in make_simple_ref() if the reference
|
9 år sedan |
Jonas Maebe
|
0afbe85aab
* various memory reference alignment fixes
|
9 år sedan |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 år sedan |
Jonas Maebe
|
1cb8c0d00c
* specify the def of assembler level symbols defined via
|
9 år sedan |
pierre
|
fb50d0860b
Use BX register instead of AX to reload DS at proc entry if register convention is used
|
9 år sedan |
nickysn
|
c78f406d99
+ implemented proper stack checking for the i8086
|
9 år sedan |
florian
|
d2b74be153
* always use vmov variants of instructions if avx is enabled
|
9 år sedan |
florian
|
a742df9035
* reverse merged r33524 as it is not safe as test results showed
|
9 år sedan |
florian
|
f576b0c01b
* make use of xor reg,reg by generating it directly instead of hoping for the peephole
|
9 år sedan |
nickysn
|
c4343c1a2d
* don't call make_simple_ref in tcgx86.g_concatcopy on i8086, because that
|
9 år sedan |
yury
|
3c6d4f1ee2
* Removed unused vars.
|
9 år sedan |
svenbarth
|
f297b00f5b
Extend the x86 targets by the ability to handle indirect symbols.
|
9 år sedan |
svenbarth
|
77ede2ac9f
i386/cgcpu.pas, tcg386:
|
9 år sedan |
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 år sedan |
nickysn
|
b26e10d53c
+ generate proper win16 prologue/epilogue for exported routines (we don't yet
|
10 år sedan |
yury
|
e04a3b4ac6
* Removed unused vars for x86 compiler.
|
10 år sedan |
florian
|
40a5f97239
- cclasses unit is not used
|
10 år sedan |
nickysn
|
bdfd23cc2e
+ new target switch "FarProcsPushOddBP", which causes the i8086 compiler to push
|
10 år sedan |
nickysn
|
98ec7a2211
* eliminated the dual initialization of DS in interrupt procedures in the huge
|
10 år sedan |
nickysn
|
0fdc62e0f7
+ initialize DS with the current unit's data segment in the function entry code
|
10 år sedan |