public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
  2008-10-03 20:28 [Bug middle-end/37730] New: [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2 pinskia at gcc dot gnu dot org
@ 2008-10-03 20:28 ` pinskia at gcc dot gnu dot org
  2008-10-03 20:31 ` rguenth at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-10-03 20:28 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu dot
                   |                            |org
   Target Milestone|---                         |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug middle-end/37730]  New: [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
@ 2008-10-03 20:28 pinskia at gcc dot gnu dot org
  2008-10-03 20:28 ` [Bug middle-end/37730] " pinskia at gcc dot gnu dot org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-10-03 20:28 UTC (permalink / raw)
  To: gcc-bugs

Since on x86-darwin, SSE2 is enabled by default, I see a failure with this
testcase:
output
is:/Users/apinski/src/local/gcc/gcc/testsuite/gcc.c-torture/compile/pr37713.c:
In function 'add_opush':^M
/Users/apinski/src/local/gcc/gcc/testsuite/gcc.c-torture/compile/pr37713.c:8:
internal compiler error: in set_mem_alias_set, at emit-rtl.c:1784^M Please
submit a full bug report,^M
with preprocessed source if appropriate.^M
See <http://gcc.gnu.org/bugs.html> for instructions.^M

--- CUT ---
void add_opush(void)
{
    unsigned char formats[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0xff };
    void *dtds[sizeof(formats)];
    unsigned int i;
    unsigned char dtd = 0x08;
    for (i = 0; i < sizeof(formats); i++)
        dtds[i] = &dtd;
    sdp_seq_alloc(dtds);
}
--- CUT ---


-- 
           Summary: [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at
                    -O3 -msse2
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
GCC target triplet: i686-*-*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
  2008-10-03 20:28 [Bug middle-end/37730] New: [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2 pinskia at gcc dot gnu dot org
  2008-10-03 20:28 ` [Bug middle-end/37730] " pinskia at gcc dot gnu dot org
@ 2008-10-03 20:31 ` rguenth at gcc dot gnu dot org
  2008-10-06  6:20 ` jakub at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-10-03 20:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rguenth at gcc dot gnu dot org  2008-10-03 20:29 -------
Confirmed.  At first sight this looks like an expansion problem of the
initializer.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2008-10-03 20:29:59
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
  2008-10-03 20:28 [Bug middle-end/37730] New: [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2 pinskia at gcc dot gnu dot org
  2008-10-03 20:28 ` [Bug middle-end/37730] " pinskia at gcc dot gnu dot org
  2008-10-03 20:31 ` rguenth at gcc dot gnu dot org
@ 2008-10-06  6:20 ` jakub at gcc dot gnu dot org
  2008-10-07 21:07 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-10-06  6:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jakub at gcc dot gnu dot org  2008-10-06 06:18 -------
This looks like a vectorizer bug to me.  Vectorizer creates:
  vector void * * vect_pdtds.39;
  vector void * * vect_pdtds.34;
  vector unsigned char * vect_cst_.33;
...
  vect_cst_.33_33 = {&dtd, &dtd, &dtd, &dtd};
  vect_pdtds.39_34 = (vector void * *) &dtds;
  vect_pdtds.34_35 = vect_pdtds.39_34;
...
  # vect_pdtds.34_36 = PHI <vect_pdtds.34_37(9), vect_pdtds.34_35(3)>
  # ivtmp.40_38 = PHI <ivtmp.40_39(9), 0(3)>
  *vect_pdtds.34_36 = vect_cst_.33_33;

Shouldn't that use VCE instead?  void * and unsigned char * certainly have
different alias sets, so storing vect_cst.33 with element type's alias set 3
into dtds variable, which has element alias set 2, doesn't work very well.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |irar at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
  2008-10-03 20:28 [Bug middle-end/37730] New: [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2 pinskia at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2008-10-06  6:20 ` jakub at gcc dot gnu dot org
@ 2008-10-07 21:07 ` pinskia at gcc dot gnu dot org
  2008-10-08  8:02 ` rguenth at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-10-07 21:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pinskia at gcc dot gnu dot org  2008-10-07 21:05 -------
Also ICEs the same way on spu-elf.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 GCC target triplet|i686-*-*                    |i686-*-*, spu-elf


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
  2008-10-03 20:28 [Bug middle-end/37730] New: [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2 pinskia at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2008-10-07 21:07 ` pinskia at gcc dot gnu dot org
@ 2008-10-08  8:02 ` rguenth at gcc dot gnu dot org
  2008-10-22  3:30 ` mmitchel at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-10-08  8:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rguenth at gcc dot gnu dot org  2008-10-08 08:01 -------
Well, the RHS scalar alias set is IMHO irrelevant.  What is relevant is the
alias set of the store.  Which is why I think the assert is somewhat bogus.
Note that the gimple type-system allows assignment of any pointer to a void *
pointer without a conversion, which is what happens here.

It looks like on RTL we treat the RHS as memory load (because of the
constructor)
and for this reason verify that the alias sets are compatible.  But I think
there is no reason to assert that?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
  2008-10-03 20:28 [Bug middle-end/37730] New: [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2 pinskia at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2008-10-08  8:02 ` rguenth at gcc dot gnu dot org
@ 2008-10-22  3:30 ` mmitchel at gcc dot gnu dot org
  2008-10-30 12:49 ` jakub at gcc dot gnu dot org
  2008-10-30 12:51 ` jakub at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2008-10-22  3:30 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
  2008-10-03 20:28 [Bug middle-end/37730] New: [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2 pinskia at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2008-10-22  3:30 ` mmitchel at gcc dot gnu dot org
@ 2008-10-30 12:49 ` jakub at gcc dot gnu dot org
  2008-10-30 12:51 ` jakub at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-10-30 12:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jakub at gcc dot gnu dot org  2008-10-30 12:49 -------
Subject: Bug 37730

Author: jakub
Date: Thu Oct 30 12:49:31 2008
New Revision: 141461

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141461
Log:
        PR middle-end/37730
        * expr.c (store_constructor): For vectors, if target is a MEM, use
        target's MEM_ALIAS_SET instead of elttype alias set.

        * gcc.dg/vect/pr37730.c: New test.

Added:
    trunk/gcc/testsuite/gcc.dg/vect/pr37730.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/expr.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug middle-end/37730] [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2
  2008-10-03 20:28 [Bug middle-end/37730] New: [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2 pinskia at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2008-10-30 12:49 ` jakub at gcc dot gnu dot org
@ 2008-10-30 12:51 ` jakub at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-10-30 12:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jakub at gcc dot gnu dot org  2008-10-30 12:51 -------
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37730


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2008-10-30 12:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-03 20:28 [Bug middle-end/37730] New: [4.4 Regression] gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2 pinskia at gcc dot gnu dot org
2008-10-03 20:28 ` [Bug middle-end/37730] " pinskia at gcc dot gnu dot org
2008-10-03 20:31 ` rguenth at gcc dot gnu dot org
2008-10-06  6:20 ` jakub at gcc dot gnu dot org
2008-10-07 21:07 ` pinskia at gcc dot gnu dot org
2008-10-08  8:02 ` rguenth at gcc dot gnu dot org
2008-10-22  3:30 ` mmitchel at gcc dot gnu dot org
2008-10-30 12:49 ` jakub at gcc dot gnu dot org
2008-10-30 12:51 ` jakub at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).