florian
15fe9f1047
* cosmetics
...
git-svn-id: trunk@46547 -
2020-08-22 19:38:08 +00:00
florian
6f222e276e
* Xtensa: make use of divide extension if available
...
git-svn-id: trunk@46545 -
2020-08-22 18:00:25 +00:00
florian
31cb670b20
+ Xtensa: make use of muluh/mulsh instructions
...
git-svn-id: trunk@46544 -
2020-08-22 17:21:36 +00:00
florian
1f073818ba
* cleanup ARM remainders
...
* locals can have 0 as offset, force a reference in this case
git-svn-id: trunk@46536 -
2020-08-21 21:02:01 +00:00
florian
0881e4fd98
* insert literals after the section start which belongs to the current procedure
...
git-svn-id: trunk@46528 -
2020-08-20 21:29:49 +00:00
florian
b267f6fcb3
* internal error unified
...
git-svn-id: trunk@46486 -
2020-08-18 21:10:25 +00:00
florian
8636015265
+ Xtensa: consider also floating point stores in TCpuAsmOptimizer.RegLoadedWithNewValue
...
git-svn-id: trunk@46465 -
2020-08-16 21:48:30 +00:00
florian
f9ddc3ac66
+ Xtensa: L32IMov2L32I optimization
...
git-svn-id: trunk@46464 -
2020-08-16 21:41:56 +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
Jonas Maebe
eb7ba1690e
* mark all external assemblers using an LLVM tool using af_llvm
...
+ added support for constructing target triplets
* pass "-target triplet" when using an LLVM assembler
o removed no longer needed $DARWINVERSION and $ARCH parameters
* consistently use as_clang_gas when clang is used to assembler GAS-style
assembly, and rename as_llcm_clang to as_clang_llvm (for consistency)
* support pipe assembling when using clang on *nix in all cases
git-svn-id: trunk@45807 -
2020-07-19 14:30:35 +00:00
florian
91149df87f
* patch by Christo Crause: fix volatile registers for call0 abi, resolves #37317
...
git-svn-id: trunk@45749 -
2020-07-09 20:34:32 +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
d62d6af7ec
* Xtensa: patch by Christo Crause: fix controller date for esp8266, part of #37242
...
git-svn-id: trunk@45696 -
2020-06-25 20:50:43 +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
cba109c55d
+ Xtensa: patch by Christo Crause: support call0 abi in init final code part of #37242
...
git-svn-id: trunk@45684 -
2020-06-23 20:44:54 +00:00
florian
cb11e2568d
+ Xtensa: patch by Christo Crause to add optional MAC16 registers, resolves #37130
...
git-svn-id: trunk@45679 -
2020-06-22 19:05:13 +00:00
florian
221d8d84ae
* Xtensa: MatchInstruction requires a postfix parameter
...
git-svn-id: trunk@45674 -
2020-06-21 19:16:27 +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
e76f9e5b36
* patch by Christo Crause: fix register search on xtensa, resolves #37121
...
git-svn-id: trunk@45467 -
2020-05-22 20:54:45 +00:00
florian
a4695a7015
* xtensa-embedded: fix setting of the fpu and abi
...
git-svn-id: trunk@45270 -
2020-05-05 20:41:36 +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
nickysn
6f6598712f
* synchronized with trunk
...
git-svn-id: branches/z80@45131 -
2020-04-26 22:33:58 +00:00
florian
db9a284d60
* simplify xtensa-linux building
...
git-svn-id: trunk@45124 -
2020-04-26 20:54:22 +00:00
nickysn
a8fe46c0f5
+ introduced labelmaxlen in tasminfo and added code in ReplaceForbiddenAsmSymbolChars that limits the
...
output label to that length
git-svn-id: branches/z80@45066 -
2020-04-25 12:59:25 +00:00
florian
8b71455e3b
+ Xtensa: enable jump optimizer
...
git-svn-id: trunk@45045 -
2020-04-23 20:17:28 +00:00
florian
483837ae5c
+ Xtensa: make use of ADDX*
...
git-svn-id: trunk@45001 -
2020-04-22 21:03:08 +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
a49a776307
* go through cg to generate jumps, so the right jump is generated always
...
git-svn-id: trunk@44836 -
2020-04-19 07:36:13 +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
f2d45a0e9d
* Xtensa: fix expectloc of taddnode
...
git-svn-id: trunk@44688 -
2020-04-11 13:18:47 +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
093e227edb
* Xtensa: register numbers fixed
...
git-svn-id: trunk@44678 -
2020-04-10 19:41:46 +00:00
florian
b9cc9f2e8a
* Xtensa: fixes spilling
...
git-svn-id: trunk@44677 -
2020-04-10 19:41:46 +00:00
florian
9753dd964b
* Xtensa: properly align maxpushedparasize
...
git-svn-id: trunk@44663 -
2020-04-09 20:37:36 +00:00
florian
2a0eeb41df
* Xtensa: fix reg_cgsize
...
git-svn-id: trunk@44662 -
2020-04-09 20:37:35 +00:00
florian
b7374401fd
* fix taicpu.is_same_reg_move
...
git-svn-id: trunk@44647 -
2020-04-08 20:42:40 +00:00
florian
f99fbafabc
+ initial thlcgxtensa.g_intf_wrapper
...
git-svn-id: trunk@44622 -
2020-04-06 20:44:33 +00:00
florian
759803f268
* improve assembler reader
...
git-svn-id: trunk@44621 -
2020-04-06 20:44:32 +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
4836ff29bd
+ more instructions
...
git-svn-id: trunk@44613 -
2020-04-05 21:12:14 +00:00
florian
e8fabb752a
+ basic xtensa-linux support in the compiler
...
git-svn-id: trunk@44611 -
2020-04-05 21:12:12 +00:00
florian
c1c201f93c
* Xtensa: fix passing of floating point parameters
...
git-svn-id: trunk@44541 -
2020-04-03 20:15:24 +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
c2cf21d176
+ Xtensa: boolean registers * Xtensa: register numbers of floating point registers corrected
...
git-svn-id: trunk@44494 -
2020-04-01 20:08:22 +00:00