[Bug target/11180] [avr-gcc] Optimization decrease performance of struct assignment.
eweddington at cso dot atmel dot com
gcc-bugzilla@gcc.gnu.org
Mon Sep 17 02:32:00 GMT 2007
------- 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
More information about the Gcc-bugs
mailing list