public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/28158]  New: ICE on complex operation with -O1 -msse
@ 2006-06-24 21:41 fxcoudert at gcc dot gnu dot org
  2006-06-24 22:00 ` [Bug target/28158] " rguenth at gcc dot gnu dot org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-24 21:41 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1053 bytes --]

The following Fortran testcase exhibits a failure with -O(>=1) -msse:

$ cat foo.f90
     subroutine yhalf(z)
     complex cdexpj,z
     z=cdexpj((0.d0,1.d0)*z)
     end
$ gfortran -c -O3 -msse -mfpmath=sse,387   foo.f90
foo.f90: In function ‘yhalf’:
foo.f90:3: error: unrecognizable insn:
(insn 13 12 14 3 (set (reg:DF 63)
        (neg:DF (reg:DF 62))) -1 (nil)
    (nil))
foo.f90:3: internal compiler error: in extract_insn, at recog.c:2077
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
$ gfortran -c -O3 -msse2 -mfpmath=sse,387   foo.f90
$


-- 
           Summary: ICE on complex operation with -O1 -msse
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: fxcoudert at gcc dot gnu dot org
GCC target triplet: i686-pc-linux-gnu


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


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

* [Bug target/28158] ICE on complex operation with -O1 -msse
  2006-06-24 21:41 [Bug target/28158] New: ICE on complex operation with -O1 -msse fxcoudert at gcc dot gnu dot org
@ 2006-06-24 22:00 ` rguenth at gcc dot gnu dot org
  2006-06-24 22:16 ` fxcoudert at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-06-24 22:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rguenth at gcc dot gnu dot org  2006-06-24 21:41 -------
Confirmed.  Fix:

Index: config/i386/i386.md
===================================================================
--- config/i386/i386.md (revision 114974)
+++ config/i386/i386.md (working copy)
@@ -9913,7 +9913,7 @@ (define_insn "*negsf2_1"
 (define_insn "*negdf2_1"
   [(set (match_operand:DF 0 "register_operand" "=f")
        (neg:DF (match_operand:DF 1 "register_operand" "0")))]
-  "TARGET_80387 && (reload_completed || !TARGET_SSE_MATH)"
+  "TARGET_80387 && (reload_completed || !(TARGET_SSE2 && TARGET_SSE_MATH))"
   "fchs"
   [(set_attr "type" "fsgn")
    (set_attr "mode" "DF")])
@@ -9937,7 +9937,7 @@ (define_insn "*abssf2_1"
 (define_insn "*absdf2_1"
   [(set (match_operand:DF 0 "register_operand" "=f")
        (abs:DF (match_operand:DF 1 "register_operand" "0")))]
-  "TARGET_80387 && (reload_completed || !TARGET_SSE_MATH)"
+  "TARGET_80387 && (reload_completed || !(TARGET_SSE2 && TARGET_SSE_MATH))"
   "fabs"
   [(set_attr "type" "fsgn")
    (set_attr "mode" "DF")])


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2006-06-24 21:41:50
               date|                            |


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


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

* [Bug target/28158] ICE on complex operation with -O1 -msse
  2006-06-24 21:41 [Bug target/28158] New: ICE on complex operation with -O1 -msse fxcoudert at gcc dot gnu dot org
  2006-06-24 22:00 ` [Bug target/28158] " rguenth at gcc dot gnu dot org
@ 2006-06-24 22:16 ` fxcoudert at gcc dot gnu dot org
  2006-06-28 23:35 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-24 22:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from fxcoudert at gcc dot gnu dot org  2006-06-24 22:00 -------
(In reply to comment #1)
> Index: config/i386/i386.md
> ===================================================================
> --- config/i386/i386.md (revision 114974)
> +++ config/i386/i386.md (working copy)
> @@ -9913,7 +9913,7 @@ (define_insn "*negsf2_1"
>  (define_insn "*negdf2_1"
>    [(set (match_operand:DF 0 "register_operand" "=f")
>         (neg:DF (match_operand:DF 1 "register_operand" "0")))]
> -  "TARGET_80387 && (reload_completed || !TARGET_SSE_MATH)"
> +  "TARGET_80387 && (reload_completed || !(TARGET_SSE2 && TARGET_SSE_MATH))"
>    "fchs"
>    [(set_attr "type" "fsgn")
>     (set_attr "mode" "DF")])
> @@ -9937,7 +9937,7 @@ (define_insn "*abssf2_1"
>  (define_insn "*absdf2_1"
>    [(set (match_operand:DF 0 "register_operand" "=f")
>         (abs:DF (match_operand:DF 1 "register_operand" "0")))]
> -  "TARGET_80387 && (reload_completed || !TARGET_SSE_MATH)"
> +  "TARGET_80387 && (reload_completed || !(TARGET_SSE2 && TARGET_SSE_MATH))"
>    "fabs"
>    [(set_attr "type" "fsgn")
>     (set_attr "mode" "DF")])

That does fix it for me.


-- 


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


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

* [Bug target/28158] ICE on complex operation with -O1 -msse
  2006-06-24 21:41 [Bug target/28158] New: ICE on complex operation with -O1 -msse fxcoudert at gcc dot gnu dot org
  2006-06-24 22:00 ` [Bug target/28158] " rguenth at gcc dot gnu dot org
  2006-06-24 22:16 ` fxcoudert at gcc dot gnu dot org
@ 2006-06-28 23:35 ` pinskia at gcc dot gnu dot org
  2006-06-28 23:57 ` [Bug target/28158] [4.2 Regression] " pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-28 23:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pinskia at gcc dot gnu dot org  2006-06-28 23:34 -------
Is this a regression?


-- 


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


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

* [Bug target/28158] [4.2 Regression] ICE on complex operation with -O1 -msse
  2006-06-24 21:41 [Bug target/28158] New: ICE on complex operation with -O1 -msse fxcoudert at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2006-06-28 23:35 ` pinskia at gcc dot gnu dot org
