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