This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/69454] [6 Regression] ix86_expand_prologue internal compiler error: Segmentation fault
- From: "ienkovich at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 27 Jan 2016 11:29:14 +0000
- Subject: [Bug middle-end/69454] [6 Regression] ix86_expand_prologue internal compiler error: Segmentation fault
- Auto-submitted: auto-generated
- References: <bug-69454-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69454
--- Comment #26 from Ilya Enkovich <ienkovich at gcc dot gnu.org> ---
(In reply to H.J. Lu from comment #25)
> Please add -mpreferred-stack-boundary=2 to your tests. Otherwise,
> you just remove a nop.
Here is a test which crashes LRA with the path you proposed. Crash happens
because LRA requests a stack slot aligned by 8 and stack is aligned by 4. So
Jakub's patch looks the safest option for now, but probably use 64 requirement
instead of 128.
>cat test.i
long long a, b;
fn1() {
long long c = a;
a = b ^ a;
fn2();
a = c;
}
>gcc test.i -O2 -m32 -mpreferred-stack-boundary=2
test.i: In function 'fn1':
test.i:5:3: warning: implicit declaration of function 'fn2'
[-Wimplicit-function-declaration]
fn2();
^~~
test.i:7:1: internal compiler error: in assign_stack_local_1, at function.c:409