This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/11180] [avr-gcc] Optimization decrease performance of struct assignment.
- From: "eweddington at cso dot atmel dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Sep 2007 02:31:55 -0000
- Subject: [Bug target/11180] [avr-gcc] Optimization decrease performance of struct assignment.
- References: <bug-11180-6291@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #20 from eweddington at cso dot atmel dot com 2007-09-17 02:31 -------
Subject: RE: [avr-gcc] Optimization decrease performance of
struct assignment.
> Here's a patch which doesn't mess up the stack pointer update
> in the epilogue.
>
Hi Rask,
Your patch causes a regression. Sort of.
I have a small patch that enables Objective-C for the AVR (not that anyone
would or should use it), that hasn't been committed yet:
--- gcc/config/avr/avr.h.old 2007-08-23 15:18:31.015625000 -0600
+++ gcc/config/avr/avr.h 2007-08-23 15:19:17.687500000 -0600
@@ -53,7 +53,7 @@ extern int avr_mega_p;
extern int avr_have_mul_p;
extern int avr_asm_only_p;
extern int avr_have_movw_lpmx_p;
-#ifndef IN_LIBGCC2
+#if !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS)
extern GTY(()) section *progmem_section;
#endif
Well, your patch causes a new error in configuring libobjc (when using the
patch above):
checking for thread model used by GCC... single
checking for exception model to use... configure: error: unable to detect
exception model
make[1]: *** [configure-target-libobjc] Error 1
make[1]: Leaving directory `/c/avrdev/gcc/build'
make: *** [all] Error 2
Normally, configure detects the exception model as sjlj.
The portion of your patch that changes MOVE_MAX in avr.h is fine. The
problem seems to be something with your changes in avr.md.
Why this is happening, I don't really know. I'm certainly more concerned
with optimizing the C compiler than I am in having ObjC build.
Thanks,
Eric Weddington
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11180