Commit Graph

26 Commits

Author SHA1 Message Date
florian
c9fce8b742 * AVR: take care of CPUAVR_HAS_MOVW in assembler routines
git-svn-id: trunk@44131 -
(cherry picked from commit 925979c6e4)
2021-10-24 12:40:37 +02:00
florian
3ee32648c0 * system unit can be build for subarch avrtiny
git-svn-id: trunk@44032 -
(cherry picked from commit 17c4834a4a)
2021-10-24 12:40:37 +02:00
florian
0add128d7b + AVR: initial support of the avrtiny architecture in the rtl
git-svn-id: trunk@43988 -
(cherry picked from commit 28391e04bc)
2021-10-24 12:40:37 +02:00
Jeppe Johansen
bca0d5774f - Adds a number of optimizations for 64bit integer operations on AVR. Patch from Christo Crause in issue #35691.
git-svn-id: trunk@42495 -
(cherry picked from commit 893507a5d6)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
8b02397b18 - Split division routines out into an include file.
- Reuse division routines for calculating both division and modulus.
- Add implementations of BsfByte and BsrByte that don't use a lookup table.

git-svn-id: trunk@42494 -
(cherry picked from commit 4b93eb64b3)

# Conflicts:
#	.gitattributes
2021-10-24 12:40:36 +02:00
Jeppe Johansen
2b92b97056 - Change syntax of sbiw operands to work around syntax in older binutils.
git-svn-id: trunk@42336 -
(cherry picked from commit 48a7c0989a)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
a886e77b5e - Fix compilation on architectures without absolute call/jump instructions.
git-svn-id: trunk@42164 -
(cherry picked from commit ee7bc1d516)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
8eb523e696 - Add assembler implementation of integer division, patch by Christo Crause. For now there's a division by zero check added.
- Fix setjmp/longjmp handling on 3 byte PC AVRs.

git-svn-id: trunk@42162 -
(cherry picked from commit dee0197890)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
ebe4d4cf13 Fixed stack checking for embedded target. Based on work by Christo Crause
git-svn-id: trunk@42157 -
(cherry picked from commit 2f501be2a0)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
915e48c675 Add assembler implementation of Move.
git-svn-id: trunk@42155 -
(cherry picked from commit 009c87156a)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
f5e34990ae - Adds intrinsics to save/restore SREG when disabling interrupts.
- Adds nostackframe to stack frame investigation stubs.

git-svn-id: trunk@41898 -
(cherry picked from commit 12879adc2f)
2021-10-24 12:40:36 +02:00
florian
c7d5525b56 + implemented some AVR specific intrinsics
git-svn-id: trunk@37544 -
2017-11-01 16:33:34 +00:00
florian
ff86c80176 * cpu specific header file for the system unit: cpuh.inc, moved several declarations into it
git-svn-id: trunk@37542 -
2017-11-01 16:33:30 +00:00
florian
a2838775cc * interlocked methods with smallint parameters, resolves #31158
git-svn-id: trunk@35221 -
2016-12-31 19:42:47 +00:00
florian
0c238b72e5 + set/longjmp implementation for avr
git-svn-id: trunk@34971 -
2016-11-26 18:33:15 +00:00
florian
3b665ddea2 - unused variable removed
git-svn-id: trunk@34941 -
2016-11-20 22:28:50 +00:00
Jeppe Johansen
5ec4d38231 Add support for ram-less AVR chips and simultanously optimize flash/ram size the initfinal calling sequence.
git-svn-id: trunk@32448 -
2015-11-22 00:37:10 +00:00
florian
34c7f45637 + simple Move and FillChar pascal implementations for AVR
git-svn-id: trunk@30558 -
2015-04-12 18:06:05 +00:00
florian
0470cd2cb1 + CPU dependend string routine include files for AVR
git-svn-id: trunk@30376 -
2015-03-29 19:34:53 +00:00
Jeppe Johansen
98606eea15 Fixed some bugs in the AVR RTL code.
Changed atmega code to use weak linking for interrupt handlers.

git-svn-id: trunk@26945 -
2014-03-04 08:03:27 +00:00
pierre
8469741700 + Added additional addr pointer parameter to
get_caller_frame, get_caller_addr and dump_stack
  with default NIL value to systemh.inc.
  + Added new get_addr function.
  system.inc: Use get_addr and get_frame to call
  HandleErrorAddrFrame instead of HandleErrorFrame
  in several error functions.
  Modify dump_stack to use frame and addr parameters.
  Provide a dummy get_addr function returning nil.
  i386/i386.inc, x86_64./x86_64.inc: Provide real
  implementation of get_addr function.

git-svn-id: trunk@21697 -
2012-06-24 21:22:09 +00:00
florian
9234486a42 * fixed compilation of assembler helpers
git-svn-id: branches/avr@17047 -
2011-02-27 21:11:03 +00:00
florian
7b9276ae8a + implementation of avr rtl helpers
+ avr: fixed writing of constants in assembler
* avr: fixed reading of constants in assembler
* avr: determine used registers at procedure exit properly
* changed project name to ppavr

git-svn-id: branches/avr@17032 -
2011-02-26 21:04:56 +00:00
florian
24fea58b92 + initial implementation of iso style gotos in iso mode
* made setjmp/longjmp accessible to the compiler by compiler proc, they are used by the iso goto code

git-svn-id: trunk@15711 -
2010-08-05 19:20:46 +00:00
florian
d672700a59 * some avr fixes
+ cpu16 type defines

git-svn-id: trunk@11380 -
2008-07-13 18:16:24 +00:00
florian
c05d4912f4 + basic system unit for avr-embedded
* fixed several compiler stuff to be able to start system unit compilation on avr

git-svn-id: trunk@10318 -
2008-02-13 20:35:16 +00:00