16026 – [3.4/4.0 Regression] ICE in function.c:4804, assign_parms, when -mpowerpc64 & half-word operation (original) (raw)
Description Geoff Keating 2004-06-16 20:19:16 UTC
The gcc.dg/darwin-longlong.c and gcc.dg/darwin-misaligned.c testcases are failing to build on the 3.4 branch after this patch:
2004-06-08 Richard Henderson <rth@redhat.com>
[PR middle-end/15228](show%5Fbug.cgi?id=15228 "RESOLVED FIXED - [3.4/4.0 Regression] useless copies of floating point operands")
* function.c (assign_parms): Always set_mem_align with the computed
FUNCTION_ARG_BOUNDARY. Don't clear stack_parm if !STRICT_ALIGNMENT.with this ICE (this example from darwin-longlong.c):
/Users/regress/tbox/cvs-gcc/gcc/gcc/testsuite/gcc.dg/darwin-longlong.c: In function `msw': /Users/regress/tbox/cvs-gcc/gcc/gcc/testsuite/gcc.dg/darwin-longlong.c:14: internal compiler error: in assign_parms, at function.c:4804
Comment 1 Geoff Keating 2004-06-16 20:25:18 UTC
Also fails on HEAD. Regression tester says only that it was introduced on the 3.4 branch between 2004-05-08T17:45:02Z and 2004-06-16T00:30:04Z.
Comment 2 Drea Pinski 2004-06-16 21:20:56 UTC
Confirmed.
Comment 3 Mark Mitchell 2004-06-16 21:49:15 UTC
Retargeted at 3.4.1.
Comment 4 Richard Henderson 2004-06-19 19:20:33 UTC
See the patch in 15941.
Comment 5 Drea Pinski 2004-06-19 19:30:36 UTC
Nope the fix for PR 15941 did not fix this one.
Comment 6 Drea Pinski 2004-06-19 19:55:26 UTC
The problem is that BITS_PER_WORD is 8 and PARM_BOUNDARY is 4 which is right for this ABI, there might be other cases like this too on other targets too.
Comment 7 Mark Mitchell 2004-06-21 21:37:00 UTC
Richard, status?
Comment 8 Richard Henderson 2004-06-21 22:20:33 UTC
Created attachment 6597 [details] proposed patch
Looks like a bit of code that should have been modified the last time that emit_group_store was improved. Certainly it handles the given test cases.
Comment 9 Mark Mitchell 2004-06-21 22:30:12 UTC
Thanks, Richard. Geoff, would you please boostrap/test this on Darwin to make sure that it solves the problem?
Comment 11 Mark Mitchell 2004-06-22 23:16:49 UTC
Let's get it checked in, then.
Comment 14 Richard Henderson 2004-06-22 23:55:02 UTC
Fixed.