Commit Graph

58078 Commits

Author SHA1 Message Date
Jeppe Johansen
c20b27ede9 Add most SSE instructions as intrinsics.
git-svn-id: trunk@44274 -
2020-03-06 21:34:22 +00:00
marco
61c405f942 * more abi numbers from test VMs
git-svn-id: trunk@44273 -
2020-03-06 17:26:06 +00:00
Jeppe Johansen
135a88c888 movhlps/movlhps only take xmm registers.
Handle spilling of SSE registers.

git-svn-id: trunk@44272 -
2020-03-06 17:19:51 +00:00
florian
6cac8cc77b * fix Peephole Optimization: Cmpcc2Testcc - condition AE/NB/NC/NO --> Always optimization
git-svn-id: trunk@44271 -
2020-03-06 16:16:38 +00:00
florian
f8339a43ea * do not do full boolean evaluation on LOC_FLAGS
git-svn-id: trunk@44270 -
2020-03-06 16:16:37 +00:00
florian
424c8a0ac0 * simple record accesses have not side effects
git-svn-id: trunk@44269 -
2020-03-06 16:16:36 +00:00
florian
8f0376c888 + JccAdd2SetccAdd optimization
* take care of C_C/C_NC in JccAdd/Inc/Dec2(Cmc)Adc/Sbb

git-svn-id: trunk@44268 -
2020-03-06 15:47:18 +00:00
florian
bc3131688a * fix precedence of IS operator, resolves #35909
git-svn-id: trunk@44266 -
2020-03-06 10:10:58 +00:00
marco
fc49266749 * comment with FreeBSD11 tag value
git-svn-id: trunk@44265 -
2020-03-06 09:44:02 +00:00
florian
cea7723080 * more use of RemoveCurrentP(p)
git-svn-id: trunk@44264 -
2020-03-05 21:49:36 +00:00
joost
113ed4f0e7 * Missing file added to fpmake.pp
git-svn-id: trunk@44262 -
2020-03-03 22:54:57 +00:00
florian
9819df6fe1 * calculate complexity of an rtti node correctly
git-svn-id: trunk@44261 -
2020-03-03 21:29:52 +00:00
marco
d74abf8575 * let win64 also define _win32. Some function prototypes are under that
ifdef, and the only ifdef _win64 is first.

git-svn-id: trunk@44260 -
2020-03-03 11:10:29 +00:00
marco
1b1df0c026 * _win64 fixes. Commctrl still has it but has now the correct define.
This was because commctrl was mostly developed using a specific
     converter that was continously updated and rerun.
 * nb30 simply replaced by "win64"

git-svn-id: trunk@44259 -
2020-03-03 11:08:27 +00:00
marco
cf0bf230c5 * ifdef _win64 -> win64. Patch by Marcin. Possibly headers converted
when windows 64-bit existed, but without direct usage knowledge.
   Should be in final 3.2.0

git-svn-id: trunk@44258 -
2020-03-03 11:04:54 +00:00
svenbarth
97c8464b11 * fix for Mantis #36738: when copying a record using its copy operator we assume that we've copied the whole record; this way managed records inside non-managed records are handled correctly
+ added (adjusted) test

git-svn-id: trunk@44257 -
2020-03-02 22:04:45 +00:00
svenbarth
9c088bda6a * fix for Mantis #36706: only link a library against the dynamic loader if we're not linking against the C library anyway
Note: I did not yet find a case where we *do* need to link a library against the loader; this will have to be investigated further, but for 3.2.0 this is safest

git-svn-id: trunk@44256 -
2020-03-02 22:04:36 +00:00
florian
6f825baa6f * second patch by Evgeniy Shtrenyov for #36737 to improve backward compatibility
git-svn-id: trunk@44255 -
2020-03-02 21:06:18 +00:00
florian
f42b0bf6f5 * fixed JccAdd/Inc/Dec2*Adc/Sbb optimizations
git-svn-id: trunk@44254 -
2020-03-01 21:21:18 +00:00
florian
34be9e4643 * CallRet2* optimization may not misalign the stack, reported by C Western on fpc-devel
git-svn-id: trunk@44253 -
2020-03-01 09:37:09 +00:00
florian
ac974c9ab7 * improve is_loop_invariant for load nodes
git-svn-id: trunk@44252 -
2020-02-29 21:15:15 +00:00
florian
507fc9c1ff + take care of addn and subn in is_loop_invariant
git-svn-id: trunk@44251 -
2020-02-28 20:42:54 +00:00
svenbarth
3cecec0b24 * fix compilation of simpleserver on non-Unix systems
git-svn-id: trunk@44250 -
2020-02-28 16:29:16 +00:00
svenbarth
8003f675c5 + add test for already fixed Mantis #24283
git-svn-id: trunk@44249 -
2020-02-28 16:29:14 +00:00
florian
9d7d146ddc * patch by Evgeniy to overcome fp.ini line length limit for help files, resolves #36737
git-svn-id: trunk@44248 -
2020-02-27 20:48:54 +00:00
pierre
fb8f4ceca5 * Fix sourcezip make target, correcting mixed case input file names.
git-svn-id: trunk@44246 -
2020-02-27 07:32:00 +00:00
florian
80c0fc3c92 * several fixes to get better reg. allocations in the arm assembler optimizer
git-svn-id: trunk@44245 -
2020-02-26 20:59:35 +00:00
florian
62129db44c * ARM: look further ahead when optimizing mov rX, yyyy
* ARM: fix Mov0 and MovMLA2MUL optimizations

