florian
bc47125943
* use BsrDWord in software mod/div
...
* use a for loop instead of an until loop so code generation is potentially better
git-svn-id: trunk@22318 -
2012-09-04 18:58:20 +00:00
florian
5facc6ad5e
* BsrX(0) should return 255 instead of $ffffffff
...
git-svn-id: trunk@22316 -
2012-09-04 15:16:59 +00:00
florian
d67af82228
* patch by Jeppe Johansen: Thumb2-only targets don't support the BLX <label>, and have to use BL <label>, resolves #22770
...
git-svn-id: trunk@22314 -
2012-09-04 14:57:26 +00:00
florian
1bb6248186
* disable hand optimized assembler for arm thumb2 as well
...
git-svn-id: trunk@22313 -
2012-09-04 14:29:52 +00:00
sergei
b1b175dacc
+ Internal linker support for weak symbols.
...
+ Allow unresolved external symbols in RemoveUnreferencedSections, such symbols are marked as 'dynamic' if referenced. This approach allows to collect unused sections early and generate import structures only for actually used symbols.
git-svn-id: trunk@22312 -
2012-09-04 13:16:56 +00:00
florian
d63ebe6464
* bsr implementation for armv5+ using clz
...
git-svn-id: trunk@22310 -
2012-09-04 12:56:38 +00:00
florian
91156f8652
+ cpuflag CPUARM_HAS_CLZ for arm
...
git-svn-id: trunk@22309 -
2012-09-04 12:56:27 +00:00
florian
9be3ca04ad
* split FPC_HAS_INTERNAL_BSX_* defines into FPC_HAS_INTERNAL_BSF_* and FPC_HAS_INTERNAL_BSR_*
...
git-svn-id: trunk@22308 -
2012-09-04 12:56:18 +00:00
florian
1c8c2d6dbb
* tcgshlshrnode.second_integer: don't load the right expression into a register if it is already a LOC_CREGISTER
...
git-svn-id: trunk@22307 -
2012-09-04 10:43:48 +00:00
florian
b6a4602989
* ignore alignment entries in FindLabel
...
git-svn-id: trunk@22306 -
2012-09-04 10:43:44 +00:00
florian
59012afe26
* better heuristics to decide when a mul by a constant shall be replaced by shift/add/sub sequences
...
git-svn-id: trunk@22300 -
2012-09-03 13:39:52 +00:00
florian
2f8027c63f
+ more sophisticated code to optimize multiplications on arm
...
+ the multiplication optimization needs a popcnt function
+ simple test
git-svn-id: trunk@22299 -
2012-09-03 13:39:45 +00:00
florian
0214dd68f9
* fix building of zipper.pp as suggested by Jeppe Johansen
...
git-svn-id: trunk@22298 -
2012-09-03 12:34:16 +00:00
pierre
6290526821
Fix variable alignment for varargs
...
git-svn-id: trunk@22297 -
2012-09-03 12:15:54 +00:00
florian
10dbdb5c9a
* fix compilation on x86-64
...
git-svn-id: trunk@22294 -
2012-09-03 09:52:06 +00:00
florian
2db4606eb0
* fix bootstrapping with 2.6.0
...
git-svn-id: trunk@22293 -
2012-09-03 09:16:46 +00:00
sergei
6f4e8927cd
* Specify explicitly whether properties of an ObjSection should be considered when adding it to ExeSection, instead of deciding it implicitly.
...
git-svn-id: trunk@22292 -
2012-09-03 09:12:50 +00:00
florian
76bea5c4fd
* x86-64 and i386 use the popcnt instruction of possible
...
git-svn-id: trunk@22291 -
2012-09-02 20:59:48 +00:00
florian
ff12d63248
+ generic popcnt support
...
git-svn-id: trunk@22290 -
2012-09-02 20:59:44 +00:00
florian
b782918434
* first draft to support the popcnt instruction, works so far for x86 with a real popcnt instruction
...
git-svn-id: trunk@22289 -
2012-09-02 20:59:39 +00:00
florian
728f53daa6
* test file for popcnt
...
git-svn-id: trunk@22288 -
2012-09-02 20:59:33 +00:00
florian
5b13ef1025
+ added sse/avx instructions sets introduced during the last years
...
git-svn-id: trunk@22287 -
2012-09-02 20:55:12 +00:00
florian
86a6cee8fa
- removed due to BSD license header
...
git-svn-id: trunk@22286 -
2012-09-02 20:46:58 +00:00
nickysn
cb4dadb079
+ TZipper: added support for zip file comments
...
git-svn-id: trunk@22285 -
2012-09-02 17:46:16 +00:00
nickysn
cf29cdf1f3
+ TUnZipper: added support for zip file comments
...
git-svn-id: trunk@22284 -
2012-09-02 16:53:59 +00:00
nickysn
cd4ea7f340
+ set the minimum required zip version for each file according to the compression algorithm used
...
git-svn-id: trunk@22282 -
2012-09-02 15:36:03 +00:00
Jonas Maebe
62c8e47547
+ override unnecessary abstract thlcgobj methods with internal errors
...
git-svn-id: trunk@22281 -
2012-09-02 14:32:31 +00:00
Jonas Maebe
56378f907f
* keep track of required stack frame alignment (this information is however
...
not yet actually used for anything)
git-svn-id: trunk@22280 -
2012-09-02 14:32:26 +00:00
Jonas Maebe
b1dc518ac4
* removed systems_need_16_byte_stack_alignment and use target_info.stackalign instead
...
git-svn-id: trunk@22279 -
2012-09-02 14:32:21 +00:00
Jonas Maebe
bd31004fdb
+ describe for each supported target the default guaranteed stack alignment
...
git-svn-id: trunk@22278 -
2012-09-02 14:32:12 +00:00
Jonas Maebe
a5cb157091
* enable specifying the alignment mismatch of the frame/stack pointer
...
relative to the normal stack alignment of the target (e.g., when using
ebp as framepointer, all addresses are offset 8 to the stack pointer) in
the temp generator. This enables allocating temps/locals with the correct
alignment as long as the required alignment is not bigger than the
guaranteed stack pointer alignment (fixes mantis #15582 on systems where
the stack pointer is at least aligned to 16 bytes; e.g., not yet on
i386-platforms other than darwin)
git-svn-id: trunk@22277 -
2012-09-02 14:32:05 +00:00
Jonas Maebe
4cae00f97a
* never use a linear table for enum<->string translation when two enums have
...
the same value (mantis #22570 )
git-svn-id: trunk@22276 -
2012-08-31 18:51:59 +00:00
joost
a6e18e0f68
* Added PackageVariants. Those can be used to define multiple selectable
...
variants with different compiler-settings.
git-svn-id: trunk@22275 -
2012-08-31 11:05:24 +00:00
michael
d02619b8af
* Removed pqlib and default value. It should always load the lib loaded by postgres3dyn
...
git-svn-id: trunk@22274 -
2012-08-31 10:04:58 +00:00
michael
13f20b72c7
* Set library name to pqlib for all windowses
...
git-svn-id: trunk@22273 -
2012-08-31 10:00:38 +00:00
Jonas Maebe
9feee08eba
* mark Java inner interfaces as "static abstract" like javac, solves the
...
"Illegal class modifiers in class SomeClass 0x209" when implementing
such interfaces in code compiled by Eclipse's internal compiler
git-svn-id: trunk@22272 -
2012-08-30 22:30:32 +00:00
Jonas Maebe
952ac1ffa6
* only use indirect symbol loads for (weak)external and private_external
...
symbols on darwin/ppc and darwin/i386, and also for common symbols on
darwin/ppc, as they're not required for other kinds of symbols on those
platforms (gcc doesn't use them either with -O1 and higher; it does use
them always for darwin/ppc64 except for local symbols, and hence so do we)
git-svn-id: trunk@22271 -
2012-08-30 21:30:38 +00:00
Jonas Maebe
c71cb9dc69
* fixed null termination of cmdline (based on patch by C Western,
...
mantis #22742 ) -- that function seems like a good candidate to
put in a shared include file though
git-svn-id: trunk@22270 -
2012-08-30 21:30:31 +00:00
Jonas Maebe
8a4c12ab36
* include -Oofastmath in -O4
...
git-svn-id: trunk@22268 -
2012-08-30 08:00:33 +00:00
Jonas Maebe
01b5e2b6f6
* use the parsed node type for checking the validity of default parameter
...
values instead of a default based on the resulting constsym (more robust)
git-svn-id: trunk@22267 -
2012-08-29 16:09:13 +00:00
Jonas Maebe
ad054831bb
* save/restore itype and implementsgetter fields of timplementedinterface
...
to/from ppu, because it can be required while resolving type casts
(mantis #22741 )
git-svn-id: trunk@22266 -
2012-08-29 16:07:55 +00:00
pierre
c501e6db5f
Partial fix for bug report 22744
...
git-svn-id: trunk@22265 -
2012-08-29 14:35:06 +00:00
pierre
3c96d89a6b
Add test for bug regarding {$pop} next to a statement
...
git-svn-id: trunk@22264 -
2012-08-29 14:30:14 +00:00
pierre
f1687fe8a6
Do not include CPUMIPS32 in extradefines for mips/mipsel systems as it is added in options unit
...
Do not include MIPSEL in extradefines for system_mipsel_linux as this forbids cross-compilation
git-svn-id: trunk@22263 -
2012-08-28 13:51:29 +00:00
michael
441e059f32
* Changed ooChanged to ooChange, to be more consistent with tense in other values
...
git-svn-id: trunk@22262 -
2012-08-28 12:32:15 +00:00
michael
8d9f8e19c3
* remove use of ooCustom to avoid polluting custom use
...
git-svn-id: trunk@22261 -
2012-08-28 12:30:06 +00:00
michael
8a64893df6
* Forgot to commit
...
git-svn-id: trunk@22260 -
2012-08-28 07:20:42 +00:00
Mattias Gaertner
32d1c5444d
fpreadtiff: undo wrong fix
...
git-svn-id: trunk@22259 -
2012-08-27 20:16:38 +00:00
michael
445ec2672a
* TCollection.Exchange also needs to notify
...
git-svn-id: trunk@22258 -
2012-08-27 19:35:54 +00:00
michael
43be53351e
* Added observer support
...
git-svn-id: trunk@22257 -
2012-08-27 19:28:14 +00:00