Commit Graph

29 Commits

Author SHA1 Message Date
florian
bc21634b46 * AVR: made avr_des intrinsic more usefull
git-svn-id: trunk@49362 -
2021-05-13 18:59:28 +00:00
florian
022a9b210f + AVR: avr_des intrinsic
git-svn-id: trunk@49353 -
2021-05-13 09:26:53 +00:00
florian
1e4dc56155 * inlinable frame handling dummies for avr
* inline frame handler if possible

git-svn-id: trunk@47025 -
2020-09-30 21:18:33 +00:00
florian
925979c6e4 * AVR: take care of CPUAVR_HAS_MOVW in assembler routines
git-svn-id: trunk@44131 -
2020-02-08 22:05:20 +00:00
florian
17c4834a4a * system unit can be build for subarch avrtiny
git-svn-id: trunk@44032 -
2020-01-24 22:04:14 +00:00
florian
28391e04bc + AVR: initial support of the avrtiny architecture in the rtl
git-svn-id: trunk@43988 -
2020-01-19 15:55:25 +00:00
Jeppe Johansen
893507a5d6 - Adds a number of optimizations for 64bit integer operations on AVR. Patch from Christo Crause in issue #35691.
git-svn-id: trunk@42495 -
2019-07-25 15:36:24 +00:00
Jeppe Johansen
4b93eb64b3 - 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 -
2019-07-25 14:56:18 +00:00
Jeppe Johansen
48a7c0989a - Change syntax of sbiw operands to work around syntax in older binutils.
git-svn-id: trunk@42336 -
2019-07-07 11:48:00 +00:00
Jeppe Johansen
ee7bc1d516 - Fix compilation on architectures without absolute call/jump instructions.
git-svn-id: trunk@42164 -
2019-06-02 15:50:41 +00:00
Jeppe Johansen
dee0197890 - 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 -
2019-06-02 13:14:19 +00:00
Jeppe Johansen
2f501be2a0 Fixed stack checking for embedded target. Based on work by Christo Crause
git-svn-id: trunk@42157 -
2019-06-01 19:18:31 +00:00
Jeppe Johansen
009c87156a Add assembler implementation of Move.
git-svn-id: trunk@42155 -
2019-06-01 15:39:09 +00:00
Jeppe Johansen
12879adc2f - Adds intrinsics to save/restore SREG when disabling interrupts.
- Adds nostackframe to stack frame investigation stubs.

git-svn-id: trunk@41898 -
2019-04-18 18:26:51 +00: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