florian
b36597c76a
* better calculation of estimated stack frame size
...
git-svn-id: trunk@46733 -
2020-08-30 20:53:59 +00:00
florian
867ed59459
* Xtensa: various stack handling fixes
...
git-svn-id: trunk@46732 -
2020-08-29 20:24:32 +00:00
florian
2c00016fdd
+ Xtensa: reused constant pool entries if possible
...
git-svn-id: trunk@46731 -
2020-08-29 20:24:31 +00:00
florian
f4ded560cc
* Xtensa: OP_NOT fixed
...
git-svn-id: trunk@46706 -
2020-08-26 21:01:00 +00:00
florian
f30f62231f
* reverted 46417: if a assembler subroutine needs an entry instruction, it should be added explicitly
...
git-svn-id: trunk@46696 -
2020-08-25 21:39:40 +00:00
florian
ea2ae3b8f0
+ Xtensa: use extui for and with constants
...
git-svn-id: trunk@46664 -
2020-08-23 14:17:01 +00:00
florian
a45f71d0dc
* Xtensa: optimize some shifts by constants
...
git-svn-id: trunk@46556 -
2020-08-22 21:28:08 +00:00
florian
04846345b2
* Xtensa: more fixes to tcg64fxtensa.a_op64_const_reg_reg and tcg64fxtensa.a_op64_reg_reg_reg
...
git-svn-id: trunk@46551 -
2020-08-22 20:33:30 +00:00
florian
26e2759c27
* Xtensa: fixed tcg64fxtensa.a_op64_reg_reg_reg for unsigned operations
...
git-svn-id: trunk@46549 -
2020-08-22 19:38:10 +00:00
florian
b267f6fcb3
* internal error unified
...
git-svn-id: trunk@46486 -
2020-08-18 21:10:25 +00:00
florian
ac6f74a6a2
* patch by Christo Crause to make nostackframe with the windowed xtensa abi working, resolves #37550
...
git-svn-id: trunk@46417 -
2020-08-13 20:35:11 +00:00
florian
5ad02a3799
+ Xtensa: more cpu capabilites
...
+ Xtensa: set cpu for xtensa-linux as call window support is required
git-svn-id: trunk@45731 -
2020-07-04 21:18:13 +00:00
florian
caee96399e
* patch by Christo Crause: support call0 abi in entry/exit code, part of #37242
...
git-svn-id: trunk@45685 -
2020-06-23 20:46:40 +00:00
florian
a7c0fa0def
o patch for Xtensa by Christo Crause, resolves #37099
...
+ Added postfix parsing in tattreader.GetToken
- Removed all postfixed versions of OpCodes from the instruction list
+ Added all missing OpCodes from Xtensa ISA
* Changed branch OpCode to A_B, similar to ARM
+ Added missing branch condition flags BCI and BSI
* Updated existing compiler code that referred to the old postfixed instructions
+ Added prefix and postfix handling in TxtensaInstrWriter.WriteInstruction
* Updated TCPUAddNode.second_addfloat to specify .S postfix
* Updated tcpuunaryminusnode.second_float to specify .S postfix
+ Implemented prefix and postfix identification in txtensaattreader.is_asmopcode
* Adapted branch condition extraction to respect postfixes
* Changed itcpugas to call findreg_by_name_table from raatt.pas (same as issue #0037121 , difficult to test these changes without including a fix for the register name search problem)
git-svn-id: trunk@45672 -
2020-06-21 14:51:40 +00:00
florian
724676db43
* Xtensa: patch by Christo Crause: fix addmi/addi handling, resolves #37015
...
git-svn-id: trunk@45258 -
2020-05-04 19:58:45 +00:00
florian
74abe87315
* Xtensa: do SAR by a constant using SRAI
...
git-svn-id: trunk@45000 -
2020-04-22 21:03:06 +00:00
florian
14d46bccba
* Xtensa: make use of extui for shifting with constant values >=16
...
git-svn-id: trunk@44856 -
2020-04-19 15:52:41 +00:00
florian
c2df0f2300
* Xtensa: handle localsize > 32760
...
git-svn-id: trunk@44840 -
2020-04-19 08:41:32 +00:00
florian
7b2bd0b917
* Xtensa: generate better code for adding/subtracting 16 bit constants
...
git-svn-id: trunk@44839 -
2020-04-19 08:41:31 +00:00
florian
2edec13a0f
* use j.l in external wrappers, this is not save yet as A15 might contain
...
an argument: externals need to be called with call4 if they use all
parameter registers, this needs to be implemented
git-svn-id: trunk@44837 -
2020-04-19 07:37:45 +00:00
florian
3ec0437d5f
* Xtensa: dummy overflow checking
...
git-svn-id: trunk@44796 -
2020-04-18 20:39:37 +00:00
florian
4141df7fe6
* Xtensa: patch by Christo Crause to handle the sign extension architecture option, resolves #36885
...
git-svn-id: trunk@44689 -
2020-04-11 14:58:58 +00:00
florian
b352449eac
* Xtensa: fix flag handling: B0 is considered as default flags
...
git-svn-id: trunk@44687 -
2020-04-11 13:18:47 +00:00
florian
2e23e2b0fd
+ optimize SUB for small constants using ADDI
...
git-svn-id: trunk@44620 -
2020-04-06 20:44:32 +00:00
florian
fa4cbc89a5
+ Xtensa: hard float support, i.e. make use of floating point extension if available
...
git-svn-id: trunk@44539 -
2020-04-03 20:15:23 +00:00
florian
ba3de67f3b
+ Xtensa: the boolean extension is used as flags
...
git-svn-id: trunk@44538 -
2020-04-03 20:15:22 +00:00
florian
b41c8342c8
* Xtensa: reduce stack usage
...
git-svn-id: trunk@44492 -
2020-04-01 20:08:20 +00:00
florian
26db93d78c
* Xtensa: shift operations fixed
...
git-svn-id: trunk@44438 -
2020-03-30 20:42:55 +00:00
florian
0a40d927cb
* Xtensa: fix tcgcpu.a_cmp_reg_reg_label
...
git-svn-id: trunk@44402 -
2020-03-29 17:13:46 +00:00
florian
b787efb7fd
* Xtensa: tcgcpu.g_concatcopy fixed: keep registers alive
...
git-svn-id: trunk@44401 -
2020-03-29 17:13:46 +00:00
florian
d7126bd42c
+ Xtensa: initial support of the windowed abi
...
git-svn-id: trunk@44370 -
2020-03-26 21:54:41 +00:00
florian
7e4ee79e65
* Xtensa: more fixes for load_reg/ref_reg/ref
...
git-svn-id: trunk@44369 -
2020-03-26 21:54:40 +00:00
florian
47f6af4416
* Xtensa: improve tcgcpu.fixref
...
git-svn-id: trunk@44368 -
2020-03-26 21:54:40 +00:00
florian
5631acc401
* Xtensa: fix load_reg/ref_reg/ref
...
git-svn-id: trunk@44367 -
2020-03-26 21:54:39 +00:00
florian
2a957e77bf
+ Xtensa: initial implementation of tcgcpu.g_proc_entry
...
git-svn-id: trunk@44363 -
2020-03-25 21:17:04 +00:00
florian
705218fef1
+ Xtensa: tcg64fxtensa.a_op64_const_reg
...
git-svn-id: trunk@44362 -
2020-03-25 21:17:04 +00:00
florian
65be647bbd
+ Xtensa: initial tcg64fxtensa.a_op64_const_reg_reg, still room for improvements
...
git-svn-id: trunk@44361 -
2020-03-25 21:17:03 +00:00
florian
819e2638bb
+ Xtensa: tcgcpu.maybeadjustresult
...
git-svn-id: trunk@44360 -
2020-03-25 21:17:03 +00:00
florian
aa2907cffa
* Xtensa: cleanup dummy code
...
git-svn-id: trunk@44359 -
2020-03-25 21:17:02 +00:00
Jeppe Johansen
662f069a21
xtensa: Add 64bit arithmetic operations.
...
git-svn-id: trunk@44358 -
2020-03-24 19:42:37 +00:00
florian
470cc8eb1c
+ Xtensa: make use of slli and srli
...
git-svn-id: trunk@44357 -
2020-03-24 19:42:37 +00:00
Jeppe Johansen
222cad35a9
Add immediate/zero comparisons.
...
git-svn-id: trunk@44356 -
2020-03-24 19:42:36 +00:00
florian
2146ca3616
* Xtensa: shifting fixed
...
git-svn-id: trunk@44355 -
2020-03-24 19:42:35 +00:00
florian
014785833f
+ Xtensa: initial tcg64fxtensa.a_op64_reg_reg_reg
...
git-svn-id: trunk@44354 -
2020-03-24 19:42:34 +00:00
florian
8c9c1d9798
+ Xtensa: implemented tcg64fxtensa.a_op64_reg_reg
...
git-svn-id: trunk@44353 -
2020-03-24 19:42:34 +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