git-svn-id: trunk@44244 -
2020-02-25 21:28:53 +00:00
florian
9132b54b3b + ARM: MovMLA2MUL optimization
git-svn-id: trunk@44243 -
2020-02-25 21:28:52 +00:00
florian
684ef3008f * ARM: optimize mov rX,#0 .... mul/mla/umull ...,rX,...
git-svn-id: trunk@44242 -
2020-02-24 21:10:55 +00:00
florian
9bdfbc2473 + GetNextInstructionUsingRegTrackingUse
* better MovAnd2Mov optimization
  + TOptsToCheck to track expensive optimizations, needs more work

git-svn-id: trunk@44241 -
2020-02-23 21:47:47 +00:00
florian
a357359971 * LeaCallLeaRet2Jmp is done in TX86AsmOptimizer.PostPeepholeOptLea
git-svn-id: trunk@44240 -
2020-02-23 21:21:40 +00:00
florian
c7b19e2fc9 * track used register better: if a deallocation is moved/removed, the used register may not be removed from the current register used register set
git-svn-id: trunk@44239 -
2020-02-23 18:24:31 +00:00
michael
46ab234886 * renamed nodejsfs to node.js
git-svn-id: trunk@44238 -
2020-02-23 13:02:48 +00:00
florian
af1a4c06c5 * fixed generic round(...) for large values based on a comment by Alexander Hofmann on fpc-devel
* extended test

git-svn-id: trunk@44235 -
2020-02-23 10:41:18 +00:00
florian
2acc6337d8 * debug statement removed
git-svn-id: trunk@44234 -
2020-02-22 22:38:36 +00:00
florian
4dff373fef * (modified) patch by J. Gareth Moreton: processor-aware MOVZX optimisation cleanup, resolves #36687
git-svn-id: trunk@44233 -
2020-02-22 18:37:38 +00:00
Jonas Maebe
dce9a62eb4 * fixed ifdef after upgrade to 10.10 headers (patch by Hans Luijten,
mantis #36420)

git-svn-id: trunk@44231 -
2020-02-22 16:22:13 +00:00
florian
c146aecc01 * throw an error if the forward interface type and the actual interface type do not match, resolves #36720
git-svn-id: trunk@44230 -
2020-02-21 20:35:27 +00:00
florian
66aa2e1416 * fixed tests for architectures with FPC_COMP_IS_INT64 defined
git-svn-id: trunk@44222 -
2020-02-20 20:51:46 +00:00
joost
7e952bf5c1 * Fixed escaping of characters inside .tar archives.
Solves an error-message in the install.sh script

git-svn-id: trunk@44221 -
2020-02-20 16:13:31 +00:00
Mattias Gaertner
1bf392a726 pas2js: typeinfo(specialization)
git-svn-id: trunk@44220 -
2020-02-20 10:35:44 +00:00
Mattias Gaertner
b802ee6450 pas2js: not storing specialized elements
git-svn-id: trunk@44219 -
2020-02-20 09:29:10 +00:00
florian
49f789b92a * reverted accidently committed changes again
git-svn-id: trunk@44218 -
2020-02-19 21:12:23 +00:00
florian
bb6028a275 * AArch64: the PIC code needs also more registers, so use the same ifdefs as arm and sparc
git-svn-id: trunk@44217 -
2020-02-19 21:10:20 +00:00
florian
95e8992e2f + AArch64: profiler support for aarch64-linux
git-svn-id: trunk@44216 -
2020-02-19 21:10:19 +00:00
pierre
346118187b Fix linking error, in which libc.so.6 is not found on aarch64-linux when libdl.so is loaded, by adding appropriate directory
git-svn-id: trunk@44215 -
2020-02-19 15:33:11 +00:00
florian
200de64085 * aarch64 suffers also from the limited tan precision of the softfpu
git-svn-id: trunk@44212 -
2020-02-18 21:37:06 +00:00
marco
5d0c9cee9d * fix mantis #36708, take care of high word buttons variable.
git-svn-id: trunk@44210 -
2020-02-18 15:01:07 +00:00
Mattias Gaertner
5ef735ca11 fcl-passrc: resolver: check proc args procedural type by signature in mode objfpc
git-svn-id: trunk@44208 -
2020-02-18 10:16:03 +00:00