nickysn
599b7e80c0
* fix for OP_ROR in tcgavr.a_op_reg_reg_internal
...
git-svn-id: trunk@44749 -
2020-04-17 17:19:22 +00:00
florian
fc50edfe31
* AVR: couple of fixes for CPUs with only 16 registers
...
git-svn-id: trunk@44177 -
2020-02-14 21:27:43 +00:00
florian
0424c2a658
* remove accidently committed debug code
...
git-svn-id: trunk@44175 -
2020-02-14 20:59:32 +00:00
florian
fd4fb5fa19
* patch by Christo Crause: combine code paths for avr1 and avrtiny when converting lds/sts to in/out, resolves #36697
...
git-svn-id: trunk@44163 -
2020-02-12 20:43:13 +00:00
florian
2135b9b724
* for avr1, do not save registers during an interrupt procedure, as it has no memory to store them
...
git-svn-id: trunk@44139 -
2020-02-09 14:35:56 +00:00
florian
84cfa8d9b0
* AVR: for avr1 lds/sts must be converted to in/out as well if possible
...
git-svn-id: trunk@44138 -
2020-02-09 13:55:25 +00:00
florian
297d6e2c60
* patch by Christo Crause: more avr1 controllers and remove attiny28 from avr25 makefile list, resolves #36686
...
git-svn-id: trunk@44136 -
2020-02-09 10:51:14 +00:00
florian
a905a074b0
* AVR: decide after compiler if a certain subroutine is suitable for avr1, if not, replace it by sleep and warn
...
git-svn-id: trunk@44133 -
2020-02-08 22:05:21 +00:00
florian
dea63e3d61
* AVR: attiny28 is an avr1 CPU
...
git-svn-id: trunk@44132 -
2020-02-08 22:05:21 +00:00
florian
04ad607bb4
* patch by Christo Crause: more AVR controllers, resolves #36683
...
git-svn-id: trunk@44130 -
2020-02-08 20:43:22 +00:00
florian
5040e31f11
* patch by Christo Crause: add missing atmega-PB controllers, resolves #36667
...
git-svn-id: trunk@44128 -
2020-02-07 19:48:46 +00:00
florian
e033269deb
* patch by Christo Craus to reorder the avr controllers for better overview, resolves #36662
...
git-svn-id: trunk@44124 -
2020-02-06 21:10:09 +00:00
florian
4fe21a8e1a
* patch by Christo Crause: board aliases to onboard controllers, resolves #36659
...
git-svn-id: trunk@44111 -
2020-02-04 21:14:14 +00:00
florian
640fe9c290
* actually, with lds/sts avrtiny can load addresses up to 191
...
git-svn-id: trunk@44104 -
2020-02-02 20:41:28 +00:00
florian
36058ca4d4
* based on a patch by Christo Crause: more compiler fixes for avrtiny, resolves #36646
...
git-svn-id: trunk@44103 -
2020-02-02 20:35:29 +00:00
florian
00214406bc
+ patch by Christo Crause: Support for attiny10x controllers, resolves #36645
...
git-svn-id: trunk@44081 -
2020-02-01 15:54:57 +00:00
Jonas Maebe
592df7fa59
* disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM does
...
that itself, our LLVM code generator can't handle it, and if it did then
afterwards we would have to spill 90% of those register variables again
to make them SSA)
git-svn-id: trunk@44062 -
2020-01-29 22:21:07 +00:00
florian
670c61e760
* patch by Christo Crause: support for megaAVR 0 and tinyAVR 0/1, #36616 , part 1/3
...
git-svn-id: trunk@44036 -
2020-01-26 14:35:26 +00:00
florian
d2a059bd02
* patch by Christo Crause: avrtiny26 controller is not subarch avr25 but avr2, resolves #36620
...
git-svn-id: trunk@44021 -
2020-01-22 20:41:24 +00:00
florian
3ab8830b83
* patch by Christo Crause: Correct subarch for avrtiny series in compiler, resolves #36619
...
git-svn-id: trunk@44020 -
2020-01-22 20:34:43 +00:00
florian
08c2afb0a4
* AVR: use CP ...,r1 instead of CPI ...,0 to enable all registers being used as first operand
...
git-svn-id: trunk@44006 -
2020-01-20 21:14:28 +00:00
florian
429130fa34
* AVR: attiny can do post increment operations, so remove code working around this
...
git-svn-id: trunk@43996 -
2020-01-19 18:04:59 +00:00
florian
bd96765632
* AVR: do not insert jmp if not supported
...
git-svn-id: trunk@43995 -
2020-01-19 18:04:58 +00:00
florian
2d9cdab264
+ AVR: initial support for the avrtiny architecture
...
git-svn-id: trunk@43987 -
2020-01-19 15:55:24 +00:00
florian
f629fa1bb9
* AVR: tcgavr.normalize_ref must always load the reference into tmpreg
...
git-svn-id: trunk@43986 -
2020-01-19 15:55:23 +00:00
florian
26eae3672b
+ AVR: GetDefaultZeroReg and GetDefaultTmpReg
...
git-svn-id: trunk@43985 -
2020-01-19 15:55:23 +00:00
florian
aaa6ae5770
+ AVR: cputype cpu_avrtiny
...
git-svn-id: trunk@43984 -
2020-01-19 15:55:22 +00:00
florian
96a4cda03b
* AVR: fixes pushing and handling of stack passed parameters
...
git-svn-id: trunk@43983 -
2020-01-19 15:55:21 +00:00
florian
4b4e316af0
* compilation fixed
...
git-svn-id: trunk@43981 -
2020-01-19 15:55:20 +00:00
Jonas Maebe
1e3f72403e
* renamed getintparaloc to getcgtempparaloc
...
o it can be used for more than integer parameters
git-svn-id: trunk@43781 -
2019-12-24 22:12:25 +00:00
florian
e1e8986462
* patch by J. Gareth Moreton, issue #36271 , part 3: support for the other architectures
...
git-svn-id: trunk@43441 -
2019-11-10 16:11:40 +00:00
florian
ae04e5d7f0
* avr: apply LdiOp2Opi optimization also to and and sub
...
git-svn-id: trunk@43352 -
2019-11-01 18:39:18 +00:00
florian
701848889e
* avr: help the compiler with constant loading to avoid ie 200309041
...
git-svn-id: trunk@43350 -
2019-11-01 18:39:16 +00:00
florian
e8a48be3bc
* avr: more precise execution weigth for shift loops
...
git-svn-id: trunk@43349 -
2019-11-01 18:39:15 +00:00
florian
f61207f1cc
* avr directly encodes constant shifts of 64 bit values
...
git-svn-id: trunk@43348 -
2019-11-01 18:39:15 +00:00
florian
5fc12500f2
* patch by Christo Crause: fix for r43136
...
git-svn-id: trunk@43169 -
2019-10-12 11:52:06 +00:00
florian
dd2d1bf68b
* (modified/re-formatted) patch by Christo Crause: AVR: Optimizing code generation for shift with compile time constant
...
git-svn-id: trunk@43136 -
2019-10-05 20:48:33 +00:00
florian
4e93a9a6c7
* AVR: patch by Christo Crause: fixes tcgavr.g_concatcopy for data with size>255, resolves #36066
...
git-svn-id: trunk@42977 -
2019-09-12 20:29:12 +00:00
florian
9e5cbce6be
* fix tcgavr.g_flags2reg for sizes > 1 byte
...
git-svn-id: trunk@42938 -
2019-09-07 20:19:12 +00:00
florian
69786ffe73
somehow committing went wrong, second part of last commit:
...
+ AArch64: support for vX.8b/vX.16b register names
+ support for more than 256 registers in the register dat files
- removed totherregisterset
+ AArch64: use vmov to load immediates if possible
+ AArch64: use eor to clear mm registers
git-svn-id: trunk@42917 -
2019-09-03 21:07:33 +00:00
Jeppe Johansen
1b698d319f
- Fix bug in software overflow checking for longint's.
...
- AVR: Fix overflow checking for HW multiplications
git-svn-id: trunk@42531 -
2019-07-30 13:42:26 +00:00
Jeppe Johansen
f72342ed0e
AVR: Add support for using nostackframe in interrupt routines.
...
git-svn-id: trunk@42519 -
2019-07-28 16:46:13 +00:00
Jeppe Johansen
91016c97a4
AVR: Add optimizations for sign testing, and a better Abs() implementation.
...
git-svn-id: trunk@42510 -
2019-07-28 11:16:37 +00:00
Jeppe Johansen
030cf78ac5
- Fix overflow checking for multiplication operations on AVR.
...
git-svn-id: trunk@42492 -
2019-07-25 13:16:12 +00:00
pierre
828a248287
Systematically include fpcdefs.inc at sart of all units used by compiler
...
git-svn-id: trunk@42322 -
2019-07-03 13:35:05 +00:00
Jonas Maebe
c262c5dbc9
* synchronised with trunk till r42256
...
git-svn-id: branches/debug_eh@42257 -
2019-06-20 17:21:34 +00:00
Jeppe Johansen
0d97dc7965
avr: Fixed some inconsistencies.
...
git-svn-id: trunk@42204 -
2019-06-10 13:35:38 +00:00
Jonas Maebe
faf75095cd
* synchronised with trunk till r42189
...
git-svn-id: branches/debug_eh@42190 -
2019-06-07 18:24:38 +00:00
Jeppe Johansen
aa4961d06e
- Add mov optimization for STS instruction.
...
git-svn-id: trunk@42163 -
2019-06-02 14:55:30 +00:00
Jeppe Johansen
5bdc635f50
Check if the current register was the last in the cgpara, to avoid running over the last register allocated.
...
git-svn-id: trunk@42159 -
2019-06-02 09:13:19 +00:00