public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/17113] New: GCSE breaks SSE2 intrinsics
@ 2004-08-19 23:59 bobm75 at gmail dot com
  2004-08-20  0:01 ` [Bug c++/17113] " bobm75 at gmail dot com
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: bobm75 at gmail dot com @ 2004-08-19 23:59 UTC (permalink / raw)
  To: gcc-bugs

When I compile the following source file using:
$ gcc -march=pentium4 -O2 gccbug-p.cpp

The program breaks with the output seen below. However if I compile it like:
$ gcc -march=pentium4 -O2 -fno-gcse gccbug-p.cpp

Everything is fine.

Output with -march=pentium4 -O2
-------------------------------

Reading specs from /opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/specs
Configured with: ./configure --prefix=/opt/gcc-3.4
Thread model: posix
gcc version 3.4.1
 /opt/gcc-3.4/libexec/gcc/i686-pc-linux-gnu/3.4.1/cc1plus -quiet -v
-D_GNU_SOURCE gccbug-p.cpp -quiet -dumpbase gccbug-p.cpp -march=pentium4
-auxbase gccbug-p -O2 -version -o /tmp/cc69Idn4.s
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory
"/opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1
 /opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu
 /opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/backward
 /opt/gcc-3.4/include
 /opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/include
 /usr/include
End of search list.
GNU C++ version 3.4.1 (i686-pc-linux-gnu)
        compiled by GNU C version 3.4.2 20040819 (prerelease).
GGC heuristics: --param ggc-min-expand=99 --param ggc-min-heapsize=129450
gccbug-p.cpp: In function `void test1(int*)':
gccbug-p.cpp:70: error: unrecognizable insn:
(insn:HI 240 4 241 0 (set (reg:V16QI 79 [ __B ])
        (const_vector:V16QI [
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
            ])) -1 (nil)
    (expr_list:REG_EQUAL (const_vector:V16QI [
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
            ])
        (nil)))
gccbug-p.cpp:70: internal compiler error: in extract_insn, at recog.c:2083
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

-- 
           Summary: GCSE breaks SSE2 intrinsics
           Product: gcc
           Version: 3.4.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bobm75 at gmail dot com
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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


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

* [Bug c++/17113] GCSE breaks SSE2 intrinsics
  2004-08-19 23:59 [Bug c++/17113] New: GCSE breaks SSE2 intrinsics bobm75 at gmail dot com
@ 2004-08-20  0:01 ` bobm75 at gmail dot com
  2004-08-20  6:19 ` [Bug c++/17113] [3.4 Regression] " pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: bobm75 at gmail dot com @ 2004-08-20  0:01 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bobm75 at gmail dot com  2004-08-20 00:01 -------
Created an attachment (id=6961)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6961&action=view)
Preprocessed file that causes the problem.

I took the proprocessed file and removed any unneeded declarations that came in
from emmintrin.h. 

-- 


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


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

