[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avr-libc-dev] [patch #9187] [AVR_TINY]: Support 16-bit xtoa functons an
From: |
Georg-Johann Lay |
Subject: |
[avr-libc-dev] [patch #9187] [AVR_TINY]: Support 16-bit xtoa functons and more string functions. |
Date: |
Fri, 9 Dec 2016 13:02:17 +0000 (UTC) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0 |
URL:
<http://savannah.nongnu.org/patch/?9187>
Summary: [AVR_TINY]: Support 16-bit xtoa functons and more
string functions.
Project: AVR C Runtime Library
Submitted by: gjlayde
Submitted on: Fri 09 Dec 2016 01:02:16 PM GMT
Category: None
Priority: 5 - Normal
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
This improves support for AVR_TINY architecture.
It'a collection of low hanging fruit from from /libc/misc/ and libc/string,
mostly achieved by
* Using new X_sbiw instead of sbiw
* Replace r0 by __tmp_reg__
* common/asmdef.h (X_sbiw): New asm macro.
* common/macros.inc (X_sbiw): New asm macro.
* libc/misc/itoa.S: Don't restrict to !AVR_TINY.
* libc/misc/itoa_ncheck.S: Same.
* libc/misc/utoa.S: Same.
* libc/misc/utoa_ncheck.S: Same. And use X_sbiw instead of sbiw.
* libc/string/strlcat.S: Same.
* libc/string/strncat.S: Same.
* libc/string/strrev.S: Same.
* libc/string/strrchr.S: Same.
* libc/string/memchr.S: Don't restrict to !AVR_TINY.
[AVR_TINY]: Use "ld __tmp_reg__,-R" instead of "sbiw R,1".
* libc/string/strcat.S: Same.
* libc/string/strchr.S: Same.
* libc/string/memrchr.S: Don't restrict to !AVR_TINY.
(r0): Use __tmp_reg__ instead.
(adiw ZL,0): Use X_sbiw ZL,0 for comparison against 0 instead.
* libc/string/strchrnul.S: Don't restrict to !AVR_TINY.
(r0): Use __tmp_reg__ instead.
[AVR_TINY]: Use "ld __tmp_reg__,-R" instead of "sbiw R,1".
* libc/string/strpbrk.S: Same.
* libc/string/strstr.S: Don't restrict to !AVR_TINY.
Use X_sbiw instead of sbiw.
(chr2): Define to __tmp_reg__ instead of to r0.
* libc/string/strtok_r.S: Don't restrict to !AVR_TINY.
Use X_sbiw instead of sbiw.
(dch) [AVR_TINY]: Push / pop r18 around function.
[AVR_TINY]: Use "ld __tmp_reg__,R+" instead of "adiw R,1".
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Fri 09 Dec 2016 01:02:16 PM GMT Name: alibc-tiny-1.diff Size: 12kB
By: gjlayde
Patch against trunk
<http://savannah.nongnu.org/patch/download.php?file_id=39181>
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/patch/?9187>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
- [avr-libc-dev] [patch #9187] [AVR_TINY]: Support 16-bit xtoa functons and more string functions.,
Georg-Johann Lay <=