Commit Graph

22783 Commits

Author SHA1 Message Date
florian
8c9c1d9798 + Xtensa: implemented tcg64fxtensa.a_op64_reg_reg
git-svn-id: trunk@44353 -
2020-03-24 19:42:34 +00:00
florian
2a8f2f3662 * Xtense: prettify assembler output
git-svn-id: trunk@44352 -
2020-03-24 19:42:33 +00:00
florian
fb2e262027 * Xtensa: cleanup unused stuff
+ Xtense: updated conditions

git-svn-id: trunk@44351 -
2020-03-23 20:54:57 +00:00
florian
b1759d9e91 + Xtensa: tcgcpu.g_concatcopy
git-svn-id: trunk@44350 -
2020-03-23 20:54:57 +00:00
florian
46e8cb3e49 + Xtensa: make use of ADDI
git-svn-id: trunk@44349 -
2020-03-23 20:54:56 +00:00
florian
2c689fa572 + Xtensa: tcgcpu.a_op_const_reg_reg
git-svn-id: trunk@44348 -
2020-03-23 20:54:55 +00:00
florian
637ede6879 + Xtensa: tcgcpu.a_op_const_reg_reg
git-svn-id: trunk@44340 -
2020-03-22 13:17:10 +00:00
florian
a156a9246b + Xtensa: tcgcpu.a_op_const_reg
git-svn-id: trunk@44339 -
2020-03-22 13:17:09 +00:00
Jeppe Johansen
b449829a40 ncpuadd: Fix handling of signs in comparisons
git-svn-id: trunk@44337 -
2020-03-22 13:17:08 +00:00
florian
5438bd6668 + Xtensa: tcgcpu.a_op_reg_reg
git-svn-id: trunk@44336 -
2020-03-22 13:17:07 +00:00
florian
cfa9935c15 + Xtensa: tcgcpu.a_load_reg_ref
git-svn-id: trunk@44335 -
2020-03-22 13:17:06 +00:00
florian
678ca16d95 + Xtensa: tcgcpu.a_load_ref_reg
git-svn-id: trunk@44334 -
2020-03-22 13:17:05 +00:00
florian
43dc4c7ea0 * regenerated Makefiles
git-svn-id: trunk@44333 -
2020-03-21 20:59:59 +00:00
Jeppe Johansen
3189e4245d makefiles: Add support for xtensa-embedded target.
git-svn-id: trunk@44332 -
2020-03-21 20:59:33 +00:00
Jeppe Johansen
30a4f667c1 tgobj: Change direction of stack.
git-svn-id: trunk@44331 -
2020-03-21 20:59:32 +00:00
Jeppe Johansen
bcbdc4ad92 xtensa: Add preliminary support for comparisons
git-svn-id: trunk@44330 -
2020-03-21 20:59:31 +00:00
Jeppe Johansen
77f5abac66 cgcpu: Implement a_cmp_reg_reg_label
git-svn-id: trunk@44329 -
2020-03-21 20:48:04 +00:00
florian
ad99285fec + Xtensa: CALL0 abi started
git-svn-id: trunk@44328 -
2020-03-21 20:48:03 +00:00
florian
d0106d08b9 + Xtensa: a_loadaddr_ref_reg implemented
git-svn-id: trunk@44326 -
2020-03-21 12:49:48 +00:00
florian
0d2db1a11c * Xtensa: initial controller types
git-svn-id: trunk@44325 -
2020-03-21 12:49:47 +00:00
florian
729425447f + Xtensa: basic operations for Xtensa implemented
git-svn-id: trunk@44324 -
2020-03-21 12:49:46 +00:00
florian
73c68236b6 * Xtensa: completed compiler skeleton
git-svn-id: trunk@44323 -
2020-03-21 12:49:45 +00:00
florian
34d1b90921 + Xtensa: support in the build utilities
git-svn-id: trunk@44319 -
2020-03-20 22:34:35 +00:00
florian
9e40d536cb + Xtensa: initial skeleton completed
+ xtensa-embedded support in the compiler

git-svn-id: trunk@44318 -
2020-03-20 22:34:33 +00:00
florian
27349661e0 + Xtensa: lazarus project
git-svn-id: trunk@44317 -
2020-03-20 22:34:30 +00:00
florian
08c12ca439 + Xtensa: register information
git-svn-id: trunk@44316 -
2020-03-20 22:34:29 +00:00
florian
aca9727418 + OptimizeForLoop: convert for-loops into zero-based backward for-loops if possible, for most architectures, this results in simpler code
git-svn-id: trunk@44287 -
2020-03-08 14:30:59 +00:00
marco
96a712f7ff * add FreebSD to weaklinking targets.
git-svn-id: trunk@44283 -
2020-03-07 17:59:05 +00:00
michael
a880367b37 * Show message about creating fppkg/conf.d directory
git-svn-id: trunk@44279 -
2020-03-07 11:40:32 +00:00
Jeppe Johansen
c20b27ede9 Add most SSE instructions as intrinsics.
git-svn-id: trunk@44274 -
2020-03-06 21:34:22 +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
florian
cea7723080 * more use of RemoveCurrentP(p)
git-svn-id: trunk@44264 -
2020-03-05 21:49:36 +00:00
florian
9819df6fe1 * calculate complexity of an rtti node correctly
git-svn-id: trunk@44261 -
2020-03-03 21:29:52 +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
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
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