@ 2006-06-28 23:57 ` pinskia at gcc dot gnu dot org
  2006-07-05 10:50 ` patchapp at dberlin dot org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-28 23:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2006-06-28 23:35 -------
I think it was caused by:
http://gcc.gnu.org/ml/gcc-patches/2006-05/msg01526.html
Which means this is a 4.2 Regression.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|ICE on complex operation    |[4.2 Regression] ICE on
                   |with -O1 -msse              |complex operation with -O1 -
                   |                            |msse
   Target Milestone|---                         |4.2.0


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


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

* [Bug target/28158] [4.2 Regression] ICE on complex operation with -O1 -msse
  2006-06-24 21:41 [Bug target/28158] New: ICE on complex operation with -O1 -msse fxcoudert at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2006-06-28 23:57 ` [Bug target/28158] [4.2 Regression] " pinskia at gcc dot gnu dot org
@ 2006-07-05 10:50 ` patchapp at dberlin dot org
  2006-07-05 16:25 ` rguenth at gcc dot gnu dot org
  2006-07-05 16:25 ` rguenth at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: patchapp at dberlin dot org @ 2006-07-05 10:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from patchapp at dberlin dot org  2006-07-05 10:50 -------
Subject: Bug number PR28158

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-07/msg00134.html


-- 


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


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

* [Bug target/28158] [4.2 Regression] ICE on complex operation with -O1 -msse
  2006-06-24 21:41 [Bug target/28158] New: ICE on complex operation with -O1 -msse fxcoudert at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2006-07-05 16:25 ` rguenth at gcc dot gnu dot org
@ 2006-07-05 16:25 ` rguenth at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-05 16:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from rguenth at gcc dot gnu dot org  2006-07-05 16:25 -------
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

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


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


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

* [Bug target/28158] [4.2 Regression] ICE on complex operation with -O1 -msse
  2006-06-24 21:41 [Bug target/28158] New: ICE on complex operation with -O1 -msse fxcoudert at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2006-07-05 10:50 ` patchapp at dberlin dot org
@ 2006-07-05 16:25 ` rguenth at gcc dot gnu dot org
  2006-07-05 16:25 ` rguenth at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-05 16:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from rguenth at gcc dot gnu dot org  2006-07-05 16:25 -------
Fixed.


------- Comment #7 from rguenth at gcc dot gnu dot org  2006-07-05 16:25 -------
Subject: Bug 28158

Author: rguenth
Date: Wed Jul  5 16:24:57 2006
New Revision: 115203

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115203
Log:
2006-07-05  Richard Guenther  <rguenther@suse.de>

        PR target/28158
        * config/i386/i386.md (*negdf2_1): Restrict pattern to
        TARGET_SSE2 targets if using SSE math.
        (*absdf2_1): Likewise.

        * gfortran.dg/pr28158.f90: New testcase.

Added:
    trunk/gcc/testsuite/gfortran.dg/pr28158.f90
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.md
    trunk/gcc/testsuite/ChangeLog


-- 

rguenth at gcc dot gnu dot org changed:

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


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


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

end of thread, other threads:[~2006-07-05 16:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-06-24 21:41 [Bug target/28158] New: ICE on complex operation with -O1 -msse fxcoudert at gcc dot gnu dot org
2006-06-24 22:00 ` [Bug target/28158] " rguenth at gcc dot gnu dot org
2006-06-24 22:16 ` fxcoudert at gcc dot gnu dot org
2006-06-28 23:35 ` pinskia at gcc dot gnu dot org
2006-06-28 23:57 ` [Bug target/28158] [4.2 Regression] " pinskia at gcc dot gnu dot org
2006-07-05 10:50 ` patchapp at dberlin dot org
2006-07-05 16:25 ` rguenth at gcc dot gnu dot org
2006-07-05 16:25 ` rguenth 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).