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