S, Pitchumani schrieb:
Attached patch changes the device name macro of two rev devices, from REV
to rev in the name.
Device name macro:
__AVR_ATmega16HVBREVB__
__AVR_ATmega32HVBREVB__
Change to:
__AVR_ATmega16HVBrevB__
__AVR_ATmega32HVBrevB__
'rev' in small letters emphasizes the revision of
Senthil Kumar Selvaraj schrieb:
The below patch adds a new preprocessor define for the device name
(__AVR_DEVICE_NAME__) that was passed to the compiler.
While the device name macro (say __AVR_ATmega128__) can be used to
check for a specific device, there is no way right now for code
to get
-mdeb ran into a null pointer, hence applied the following fix.
http://gcc.gnu.org/r217651
Johann
gcc/
* config/avr/avr-log.c (avr_log_set_avr_log) [TARGET_ALL_DEBUG]:
Set avr_log_details to all.
Index: avr-log.c
Senthil Kumar Selvaraj schrieb:
This patch modifies AVR target's ASM spec to pass -mlink-relax to the
assembler if -mrelax is passed to the compiler driver. This was already
being passed on to the linker, this patch merely makes the assembler
also aware of it.
The corresponding patch in
Some instructions like INC, DEC, NEG currently set cc0 to set_zn which is not
the whole story because they also set the V flag. This leads to a wrong branch
instruction in the remainder as cc0 is used. Fix is to do same as clobber cc0.
For the matter of clarity, I added a new cc0 alternative
Hi, I just applied the following backport to 4.9:
http://gcc.gnu.org/ml/gcc-cvs/2014-05/msg00310.html
Thanks.
2014-04-16 Pitchumani Sivanupandi pitchuman...@atmel.com
Backport from 2014-04-16 trunk r209446
2014-04-16 Pitchumani Sivanupandi pitchuman...@atmel.com
http://gcc.gnu.org/ml/gcc-cvs/2014-05/msg00311.html
Hi, applied this obvious patch to trunk in order to fix build warnings like
these:
gcc/config/avr/avr-fixed.md:434:59: warning: narrowing conversion of ‘-1’ from
‘int’ to ‘const unsigned int’ inside { } is ill-formed in C++11 [-Wnarrowing]
This patch adds GCC Runtime Library Exception to files that go into libgcc
because libgcc2.c includes tm.h and libgcc_tm.h.
Most of these files contain much code, some used by libgcc, some not. Some
potential users of (lib)gcc have objections that missing RLE might infect
their target code.
Am 05/10/2014 02:51 AM, schrieb Ian Lance Taylor:
Georg-Johann Lay a...@jlay.de writes:
This patch adds GCC Runtime Library Exception to files that go into
libgcc because libgcc2.c includes tm.h and libgcc_tm.h.
Most of these files contain much code, some used by libgcc, some
not. Some
Am 04/18/2014 11:52 AM, schrieb Senthil Kumar Selvaraj:
On Sat, Apr 12, 2014 at 06:36:01PM +0200, Georg-Johann Lay wrote:
Senthil Kumar Selvaraj schrieb:
This patch modifies AVR target's ASM spec to pass -mlink-relax to the
assembler if -mrelax is passed to the compiler driver
Am 05/13/2014 02:48 PM, schrieb Senthil Kumar Selvaraj:
On Mon, May 12, 2014 at 01:19:37PM +0200, Georg-Johann Lay wrote:
Am 04/18/2014 11:52 AM, schrieb Senthil Kumar Selvaraj:
On Sat, Apr 12, 2014 at 06:36:01PM +0200, Georg-Johann Lay wrote:
Senthil Kumar Selvaraj schrieb:
[...]
2014
https://gcc.gnu.org/r210418
Applied this patch in order to fixed build warnings like these
gcc/reginfo.c:115:5: warning: narrowing conversion of ‘-1073741824’ from ‘int’
to ‘const unsigned int’ inside { } is ill-formed in C++11 [-Wnarrowing]
gcc/reginfo.c:115:5: warning: narrowing conversion
Am 05/15/2014 09:55 AM, schrieb Senthil Kumar Selvaraj:
On Wed, May 14, 2014 at 12:56:54PM +0200, Rainer Orth wrote:
Georg-Johann Lay a...@gjlay.de writes:
Or what about simply that, which works for me:
Index: config/avr/avr.h
Backportet the fix for PR60991 also to 4.7 so that the issue can be closed:
http://gcc.gnu.org/r210635
Johann
gcc/
2014-05-20 Senthil Kumar Selvaraj senthil_kumar.selva...@atmel.com
Backport from mainline r210325
2014-05-12 Senthil Kumar Selvaraj
:
Georg-Johann Lay a...@jlay.de writes:
This patch adds GCC Runtime Library Exception to files that go into
libgcc because libgcc2.c includes tm.h and libgcc_tm.h.
Most of these files contain much code, some used by libgcc, some
not. Some potential users of (lib)gcc have objections that missing RLE
This adds a note to the user manual that code with label differences is not
supported. This is because adding an offset to a stub address as generated
with gs() will in general not yield the address of the label+offset.
This actually occurs only if gs() has something to do, e.g. on devices
This adds runtime library exceptions for some more files that go into libgcc.c
via tm.h, mostly due to v850.
Ok for trunk?
Johann
gcc/
PR libgcc/61152
* config/dbx.h (License): Add Runtime Library Exception.
* config/newlib-stdint.h (License): Same.
*
This is a fix for unrecognizable insn ICE where the push expander generated
(subreg(mem)) for non-generic address-space locations.
Instead of loading byte-wise and legitimizing such expressions, it's easier and
results in better code when we load such MEMs in one chunk.
Ok to apply?
Johann
This fixes a problem because cc_plus and cc_minus are in the wrong places in
calls of avr_out_plus_1. This is important when avr_out_plus is called from
notice_update_cc. This means that cc_status might be determined incorrectly.
In the vast majority of cases this leads to performance
This is again a request for approval to fix PR59396.
Problem is that the assembler name might or might not be prefixed by '*'
depending on when TARGET_SET_CURRENT_FUNCTION is called.
The change is just to fix wrong warning because the current implementation of
TARGET_SET_CURRENT_FUNCTION
Am 03/13/2014 07:36 PM, schrieb Denis Chertykov:
2014-03-13 21:41 GMT+04:00 Georg-Johann Lay:
Am 03/13/2014 04:41 PM, schrieb Senthil Kumar Selvaraj:
On Thu, Mar 13, 2014 at 02:24:06PM +0100, Georg-Johann Lay wrote:
Problem is that the assembler name might or might not be prefixed
This patch fixed the wrong pre-increment of .dtors addresses to a
post-increment. The first .dtor was bypassed and the last access read beyond
__dtors_end.
Installed as obvious: http://gcc.gnu.org/r216550
Johann
* config/avr/lib1funcs.S (__do_global_dtors): Fix wrong code
This addendum to PR63223 reverses the order in which __do_global_dtors
traverses .dtors: The order is from first to last so that it matches trunk
implementation and is inverse direction as __do_global_ctors (which is from
last .ctors entry to first).
Applied as http://gcc.gnu.org/r216551
This no-op change fixed typos and restored coding rules as obvious like:
spaces around operators, space before opening parentheses, wrapping long lines,
indentation rules, trailing blanks, etc...
http://gcc.gnu.org/r216592
Johann
gcc/
* config/avr/avr.c: Fix GNU coding rules and
This optimization makes most sign-extensions one instruction shorter in the
case when the source register may be clobbered and the register numbers are
different. Source and destination may overlap.
Ok for trunk?
Johann
gcc/
* config/avr/avr.md (extendqihi2, extendqipsi2,
Am 10/23/2014 08:16 PM schrieb Denis Chertykov:
This optimization makes most sign-extensions one instruction shorter in the
case when the source register may be clobbered and the register numbers are
different. Source and destination may overlap.
Ok for trunk?
Johann
gcc/
*
Middle-end might come up with hard registers as operands for expanders which
clobber respective hard regs. This patch uses freshly created pseudos for
respective expander operands and emits pseudo - hard move insn.
Ok for 4.9.2?
It's not yet for trunk because avr trunk backend is currently
Am 10/28/2014 01:34 PM, schrieb Georg-Johann Lay:
Middle-end might come up with hard registers as operands for expanders which
clobber respective hard regs. This patch uses freshly created pseudos for
respective expander operands and emits pseudo - hard move insn.
Ok for 4.9.2?
p.s
Am 10/30/2014 07:48 AM, schrieb Denis Chertykov:
Am 10/28/2014 01:34 PM, schrieb Georg-Johann Lay:
Middle-end might come up with hard registers as operands for expanders
which
clobber respective hard regs. This patch uses freshly created pseudos for
respective expander operands and emits
This patch is a rewrite of t-avr so that STAMP is not needed.
Ada triggers a mistimed re-build of targets using STAMP which causes PR55243
because the respective places in gnattools ada/gcc-interface don't set STAMP.
With this patch, files that were formerly auto-generated must be generated by
Currently, data in address space __memx is allocated to .progmem.data, i.e. the
same section as for __flash resp. progmem. However, there os no need that
__memx goes onto the same section and wastes precious memory in the first 64 Ki.
The patch puts __memx data into .progmemx.data so that a
This addendum adds --with-avrlibc to the (web) documentation.
It inserts the explanation after --with-newlib which seems to be a reasonable
place.
Ok to apply?
Johann
PR target/PR54461
* doc/install.texi (Cross-Compiler-Specific Options): Document
--with-avrlibc.
Weddington, Eric wrote:
Georg-Johann Lay Sent
Document --with-avrlibc
This addendum adds --with-avrlibc to the (web) documentation.
It inserts the explanation after --with-newlib which seems to be a
reasonable place.
Ok to apply?
Change:
+This option is only supported
Weddington, Eric wrote:
Georg-Johann Lay Sent
Document --with-avrlibc
This option is only supported for the AVR target and only for non-RTEMS
configurations, which currently use newlib. The option is supported
since version
I forgot to mention that it looks like there might be some work
This is a tentative patch that adds symbols that can be used as predicates in
the linker script.
Background is binutils PR14406: Data in address space __flash1 must be located
in such a way that the high byte (hh8) of the address is 0x1. This is needed
because avr-gcc sets RAMPZ to 0x1 before
Variables min_high and min_low are set but not used which cases build warnings,
fixed by this patch.
Build fine for i686-pc-linux-gnu and avr-unknown-none, the latter definitely
using this code.
Ok for trunk?
Johann
* fixed-bit.c (SATFRACT) FROM_TYPE = 1, TO_TYPE = 4: Only
Georg-Johann Lay wrote:
Variables min_high and min_low are set but not used which cases build
warnings,
fixed by this patch.
Better attach the patch...
Build fine for i686-pc-linux-gnu and avr-unknown-none, the latter definitely
using this code.
Ok for trunk?
Johann
Added copyright notices (avr-lib.h, avr-modes.def):
http://gcc.gnu.org/viewcvs?view=revisionrevision=195143
http://gcc.gnu.org/viewcvs?view=revisionrevision=195145
Fix typos, remove trailing blanks, coding rules, ...
http://gcc.gnu.org/viewcvs?view=revisionrevision=195151
This patch is a no-op change that uses typedefs starting with avr_ in order to
make clear that they are in the avr namespace. Old types were: struct
base_arch_s, struct arch_info_s, struct mcu_type_s.
avr-cross builds fine.
Ok to apply?
* config/avr/avr-arch.h
(struct
This patch does:
1) With 8-bit int, __INT24_MAX__ and __UINT24_MAX__ need a long long suffix.
2) Defines like __FLASH that indicate if address space is available should
be like a predicate, i.e. 1 if the space is available.
Obvious and lightly tested.
Ok?
Johann
*
Weddington, Eric wrote:
This patch does:
1) With 8-bit int, __INT24_MAX__ and __UINT24_MAX__ need a long long
suffix.
2) Defines like __FLASH that indicate if address space is available should
be like a predicate, i.e. 1 if the space is available.
I'm not seeing #2 being done in
This patch factors out stuff from builtins.def that is used again and again.
Strings like the __builtin_avr_ common to all builtins is moved to the
implementation of DEF_BUILTIN.
Similar for ICODE and CODE_FOR_.
ID is no more needed, the needed enums are derived from NAME.
There is no
http://gcc.gnu.org/ml/gcc-cvs-wwwdocs/2013/msg00015.html
http://gcc.gnu.org/gcc-4.8/changes.html#avr
Index: changes.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
retrieving revision 1.85
diff -u -p -r1.85
This is tentative patch as discussed in
http://gcc.gnu.org/ml/gcc/2013-01/msg00187.html
fold-const.c gets 2 new function native_encode_fixed and
native_interpret_fixed. Code common with the integer case is factored out and
moved to the new constructor-like function double_int::from_buffer.
The
This adds the Embedded C bitsfx and fxbits functions to stdfix.h.
The original stdfix.h is installed as stdfix-gcc.h and included by the new,
avr-specific stdfix.h.
The implementation uses __builtin_memcpy to get a no-op implementation.
Ok for trunk?
Johann
PR target/54222
*
Denis Chertykov wrote:
2013/1/21 Georg-Johann Lay:
This adds the Embedded C bitsfx and fxbits functions to stdfix.h.
The original stdfix.h is installed as stdfix-gcc.h and included by the new,
avr-specific stdfix.h.
The implementation uses __builtin_memcpy to get a no-op implementation
Committed the following change:
http://gcc.gnu.org/r195424
* config/avr/avr.c (avr_out_fract): Make register numbers that
might be outside of source operand signed.
The problem occurs with fixed-point conversions to a wider mode and where the
input operand is in a small regno
This patch adds the absolute value functions to stdfix.h.
DEF_BUILTIN gets one more argument LIBNAME that sets the library name. If no
folding is found, for some builtins it's more convenient to call libgcc support
directly instead of expanding to an insn.
gcc's folding is not very good, thus
Hurugalawadi, Naveen wrote:
Hi,
Please consider this as a reminder to review the patch posted at
following link:-
http://gcc.gnu.org/ml/gcc-patches/2012-12/msg00765.html
What is this good for?
Why are you changing the semantics of an existing, global constraint?
Applied as obvious:
http://gcc.gnu.org/r195471
* doc/extend.texi (Example of asm with clobbered asm reg): Fix
missing ':' in asm example.
PR54814 causes spill fails because reload.c:find_valid_class_1 tests only one
hard register instead of all hard registers of regno:mode in rclass:
http://gcc.gnu.org/PR54814
The patch was originally worked out by Bernd Schmidt and fixed a problem
introduced in
http://gcc.gnu.org/r190252
The
Committed as obvious:
http://gcc.gnu.org/r195473
http://gcc.gnu.org/r195472
* doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
Jeff Law schrieb:
On 01/25/2013 11:41 AM, Georg-Johann Lay wrote:
PR54814 causes spill fails because reload.c:find_valid_class_1 tests
only one
hard register instead of all hard registers of regno:mode in rclass:
http://gcc.gnu.org/PR54814
The patch was originally worked out by Bernd
Georg-Johann Lay schrieb:
Jeff Law schrieb:
On 01/25/2013 11:41 AM, Georg-Johann Lay wrote:
PR54814 causes spill fails because reload.c:find_valid_class_1 tests
only one
hard register instead of all hard registers of regno:mode in rclass:
http://gcc.gnu.org/PR54814
The patch was originally
Gerald Pfeifer wrote:
On Thu, 24 Jan 2013, Georg-Johann Lay wrote:
Committed the following change:
http://gcc.gnu.org/r195424
* config/avr/avr.c (avr_out_fract): Make register numbers that
might be outside of source operand signed.
Can you still post patches to the list
Georg-Johann Lay wrote:
Applied as obvious:
http://gcc.gnu.org/r195471
* doc/extend.texi (Example of asm with clobbered asm reg): Fix
missing ':' in asm example.
The patch:
--- trunk/gcc/doc/extend.texi 2013/01/25 17:55:09 195470
+++ trunk/gcc/doc/extend.texi
This removes modules from libgcc that are already supported by avr-specific
fixed-point implementation and avoids duplicate functions like __mulsa3.
Ok for trunk?
Johann
libgcc/
* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add:
_mulQQ, _mulHQ, _mulHA, _mulSA,
_mulUQQ,
Ping #1 for
http://gcc.gnu.org/ml/gcc-patches/2013-01/msg01053.html
Release Manager approval is here:
http://gcc.gnu.org/ml/gcc/2013-01/msg00222.html
This is tentative patch as discussed in
http://gcc.gnu.org/ml/gcc/2013-01/msg00187.html
fold-const.c gets 2 new function native_encode_fixed
Richard Biener wrote:
Georg-Johann Lay wrote:
This is tentative patch as discussed in
http://gcc.gnu.org/ml/gcc/2013-01/msg00187.html
fold-const.c gets 2 new function native_encode_fixed and
native_interpret_fixed. Code common with the integer case is factored out
and
moved to the new
This patch solves a problem with VIEW_CONVERT_EXPR folding for fixed_cst and
that use fixed-value.c:fixed_from_double_int.
The patch sign/zero extends the double_int input according to the requested
fixed-point mode.
The patch bootstraps on x86-linux-gnu and passes testsuite on avr-unknown one.
This adds variable delays to __builtin_avr_delay_cycles.
Is this okay?
Johann
gcc/
PR target/56254
* config/avr/avr.c (avr_expand_builtin) AVR_BUILTIN_DELAY_CYCLES:
Expand to delay_cycles for non-const delays.
* config/avr/avr.md (delay_cycles): New expander.
Weddington, Eric wrote:
From: Georg-Johann Lay
This adds variable delays to __builtin_avr_delay_cycles.
Is this okay?
What does this do? How does it work?
Could you explain the statement in the documentation if ticks is not a
compile-time constant, the delay might be overestimated
Weddington, Eric wrote:
-Original Message- From: Georg-Johann Lay Sent: Friday, February
08, 2013 9:00 AM To: Weddington, Eric Cc: gcc-patches@gcc.gnu.org; Denis
Chertykov; Joerg Wunsch Subject: Re: [Patch,avr] Implement PR56254
Weddington, Eric wrote:
What does this do? How does
This patch adds optimized support for (short) (un)signed _Sat _Accum
multiplication (HA, UHA, SA, USA).
The 32-bit multiply uses 64 = 32 * 32 widening multiplication. As a spin-off,
the widening mul is available as [u]mulsidi3 default pattern.
Okay for trunk?
Johann
gcc/
PR
: Regenerate.
Georg-Johann Lay wrote:
This patch adds more devices to avr-mcus.def and regenerates depending files.
There is a new spec function that is the worker for ASM_SPEC and that
transforms -mmcu=device to -mmcu=arch for avr-as.
This transformation was already performed for avr25
And here 2/2 with the device - arch mapping for gas.
Ok for trunk?
Johann
* config/avr/avr.h (device_to_arch): Rename to device_to_ld.
(avr_device_to_arch): Rename to avr_device_to_ld.
(avr_device_to_as): New prototype.
(EXTRA_SPEC_FUNCTIONS): Add device_to_as.
Weddington, Eric schrieb:
-Original Message- From: Georg-Johann Lay
[mailto:a...@gjlay.de] Sent: Thursday, March 03, 2011 11:01 AM To:
Denis Chertykov Cc: gcc-patches@gcc.gnu.org; Anatoly Sokolov;
Weddington, Eric Subject: Re: [Patch, AVR]: PR42240 - Fix
epilogue of naked functions
know if you have suggestion on how call prologues can be
combine with tail calls.
Regards, Johann
2011-03-10 Georg-Johann Lay a...@gjlay.de
* config/avr/avr-protos.h (expand_epilogue): Change prototype
* config/avr/avr.h (struct machine_function): Add field
sibcall_fails
Richard Henderson schrieb:
On 03/16/2011 03:32 AM, Georg-Johann Lay wrote:
Richard Henderson schrieb:
On 03/11/2011 05:43 AM, Georg-Johann Lay wrote:
I did not find a way to make this work together with -mcall-prologues.
Please let me know if you have suggestion on how call prologues can
Denis Chertykov schrieb:
2011/3/18 Georg-Johann Lay a...@gjlay.de:
Is it tested for regressions ?
Denis.
I ran tests against svn 170942 (latest 4.7.0 snapshot). Besides
timestamps, the diff looks like this:
1435a1436,1437
XPASS: gcc.dg/sibcall-3.c execution test
XPASS: gcc.dg/sibcall-4
Use define_c_enum instead of magic numbers to get unspec resp.
unspec_volatile constants.
2011-03-23 Georg-Johann Lay a...@gjlay.de
* config/avr/avr.md (define_constants): Move UNSPEC_*
resp. UNSPECV_* defines to...
(define_c_enum unspec) ...this new enum resp
Weddington, Eric schrieb:
-Original Message- From: Georg-Johann Lay
[mailto:a...@gjlay.de] Sent: Wednesday, March 23, 2011 8:45 AM To:
gcc-patches@gcc.gnu.org Cc: Denis Chertykov; Anatoly Sokolov;
Weddington, Eric Subject: [Patch][AVR]: Use define_c_enum where
appropriate
Use
Target avr now supports tail calls, so don't xfail on that.
testsuite/
2011-03-24 Georg-Johann Lay a...@gjlay.de
* gcc.dg/sibcall-3.c: Don't xfail on AVR.
* gcc.dg/sibcall-4.c: Don't xfail on AVR.
Index: testsuite/gcc.dg/sibcall-3.c
Richard Sandiford schrieb:
Georg-Johann Lay a...@gjlay.de writes:
Richard Henderson schrieb:
On 03/25/2011 05:41 AM, Georg-Johann Lay wrote:
On 03/22/2011 06:48 PM, Richard Henderson wrote:
Ok. Watch out for other target problems this week.
libgcc fails to build for avr (SVN 171446
This is straight forward fix for PR45263 (R20 clobbered by
constructor/destructor).
Using call-saved register like R15 is undesired because upcoming
ATtiny10 architecture.
2011-04-01 Georg-Johann Lay a...@gjlay.de
PR target/45263
* config/avr/libgcc.S (__do_global_ctors
This is a better fix that does not need push/pop and does not increase
numer of instructions.
r16 takes the role of r20, and the value formerly in r16,
i.e. hh8(__dtors_end resp. __ctors_start) is recreated as needed.
2011-04-02 Georg-Johann Lay a...@gjlay.de
PR target/45263
Weddington, Eric schrieb:
-Original Message-
From: Georg-Johann Lay [mailto:a...@gjlay.de]
Sent: Friday, April 01, 2011 4:01 PM
To: Georg-Johann Lay
Cc: gcc-patches@gcc.gnu.org; Denis Chertykov; Anatoly Sokolov; Weddington,
Eric
Subject: Re: [Patch,AVR]: Fix PR45263
Weddington, Eric schrieb:
-Original Message-
From: Georg-Johann Lay [mailto:a...@gjlay.de]
To: Weddington, Eric
Please commit, Johann. Thanks.
I don't have write privilege, and I don't think I want write access at
the moment.
Oh! I didn't know. I thought you did.
I signed
Georg-Johann Lay schrieb:
Weddington, Eric schrieb:
-Original Message-
From: Georg-Johann Lay [mailto:a...@gjlay.de]
Sent: Friday, April 01, 2011 4:01 PM
To: Georg-Johann Lay
Cc: gcc-patches@gcc.gnu.org; Denis Chertykov; Anatoly Sokolov; Weddington,
Eric
Subject: Re: [Patch,AVR
are introduced so that use can easily
query if or if not a specific builtin is available. This might be
useful as builtin support evolves, because #ifdef is easier then to
twiddle out which version brings what builtin.
2011-04-06 Georg-Johann Lay a...@gjlay.de
* config/avr/avr.c: (insn
Added Anatoly and Eric to changelog entry
Johann
2011-04-06 Anatoly Sokolov ae...@post.ru
Eric Weddington eric.wedding...@atmel.com
Georg-Johann Lay a...@gjlay.de
* config/avr/avr.c: (insn-codes.h, optabs.h, langhooks.h):
New Includes
Gerald Pfeifer schrieb:
On Wed, 6 Apr 2011, Georg-Johann Lay wrote:
I signed a fsf copyright assignment. AFAIK there is no automatism
that grants write access when copyright assignment is approved.
Yes, this is correct.
I would have to be maintainer or something like that.
Nope. All
Georg-Johann Lay schrieb:
This is fix of PR44643 which is triggered by
http://savannah.nongnu.org/bugs/?32988
i.e. include/avr/pgmspace.h:PSTR has to be changed, too: PSTR has to
generate __c as static const char[], not as static char[]. Note
that avr-libc has to be changed anyway
Georg-Johann Lay schrieb:
This patch adds builtin support for some RTL builtins to avr backend.
One builtin implements loop for delay of specific number of ticks
(under the assumption IRQs are off), others simply map to machine
instructions like SEI, CLI, NOP, SLEEP, WDR, FMUL, FMAULS, FMULSU
Georg-Johann Lay schrieb:
Georg-Johann Lay schrieb:
Weddington, Eric schrieb:
-Original Message-
From: Georg-Johann Lay [mailto:a...@gjlay.de]
Sent: Friday, April 01, 2011 4:01 PM
To: Georg-Johann Lay
Cc: gcc-patches@gcc.gnu.org; Denis Chertykov; Anatoly Sokolov; Weddington,
Eric
Added myself to MAINTAINERS.
Please update your MAINTAINERS file.
Johann
Index: ChangeLog
===
--- ChangeLog (Revision 172381)
+++ ChangeLog (Revision 172382)
@@ -1,3 +1,7 @@
+2011-04-13 Georg-Johann Lay a...@gjlay.de
PR target/45263
* config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
r20 around calls of __tablejump_elpm__
http://gcc.gnu.org/viewcvs?view=revisionrevision=172384
http://gcc.gnu.org/viewcvs?view=revisionrevision=172385
Index: config/avr/libgcc.S
This tests are intended to reveal the respective PRs because the test
case is more stable under slight variations in code (both of
application or compiler).
This test case migh also be helpful for older versions of avr-gcc, in
particular if PR41894 is actually fixed.
2011-04-14 Georg-Johann Lay
This patchlet adds -finline-limit=0 to dg-options in
testsuite/gcc.target/avr/torture/pr41885.c
because otherwise optimizers will fold all tests and actually no test
function is called when optimization is on. The test case still passes
all tests.
testsuite/
2011-04-14 Georg-Johann Lay
Denis Chertykov schrieb:
2011/4/14 Georg-Johann Lay a...@gjlay.de:
The rotlmode3 expanders (mode \in {HI,SI,DI}) violates synopsis by
using 4 operands instead of 3. This runs in ICE in top of
optabs.c:maybe_gen_insn.
The right way to do this is to use match_dup, not match_operand. So
This is fix for a minor performance regression introduced by my changes in
trunk r175956: To load a 32-bit constant like 1 into R2, 4.6 uses
CLR R2
CLR R3
MOVW R4,R2
INC R2
whereas trunk prints the longer
CLR R2
INC R2
CLR R3
CLR R4
CLR R5
As proposed in PR45099, avr-gcc will now just print a warning instead of an
error when a fixed register is needed to pass a parameter to a function.
That way the user can inspect the source, and there are situation imaginable
where clobbering a fixed register is not a problem.
Committed as trunk
This patch improves IOR, XOR, AND for HI and SI.
There is room for improvement in the current implementation:
- better analysis if a scratch is actually needed
- add clobber operands to some insns
- use 8-bit scratch instead of reload the constant
- reuse value in scratch register if known
-
Nathan Froyd wrote:
On 9/21/2011 5:49 AM, Georg-Johann Lay wrote:
As proposed in PR45099, avr-gcc will now just print a warning instead
of an
error when a fixed register is needed to pass a parameter to a function.
Where's the proposal in the PR? I see a problem report that was
addressed
This adds rotate left/right by 1 for HI and SI and rotates by QI.
It's all straight forward. The test case in the PR leads to generation of the
new rotate patterns.
Passed without regressions.
Ok?
Johann
PR target/50446
* config/avr/avr.md (rotlqi3): Support all offsets 0..7.
This patch adds the PLUS part to fix the PR.
addsi3 has a 8-bit scratch register now so that constants that are not covered
by the constraints won't force a reload of the constant.
The output routine tries adding the constant and subtracting the negated
constant and then chooses the shortest
Denis Chertykov schrieb:
2011/9/22 Georg-Johann Lay a...@gjlay.de:
This patch adds the PLUS part to fix the PR.
addsi3 has a 8-bit scratch register now so that constants that are not
covered
by the constraints won't force a reload of the constant.
The output routine tries adding
Paolo Bonzini schrieb:
On 09/23/2011 10:56 AM, Paolo Bonzini wrote:
Also, I am curious about one thing: while this is of course a very
pragmatic solution, you could also convert AVR to get rid of CC0, do
this at expansion time, and get split-wide-types to work as intended.
My changes are just
This is the compare part to fix PR50447.
Just like the preceding changes to fix PR50447 it's a micro-optimization to
smarter print-out of instructions.
The patch covers comparisons against HI and SI integers.
The byte-wide comparison allows reusing the value in the scratch register and
This is just a code clean-up that deals with loading 16-bit constants (HImode).
o Length adjustment is triggered by insn attribute adjust_len
o To print the constant output_movhi can use output_reload_inhi
o output_reload_inhi can use the same function as output_reload_insisf uses,
just a
1 - 100 of 984 matches
Mail list logo