This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/16660] attribute((aligned)) doesn't work for variables on the stack for greater than required alignement
- From: "hjl at lucon dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Oct 2007 00:01:58 -0000
- Subject: [Bug middle-end/16660] attribute((aligned)) doesn't work for variables on the stack for greater than required alignement
- References: <bug-16660-1824@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #12 from hjl at lucon dot org 2007-10-04 00:01 -------
(In reply to comment #11)
> This only helps x86 really. If you look at my patch, it already implements
> (correctly) handling large cases like 128byte alignment (which people use with
> the Cell). What you are proposing will cause more stack to be used than
> actually required and more complex for the normal case. If you look at my
> patch, you will see it handles 1-4 issues nicely without any problems (because
> the stack itself is not realigned). Oh on PPC, the stack pointer has to be
> correct so you cannot use frame pointer to be the old stack pointer.
Does your patch handle register spill which needs a larger alignment? What
is the impact of your approach on performance when stack alignment is needed
for local variable as well as register spill?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16660