* [Bug c++/17113] [3.4 Regression] GCSE breaks SSE2 intrinsics
  2004-08-19 23:59 [Bug c++/17113] New: GCSE breaks SSE2 intrinsics bobm75 at gmail dot com
  2004-08-20  0:01 ` [Bug c++/17113] " bobm75 at gmail dot com
@ 2004-08-20  6:19 ` pinskia at gcc dot gnu dot org
  2004-08-20 12:43 ` [Bug target/17113] [3.4 Regression] ICE with " reichelt at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-20  6:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-08-20 06:18 -------
Confirmed a regression from 3.3.3 but fixed already on the mainline.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-valid-code
      Known to fail|                            |3.4.0
      Known to work|                            |3.3.3 3.5.0
   Last reconfirmed|0000-00-00 00:00:00         |2004-08-20 06:18:58
               date|                            |
            Summary|GCSE breaks SSE2 intrinsics |[3.4 Regression] GCSE breaks
                   |                            |SSE2 intrinsics
   Target Milestone|---                         |3.4.2


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


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

* [Bug target/17113] [3.4 Regression] ICE with SSE2 intrinsics
  2004-08-19 23:59 [Bug c++/17113] New: GCSE breaks SSE2 intrinsics bobm75 at gmail dot com
  2004-08-20  0:01 ` [Bug c++/17113] " bobm75 at gmail dot com
  2004-08-20  6:19 ` [Bug c++/17113] [3.4 Regression] " pinskia at gcc dot gnu dot org
@ 2004-08-20 12:43 ` reichelt at gcc dot gnu dot org
  2004-08-20 17:35 ` bobm75 at gmail dot com
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-08-20 12:43 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2004-08-20 12:43 -------
The failure has nothing to do with GCSE, here's a short example to
demonstrate this. Just compile with "gcc -msse2 -O" to see the crash :-(

=======================================================
typedef int __v4si  __attribute__ ((mode (V4SI)));
typedef int __v16qi __attribute__ ((mode (V16QI)));

void foo(int* p)
{
    int i;

    for ( i=0; i<2; ++i )
    {
        __v16qi v0, v1=(__v16qi)__builtin_ia32_setzero128();
        v0 = __builtin_ia32_punpckhbw128(v0, v1);
        __builtin_ia32_stored (p, (__v4si)v0);
    }
}
=======================================================

The bug was fixed on mainline by Paolo Bonzini's patch
http://gcc.gnu.org/ml/gcc-cvs/2004-07/msg00949.html

It should probably be applied to the 3.4 branch as well,
although I did not try that yet.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bonzini at gcc dot gnu dot
                   |                            |org, mark at codesourcery
                   |                            |dot com, reichelt at gcc dot
                   |                            |gnu dot org
           Keywords|                            |monitored
            Summary|[3.4 Regression] GCSE breaks|[3.4 Regression] ICE with
                   |SSE2 intrinsics             |SSE2 intrinsics


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


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

* [Bug target/17113] [3.4 Regression] ICE with SSE2 intrinsics
  2004-08-19 23:59 [Bug c++/17113] New: GCSE breaks SSE2 intrinsics bobm75 at gmail dot com
                   ` (2 preceding siblings ...)
  2004-08-20 12:43 ` [Bug target/17113] [3.4 Regression] ICE with " reichelt at gcc dot gnu dot org
@ 2004-08-20 17:35 ` bobm75 at gmail dot com
  2004-08-20 18:21 ` mmitchel at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: bobm75 at gmail dot com @ 2004-08-20 17:35 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bobm75 at gmail dot com  2004-08-20 17:35 -------
I just applied the patch from Paolo Bonzini to a fresh 3.4.1-release tree and it
fixes this bug. 

-- 


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


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

* [Bug target/17113] [3.4 Regression] ICE with SSE2 intrinsics
  2004-08-19 23:59 [Bug c++/17113] New: GCSE breaks SSE2 intrinsics bobm75 at gmail dot com
                   ` (3 preceding siblings ...)
  2004-08-20 17:35 ` bobm75 at gmail dot com
@ 2004-08-20 18:21 ` mmitchel at gcc dot gnu dot org
  2004-08-23  8:02 ` reichelt at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-20 18:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-08-20 18:21 -------
This patch is OK for 3.4.2.

-- 


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


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

* [Bug target/17113] [3.4 Regression] ICE with SSE2 intrinsics
  2004-08-19 23:59 [Bug c++/17113] New: GCSE breaks SSE2 intrinsics bobm75 at gmail dot com
                   ` (4 preceding siblings ...)
  2004-08-20 18:21 ` mmitchel at gcc dot gnu dot org
@ 2004-08-23  8:02 ` reichelt at gcc dot gnu dot org
  2004-08-23  8:07 ` paolo dot bonzini at polimi dot it
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-08-23  8:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2004-08-23 08:02 -------
Paolo, could you please apply your patch to the 3.4 branch?
Thanks!


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |bonzini at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


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


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

* [Bug target/17113] [3.4 Regression] ICE with SSE2 intrinsics
  2004-08-19 23:59 [Bug c++/17113] New: GCSE breaks SSE2 intrinsics bobm75 at gmail dot com
                   ` (5 preceding siblings ...)
  2004-08-23  8:02 ` reichelt at gcc dot gnu dot org
@ 2004-08-23  8:07 ` paolo dot bonzini at polimi dot it
  2004-08-24 10:51 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: paolo dot bonzini at polimi dot it @ 2004-08-23  8:07 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From paolo dot bonzini at polimi dot it  2004-08-23 08:07 -------
