* [Bug target/43722] ICE when passing NEON registers using const refrences
2010-04-12 3:10 [Bug target/43722] New: ICE when passing NEON registers using const refrences liranuna at gmail dot com
@ 2010-04-12 3:24 ` liranuna at gmail dot com
2010-04-12 8:48 ` mikpe at it dot uu dot se
` (9 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: liranuna at gmail dot com @ 2010-04-12 3:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from liranuna at gmail dot com 2010-04-12 03:24 -------
I would like to add that changing
void printv_f32(const float32x4_t &v)
into:
void printv_f32(float32x4_t v)
makes the problem go away, but the generated code is suboptimal.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43722
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/43722] ICE when passing NEON registers using const refrences
2010-04-12 3:10 [Bug target/43722] New: ICE when passing NEON registers using const refrences liranuna at gmail dot com
2010-04-12 3:24 ` [Bug target/43722] " liranuna at gmail dot com
@ 2010-04-12 8:48 ` mikpe at it dot uu dot se
2010-04-12 10:31 ` mikpe at it dot uu dot se
` (8 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: mikpe at it dot uu dot se @ 2010-04-12 8:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from mikpe at it dot uu dot se 2010-04-12 08:48 -------
The equivalent C version of this test case ICEs with 4.4.4 but works with 4.3.5
and 4.5.0-RC-20100406.
--
mikpe at it dot uu dot se changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mikpe at it dot uu dot se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43722
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/43722] ICE when passing NEON registers using const refrences
2010-04-12 3:10 [Bug target/43722] New: ICE when passing NEON registers using const refrences liranuna at gmail dot com
2010-04-12 3:24 ` [Bug target/43722] " liranuna at gmail dot com
2010-04-12 8:48 ` mikpe at it dot uu dot se
@ 2010-04-12 10:31 ` mikpe at it dot uu dot se
2010-04-12 14:18 ` mikpe at it dot uu dot se
` (7 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: mikpe at it dot uu dot se @ 2010-04-12 10:31 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from mikpe at it dot uu dot se 2010-04-12 10:31 -------
gcc-4.5-20090514 (r147545): ICE
gcc-4.5-20090521 (r147778): no ICE
Continuing to investigate.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43722
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/43722] ICE when passing NEON registers using const refrences
2010-04-12 3:10 [Bug target/43722] New: ICE when passing NEON registers using const refrences liranuna at gmail dot com
` (2 preceding siblings ...)
2010-04-12 10:31 ` mikpe at it dot uu dot se
@ 2010-04-12 14:18 ` mikpe at it dot uu dot se
2010-04-12 20:35 ` mikpe at it dot uu dot se
` (6 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: mikpe at it dot uu dot se @ 2010-04-12 14:18 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from mikpe at it dot uu dot se 2010-04-12 14:18 -------
Appears to have been "fixed" for 4.5 by r147566, see
<http://gcc.gnu.org/ml/gcc-patches/2009-05/msg00812.html>. But that patch
doesn't change any ARM code so the issue may be still be latent in 4.5 unless
some other patch fixed it properly.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43722
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/43722] ICE when passing NEON registers using const refrences
2010-04-12 3:10 [Bug target/43722] New: ICE when passing NEON registers using const refrences liranuna at gmail dot com
` (3 preceding siblings ...)
2010-04-12 14:18 ` mikpe at it dot uu dot se
@ 2010-04-12 20:35 ` mikpe at it dot uu dot se
2010-04-12 21:38 ` mikpe at it dot uu dot se
` (5 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: mikpe at it dot uu dot se @ 2010-04-12 20:35 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from mikpe at it dot uu dot se 2010-04-12 20:35 -------
Created an attachment (id=20372)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20372&action=view)
reduced test case in plain C
Reduced test case. This one ICEs both 4.4 and 4.3 but not 4.5.
Using the reduced test case a new bisection of trunk identified r147577 as the
fix for this bug. r147577 added support for PRE_DEC in NEON memory operands,
which makes sense given the pre_dec in the insn that gcc complains about.
r147577 applies easily to 4.4 and eliminates the ICE. I'll start a full
bootstrap and regression test on this combo in a few minutes.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43722
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/43722] ICE when passing NEON registers using const refrences
2010-04-12 3:10 [Bug target/43722] New: ICE when passing NEON registers using const refrences liranuna at gmail dot com
` (4 preceding siblings ...)
2010-04-12 20:35 ` mikpe at it dot uu dot se
@ 2010-04-12 21:38 ` mikpe at it dot uu dot se
2010-04-13 7:43 ` liranuna at gmail dot com
` (4 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: mikpe at it dot uu dot se @ 2010-04-12 21:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from mikpe at it dot uu dot se 2010-04-12 21:38 -------
Created an attachment (id=20373)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20373&action=view)
proposed 4.4 fix for PR43722
Turns out r147577 contains a few redundant changes wrt this bug. The attached
patch backports just those bits needed to fix the bug.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43722
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/43722] ICE when passing NEON registers using const refrences
2010-04-12 3:10 [Bug target/43722] New: ICE when passing NEON registers using const refrences liranuna at gmail dot com
` (5 preceding siblings ...)
2010-04-12 21:38 ` mikpe at it dot uu dot se
@ 2010-04-13 7:43 ` liranuna at gmail dot com
2010-04-15 9:39 ` [Bug target/43722] [4.4 only] " ramana at gcc dot gnu dot org
` (3 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: liranuna at gmail dot com @ 2010-04-13 7:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from liranuna at gmail dot com 2010-04-13 07:43 -------
Mikael's patch seems to do that trick as well as producing very nice assembly.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43722
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/43722] [4.4 only] ICE when passing NEON registers using const refrences
2010-04-12 3:10 [Bug target/43722] New: ICE when passing NEON registers using const refrences liranuna at gmail dot com
` (6 preceding siblings ...)
2010-04-13 7:43 ` liranuna at gmail dot com
@ 2010-04-15 9:39 ` ramana at gcc dot gnu dot org
2010-04-15 13:38 ` mikpe at it dot uu dot se
` (2 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: ramana at gcc dot gnu dot org @ 2010-04-15 9:39 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from ramana at gcc dot gnu dot org 2010-04-15 09:39 -------
Could you submit the patch to gcc-patches@ ? If you need some help in testing
this patch let me know and I can do it for you.
--
ramana at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |ice-on-valid-code
Known to fail| |4.4.3
Last reconfirmed|0000-00-00 00:00:00 |2010-04-15 09:39:24
date| |
Summary|ICE when passing NEON |[4.4 only] ICE when passing
|registers using const |NEON registers using const
|refrences |refrences
Target Milestone|--- |4.4.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43722
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/43722] [4.4 only] ICE when passing NEON registers using const refrences
2010-04-12 3:10 [Bug target/43722] New: ICE when passing NEON registers using const refrences liranuna at gmail dot com
` (7 preceding siblings ...)
2010-04-15 9:39 ` [Bug target/43722] [4.4 only] " ramana at gcc dot gnu dot org
@ 2010-04-15 13:38 ` mikpe at it dot uu dot se
2010-04-15 13:41 ` mikpe at it dot uu dot se
2010-04-30 8:58 ` jakub at gcc dot gnu dot org
10 siblings, 0 replies; 15+ messages in thread
From: mikpe at it dot uu dot se @ 2010-04-15 13:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from mikpe at it dot uu dot se 2010-04-15 13:37 -------
Created an attachment (id=20388)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20388&action=view)
proposed 4.3 fix for PR43722
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43722
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/43722] [4.4 only] ICE when passing NEON registers using const refrences
2010-04-12 3:10 [Bug target/43722] New: ICE when passing NEON registers using const refrences liranuna at gmail dot com
` (8 preceding siblings ...)
2010-04-15 13:38 ` mikpe at it dot uu dot se
@ 2010-04-15 13:41 ` mikpe at it dot uu dot se
2010-04-30 8:58 ` jakub at gcc dot gnu dot org
10 siblings, 0 replies; 15+ messages in thread
From: mikpe at it dot uu dot se @ 2010-04-15 13:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from mikpe at it dot uu dot se 2010-04-15 13:40 -------
The proposed 4.4 patch has been posted here:
http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00885.html
Both the 4.4 and 4.3 patches have been bootstrapped and regtested on armv5tel,
but due to lack of NEON HW no NEON runtime tests have been done.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43722
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/43722] [4.4 only] ICE when passing NEON registers using const refrences
2010-04-12 3:10 [Bug target/43722] New: ICE when passing NEON registers using const refrences liranuna at gmail dot com
` (9 preceding siblings ...)
2010-04-15 13:41 ` mikpe at it dot uu dot se
@ 2010-04-30 8:58 ` jakub at gcc dot gnu dot org
10 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-04-30 8:58 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.4.4 |4.4.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43722
^ permalink raw reply [flat|nested] 15+ messages in thread