florian
|
bd1d6f335d
* if we load a got depends only if one is needed, not if PIC is generated as this could be also caused by tls support
|
5 ani în urmă |
florian
|
896e031e84
* interrupt procedures fixed for i386 targets with a fixed stack with 16 byte alignment
|
5 ani în urmă |
Jonas Maebe
|
1b6425176b
* synchronised with trunk till r42049
|
6 ani în urmă |
Jonas Maebe
|
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
|
6 ani în urmă |
Jonas Maebe
|
50c82b6468
* synchronised with trunk till r41537
|
6 ani în urmă |
yury
|
4da16992df
* i386: Minor PIC initialization improvement if the GOT register is forced to EBX.
|
6 ani în urmă |
yury
|
e5c2d13671
* Do not set pi_needs_got in current_procinfo.flags at the node level, since the GOT usage can only be estimated there. Instead set the pi_needs_got flag at places where the GOT register is accessed during the code generation. This eliminates generation of the unneeded initialization of the GOT register and fixes linker errors when the _GLOBAL_OFFSET_TABLE_ symbol is referenced but no actual GOT references are present.
|
6 ani în urmă |
florian
|
3567d01ee4
* improved CFI
|
6 ani în urmă |
Jonas Maebe
|
4686f61002
* keep track of the temp position separately from the offset in references,
|
7 ani în urmă |
florian
|
ddfaf59626
* fix compilation with -Cr
|
8 ani în urmă |
nickysn
|
af235cae86
* use TEST CL,32 instead of TEST ECX,32 in the beginning of a 64-bit shl/shr
|
8 ani în urmă |
nickysn
|
e708a76f70
* some i386 optimizations for 64-bit SHL/SHR/SAR in tcg64f386.a_op64_const_reg:
|
8 ani în urmă |
nickysn
|
0264c4cace
+ implemented OP_SHR/OP_SHL/OP_SAR correctly in tcg64f386.a_op64_const_ref for
|
8 ani în urmă |
nickysn
|
d7b8d8dd54
* don't emit the "SUB ECX,32" instruction on i386, when doing a 64-bit shift by
|
8 ani în urmă |
nickysn
|
03dfa07ebc
+ implemented OP_SHR/OP_SHL/OP_SAR in i386's tcg64f386.a_op64_reg_ref
|
8 ani în urmă |
nickysn
|
10d7603dce
+ implemented OP_SHR/OP_SHL/OP_SAR support in tcg64f386.a_op64_reg_reg
|
8 ani în urmă |
nickysn
|
a1ad705646
+ allocate and free flags before and after the shl+rcl/shr+rcr/sar+rcr sequences
|
8 ani în urmă |
nickysn
|
cddb48bad4
+ i386 implementation of a_op64_const_reg for OP_SHR,OP_SHL and OP_SAR; needed
|
8 ani în urmă |
nickysn
|
6a710964f2
+ i386 implementation of a_op64_const_ref for OP_SHR,OP_SHL and OP_SAR; needed
|
8 ani în urmă |
nickysn
|
256dc546ac
+ implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will
|
8 ani în urmă |
nickysn
|
5cb724edd9
+ added optimized implementation of a_op64_reg_ref for i386 as well; improves
|
8 ani în urmă |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 ani în urmă |
Jonas Maebe
|
0afbe85aab
* various memory reference alignment fixes
|
8 ani în urmă |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 ani în urmă |
florian
|
77b4709e7a
+ i386 compiler tracks now flag usage if needed, so the mov $0,reg -> xor reg,reg transformation can be enabled
|
9 ani în urmă |
svenbarth
|
f297b00f5b
Extend the x86 targets by the ability to handle indirect symbols.
|
9 ani în urmă |
svenbarth
|
77ede2ac9f
i386/cgcpu.pas, tcg386:
|
9 ani în urmă |
yury
|
862348c317
* Keep the GOT offset in a virtual register for i386 non-darwin platforms.
|
9 ani în urmă |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
10 ani în urmă |
florian
|
35a04ad095
* modified patch of Paul W to replace leave by mov/pop, resolves #26455
|
10 ani în urmă |