Subject: Re:  [3.4 Regression] ICE with SSE2 intrinsics

> Paolo, could you please apply your patch to the 3.4 branch?
> Thanks!

Yes, will do soon.  Thanks for reminding me.

Paolo



-- 


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


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

* [Bug target/17113] [3.4 Regression] ICE with SSE2 intrinsics
  2004-08-19 23:59 [Bug c++/17113] New: GCSE breaks SSE2 intrinsics bobm75 at gmail dot com
                   ` (6 preceding siblings ...)
  2004-08-23  8:07 ` paolo dot bonzini at polimi dot it
@ 2004-08-24 10:51 ` cvs-commit at gcc dot gnu dot org
  2004-08-24 14:21 ` pinskia at gcc dot gnu dot org
  2004-08-26  4:03 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-08-24 10:51 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-08-24 10:51 -------
Subject: Bug 17113

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	bonzini@gcc.gnu.org	2004-08-24 10:51:04

Modified files:
	gcc            : ChangeLog 
	gcc/config/i386: i386.md 

Log message:
	2004-08-24  Paolo Bonzini  <bonzini@gnu.org>
	
	PR target/17113
	* config/i386/i386.md (movv16qi_internal): Fix typo.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.592&r2=2.2326.2.593
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.md.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.502.2.5&r2=1.502.2.6



-- 


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


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

* [Bug target/17113] [3.4 Regression] ICE with SSE2 intrinsics
  2004-08-19 23:59 [Bug c++/17113] New: GCSE breaks SSE2 intrinsics bobm75 at gmail dot com
                   ` (7 preceding siblings ...)
  2004-08-24 10:51 ` cvs-commit at gcc dot gnu dot org
@ 2004-08-24 14:21 ` pinskia at gcc dot gnu dot org
  2004-08-26  4:03 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-24 14:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-08-24 14:21 -------
Fixed.

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


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


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

* [Bug target/17113] [3.4 Regression] ICE with SSE2 intrinsics
  2004-08-19 23:59 [Bug c++/17113] New: GCSE breaks SSE2 intrinsics bobm75 at gmail dot com
                   ` (8 preceding siblings ...)
  2004-08-24 14:21 ` pinskia at gcc dot gnu dot org
@ 2004-08-26  4:03 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-26  4:03 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-08-26 04:03 -------
*** Bug 17197 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jochang at gmail dot com


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


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

end of thread, other threads:[~2004-08-26  4:03 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-19 23:59 [Bug c++/17113] New: GCSE breaks SSE2 intrinsics bobm75 at gmail dot com
2004-08-20  0:01 ` [Bug c++/17113] " bobm75 at gmail dot com
2004-08-20  6:19 ` [Bug c++/17113] [3.4 Regression] " pinskia at gcc dot gnu dot org
2004-08-20 12:43 ` [Bug target/17113] [3.4 Regression] ICE with " reichelt at gcc dot gnu dot org
2004-08-20 17:35 ` bobm75 at gmail dot com
2004-08-20 18:21 ` mmitchel at gcc dot gnu dot org
2004-08-23  8:02 ` reichelt at gcc dot gnu dot org
2004-08-23  8:07 ` paolo dot bonzini at polimi dot it
2004-08-24 10:51 ` cvs-commit at gcc dot gnu dot org
2004-08-24 14:21 ` pinskia at gcc dot gnu dot org
2004-08-26  4:03 ` pinskia 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).