yury
|
4da16992df
* i386: Minor PIC initialization improvement if the GOT register is forced to EBX.
|
6 gadi atpakaļ |
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 gadi atpakaļ |
Jonas Maebe
|
4686f61002
* keep track of the temp position separately from the offset in references,
|
7 gadi atpakaļ |
florian
|
ddfaf59626
* fix compilation with -Cr
|
8 gadi atpakaļ |
nickysn
|
af235cae86
* use TEST CL,32 instead of TEST ECX,32 in the beginning of a 64-bit shl/shr
|
8 gadi atpakaļ |
nickysn
|
e708a76f70
* some i386 optimizations for 64-bit SHL/SHR/SAR in tcg64f386.a_op64_const_reg:
|
8 gadi atpakaļ |
nickysn
|
0264c4cace
+ implemented OP_SHR/OP_SHL/OP_SAR correctly in tcg64f386.a_op64_const_ref for
|
8 gadi atpakaļ |
nickysn
|
d7b8d8dd54
* don't emit the "SUB ECX,32" instruction on i386, when doing a 64-bit shift by
|
8 gadi atpakaļ |
nickysn
|
03dfa07ebc
+ implemented OP_SHR/OP_SHL/OP_SAR in i386's tcg64f386.a_op64_reg_ref
|
8 gadi atpakaļ |
nickysn
|
10d7603dce
+ implemented OP_SHR/OP_SHL/OP_SAR support in tcg64f386.a_op64_reg_reg
|
8 gadi atpakaļ |
nickysn
|
a1ad705646
+ allocate and free flags before and after the shl+rcl/shr+rcr/sar+rcr sequences
|
8 gadi atpakaļ |
nickysn
|
cddb48bad4
+ i386 implementation of a_op64_const_reg for OP_SHR,OP_SHL and OP_SAR; needed
|
8 gadi atpakaļ |
nickysn
|
6a710964f2
+ i386 implementation of a_op64_const_ref for OP_SHR,OP_SHL and OP_SAR; needed
|
8 gadi atpakaļ |
nickysn
|
256dc546ac
+ implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will
|
8 gadi atpakaļ |
nickysn
|
5cb724edd9
+ added optimized implementation of a_op64_reg_ref for i386 as well; improves
|
8 gadi atpakaļ |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 gadi atpakaļ |
Jonas Maebe
|
0afbe85aab
* various memory reference alignment fixes
|
9 gadi atpakaļ |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 gadi atpakaļ |
florian
|
77b4709e7a
+ i386 compiler tracks now flag usage if needed, so the mov $0,reg -> xor reg,reg transformation can be enabled
|
9 gadi atpakaļ |
svenbarth
|
f297b00f5b
Extend the x86 targets by the ability to handle indirect symbols.
|
9 gadi atpakaļ |
svenbarth
|
77ede2ac9f
i386/cgcpu.pas, tcg386:
|
9 gadi atpakaļ |
yury
|
862348c317
* Keep the GOT offset in a virtual register for i386 non-darwin platforms.
|
10 gadi atpakaļ |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
10 gadi atpakaļ |
florian
|
35a04ad095
* modified patch of Paul W to replace leave by mov/pop, resolves #26455
|
10 gadi atpakaļ |
Jonas Maebe
|
8244d366d0
- moved deallocation of NR_PIC_OFFSET_REG from the x86_64 to the i386 code
|
10 gadi atpakaļ |
Jonas Maebe
|
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
|
11 gadi atpakaļ |
Jonas Maebe
|
a637fbe596
* moved all g_exception_*() methods to hlcgobj and cleaned them up (no more
|
11 gadi atpakaļ |
sergei
|
31edfdc05f
* i386: push references with size OS_F64 using less instructions.
|
11 gadi atpakaļ |
sergei
|
0d3f36eebf
- Remove references to global variable 'cg' from methods of tcg and some of its descendants.
|
11 gadi atpakaļ |
pierre
|
1cec09f979
Add -Caoldwin32gnu ABI option to cope with 'ret $4' issues in old GNU mingw32 C compiler (version below 4.7)
|
11 gadi atpakaļ |