public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/30825]  New: current mainline fails to bootstrap with --with-arch=athlon64
@ 2007-02-16 16:14 jvb at wongr dot net
  2007-02-23  0:43 ` [Bug target/30825] [4.3 Regression] " pinskia at gcc dot gnu dot org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: jvb at wongr dot net @ 2007-02-16 16:14 UTC (permalink / raw)
  To: gcc-bugs

Hi,

current mainline (revision 122038) produces an ICE in stage 2 when configured
with --with-arch=athlon64:

~/rcs-data/gcc-svn/configure --prefix=$HOME/env/gcc --enable-languages=c
--with-arch=athlon64 && make

...

/home/julian/build/bld.gcc/./gcc/xgcc -B/home/julian/build/bld.gcc/./gcc/
-B/home/julian/env/gcc/i686-pc-linux-gnu/bin/
-B/home/julian/env/gcc/i686-pc-linux-gnu/lib/ -isystem
/home/julian/env/gcc/i686-pc-linux-gnu/include -isystem
/home/julian/env/gcc/i686-pc-linux-gnu/sys-include -O2 -g -O2 -O2  -O2 -g -O2 
-DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../.././gcc
-I/home/julian/rcs-data/gcc-svn/libgcc -I/home/julian/rcs-data/gcc-svn/libgcc/.
-I/home/julian/rcs-data/gcc-svn/libgcc/../gcc
-I/home/julian/rcs-data/gcc-svn/libgcc/../include
-I/home/julian/rcs-data/gcc-svn/libgcc/../libdecnumber -I../../libdecnumber -o
_fixunsxfdi.o -MT _fixunsxfdi.o -MD -MP -MF _fixunsxfdi.dep -DL_fixunsxfdi -c
/home/julian/rcs-data/gcc-svn/libgcc/../gcc/libgcc2.c \
          -fvisibility=hidden -DHIDE_EXPORTS
/home/julian/rcs-data/gcc-svn/libgcc/../gcc/libgcc2.c: In function
'__fixunsxfdi':
/home/julian/rcs-data/gcc-svn/libgcc/../gcc/libgcc2.c:1245: error:
verify_flow_info: Wrong probability of edge 7->9 -2147483648
/home/julian/rcs-data/gcc-svn/libgcc/../gcc/libgcc2.c:1245: error:
verify_flow_info: Wrong probability of edge 7->8 -2147473648
/home/julian/rcs-data/gcc-svn/libgcc/../gcc/libgcc2.c:1245: internal compiler
error: verify_flow_info failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[3]: *** [_fixunsxfdi.o] Error 1
make[3]: Leaving directory
`/home/julian/build/bld.gcc/i686-pc-linux-gnu/libgcc'
make[2]: *** [all-stage2-target-libgcc] Error 2
make[2]: Leaving directory `/home/julian/build/bld.gcc'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/home/julian/build/bld.gcc'
make: *** [all] Error 2


When configured without --with-arch=athlon64 the build succeeds. The problem
has probably been introduced since 2007-02-09.


-- 
           Summary: current mainline fails to bootstrap with --with-
                    arch=athlon64
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jvb at wongr dot net
  GCC host triplet: i386-linux-gnu


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


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

* [Bug target/30825] [4.3 Regression] current mainline fails to bootstrap with --with-arch=athlon64
  2007-02-16 16:14 [Bug bootstrap/30825] New: current mainline fails to bootstrap with --with-arch=athlon64 jvb at wongr dot net
@ 2007-02-23  0:43 ` pinskia at gcc dot gnu dot org
  2007-02-23  0:43 ` pinskia 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 @ 2007-02-23  0:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2007-02-23 00:43 -------
*** Bug 30921 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |irar at il dot ibm dot com


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


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

* [Bug target/30825] [4.3 Regression] current mainline fails to bootstrap with --with-arch=athlon64
  2007-02-16 16:14 [Bug bootstrap/30825] New: current mainline fails to bootstrap with --with-arch=athlon64 jvb at wongr dot net
  2007-02-23  0:43 ` [Bug target/30825] [4.3 Regression] " pinskia at gcc dot gnu dot org
@ 2007-02-23  0:43 ` pinskia at gcc dot gnu dot org
  2007-02-23  7:34 ` ubizjak at gmail dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-02-23  0:43 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|bootstrap                   |target
            Summary|current mainline fails to   |[4.3 Regression] current
                   |bootstrap with --with-      |mainline fails to bootstrap
                   |arch=athlon64               |with --with-arch=athlon64
   Target Milestone|---                         |4.3.0


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


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

* [Bug target/30825] [4.3 Regression] current mainline fails to bootstrap with --with-arch=athlon64
  2007-02-16 16:14 [Bug bootstrap/30825] New: current mainline fails to bootstrap with --with-arch=athlon64 jvb at wongr dot net
  2007-02-23  0:43 ` [Bug target/30825] [4.3 Regression] " pinskia at gcc dot gnu dot org
  2007-02-23  0:43 ` pinskia at gcc dot gnu dot org
@ 2007-02-23  7:34 ` ubizjak at gmail dot com
  2007-02-23 10:22 ` ubizjak at gmail dot com
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2007-02-23  7:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from ubizjak at gmail dot com  2007-02-23 07:34 -------
It is -msse that breaks the bootstrap.

'gmake bootstrap BOOT_CFLAGS="-O2"' bootstraps OK.
'gmake bootstrap BOOT_CFLAGS="-O2 -msse"' crashes.


-- 

ubizjak at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-02-23 07:34:39
               date|                            |


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


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

* [Bug target/30825] [4.3 Regression] current mainline fails to bootstrap with --with-arch=athlon64
  2007-02-16 16:14 [Bug bootstrap/30825] New: current mainline fails to bootstrap with --with-arch=athlon64 jvb at wongr dot net
                   ` (2 preceding siblings ...)
  2007-02-23  7:34 ` ubizjak at gmail dot com
@ 2007-02-23 10:22 ` ubizjak at gmail dot com
  2007-02-23 13:54 ` [Bug target/30825] [4.3 Regression] current mainline fails to bootstrap when -msse is used ubizjak at gmail dot com
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2007-02-23 10:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from ubizjak at gmail dot com  2007-02-23 10:22 -------
There is something wrong in combine_predictions_for_insn(). Perhaps stack gets
corrupted, but from the comment:

        /* Use FP math to avoid overflows of 32bit integers.  */

combined_probability variable is _sometimes_ calculated as nan. Tracing through
asm, it looks that it happens because fildl from stack loads 0x00001388, pushed
to stack earlier.

BTW: For some reason gdb can't trace through this source, so it is really
something strange going on.


-- 


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


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

* [Bug target/30825] [4.3 Regression] current mainline fails to bootstrap when -msse is used
  2007-02-16 16:14 [Bug bootstrap/30825] New: current mainline fails to bootstrap with --with-arch=athlon64 jvb at wongr dot net
                   ` (3 preceding siblings ...)
  2007-02-23 10:22 ` ubizjak at gmail dot com
@ 2007-02-23 13:54 ` ubizjak at gmail dot com
  2007-02-23 16:12 ` rth at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2007-02-23 13:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from ubizjak at gmail dot com  2007-02-23 13:54 -------
Got it.

This regression is indeed introduced by patch that fixes inter-unit moves
(http://gcc.gnu.org/viewcvs?view=rev&revision=121767) as was found out in PR
30921.

The failure is due to slight register preference change introduced by the above
patch. The consequence of this change is, that a mmx register is allocated when
-mmmx (or -msseX) is used in bootstrap flags. This affects all subsequent x87
FP calculations, so they always show "nan" in active shared x87/mm registers
due to missing emms insn.

Attached patch tries to set register preferences back as they were before
inter-unit moves patch. Using this patch, I was able to bootstrap gcc using
"-O2 -msse" and "-O2 -march=pentium4" BOOT_CFLAGS. For the former case, patch
was also regression tested for c testsuite without new failures.

2007-02-23  Uros Bizjak  <ubizjak@gmail.com>

        * config/i386/i386.md (*movdi_1_rex64, zero_extendsidi2_32,
        zero_extendsidi2_rex64): Penalize MMX register<->memory moves.
        (*movsf_1): Penalize MMX moves.

Index: i386.md
===================================================================
--- i386.md     (revision 122219)
+++ i386.md     (working copy)
@@ -2022,9 +2022,9 @@

 (define_insn "*movdi_1_rex64"
   [(set (match_operand:DI 0 "nonimmediate_operand"
-         "=r,r  ,r,m ,!m,*y,*y,?r ,m ,?*Ym,*y,*x,*x,?r ,m,?*Yi,*x,?*x,?*Ym")
+         "=r,r  ,r,m ,!m,*y,*y,?r ,?m,?*Ym,?*y,*x,*x,?r ,m,?*Yi,*x,?*x,?*Ym")
        (match_operand:DI 1 "general_operand"
-         "Z ,rem,i,re,n ,C ,*y,*Ym,*y,r   ,m ,C ,*x,*Yi,*x,r  ,m ,*Ym,*x"))]
+         "Z ,rem,i,re,n ,C ,*y,*Ym,*y,r   ,m  ,C ,*x,*Yi,*x,r  ,m ,*Ym,*x"))]
   "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
 {
   switch (get_attr_type (insn))
@@ -2326,9 +2326,9 @@

 (define_insn "*movsf_1"
   [(set (match_operand:SF 0 "nonimmediate_operand"
-         "=f,m,f,r  ,m ,x,x,x ,m,*y,m ,*y,Yi,r ,*Ym,r  ")
+         "=f,m,f,r  ,m ,x,x,x ,m,!*y,!m ,!*y,!Yi,!r ,!*Ym,!r ")
        (match_operand:SF 1 "general_operand"
-         "fm,f,G,rmF,Fr,C,x,xm,x,m ,*y,*y,r ,Yi,r  ,*Ym"))]
+         "fm,f,G,rmF,Fr,C,x,xm,x,m  , *y, *y,r  ,Yi ,r   ,*Ym"))]
   "!(MEM_P (operands[0]) && MEM_P (operands[1]))
    && (reload_in_progress || reload_completed
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
@@ -3401,9 +3401,9 @@
 })

 (define_insn "zero_extendsidi2_32"
-  [(set (match_operand:DI 0 "nonimmediate_operand"
"=r,?r,?o,?*Ym,*y,?*Yi,*Y2")
+  [(set (match_operand:DI 0 "nonimmediate_operand"
"=r,?r,?o,?*Ym,?*y,?*Yi,?*Y2")
        (zero_extend:DI
-        (match_operand:SI 1 "nonimmediate_operand" "0,rm,r ,r   ,m ,r   ,m")))
+        (match_operand:SI 1 "nonimmediate_operand" "0,rm,r ,r   ,m  ,r  
,m")))
    (clobber (reg:CC FLAGS_REG))]
   "!TARGET_64BIT"
   "@
@@ -3418,9 +3418,9 @@
    (set_attr "type" "multi,multi,multi,mmxmov,mmxmov,ssemov,ssemov")])

 (define_insn "zero_extendsidi2_rex64"
-  [(set (match_operand:DI 0 "nonimmediate_operand" "=r,o,?*Ym,*y,?*Yi,*Y2")
+  [(set (match_operand:DI 0 "nonimmediate_operand" "=r,o,?*Ym,?*y,?*Yi,?*Y2")
      (zero_extend:DI
-       (match_operand:SI 1 "nonimmediate_operand"  "rm,0,r   ,m ,r   ,m")))]
+       (match_operand:SI 1 "nonimmediate_operand"  "rm,0,r   ,m  ,r   ,m")))]
   "TARGET_64BIT"
   "@
    mov\t{%k1, %k0|%k0, %k1}


-- 

ubizjak at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rth at gcc dot gnu dot org
           Severity|normal                      |critical
           Keywords|                            |ssemmx
            Summary|[4.3 Regression] current    |[4.3 Regression] current
                   |mainline fails to bootstrap |mainline fails to bootstrap
                   |with --with-arch=athlon64   |when -msse is used


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


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

* [Bug target/30825] [4.3 Regression] current mainline fails to bootstrap when -msse is used
  2007-02-16 16:14 [Bug bootstrap/30825] New: current mainline fails to bootstrap with --with-arch=athlon64 jvb at wongr dot net
                   ` (4 preceding siblings ...)
  2007-02-23 13:54 ` [Bug target/30825] [4.3 Regression] current mainline fails to bootstrap when -msse is used ubizjak at gmail dot com
@ 2007-02-23 16:12 ` rth at gcc dot gnu dot org
  2007-02-23 18:19 ` uros at gcc dot gnu dot org
  2007-02-23 18:21 ` ubizjak at gmail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: rth at gcc dot gnu dot org @ 2007-02-23 16:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from rth at gcc dot gnu dot org  2007-02-23 16:12 -------
Subject: Re:  [4.3 Regression] current mainline fails to bootstrap when -msse
is used

On Fri, Feb 23, 2007 at 01:54:35PM -0000, ubizjak at gmail dot com wrote:
>         * config/i386/i386.md (*movdi_1_rex64, zero_extendsidi2_32,
>         zero_extendsidi2_rex64): Penalize MMX register<->memory moves.
>         (*movsf_1): Penalize MMX moves.

Ok.  I guess I really need to get around to disabling mmx when 
it's not supposed to be used.


r~


-- 


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


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

* [Bug target/30825] [4.3 Regression] current mainline fails to bootstrap when -msse is used
  2007-02-16 16:14 [Bug bootstrap/30825] New: current mainline fails to bootstrap with --with-arch=athlon64 jvb at wongr dot net
                   ` (5 preceding siblings ...)
  2007-02-23 16:12 ` rth at gcc dot gnu dot org
@ 2007-02-23 18:19 ` uros at gcc dot gnu dot org
  2007-02-23 18:21 ` ubizjak at gmail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: uros at gcc dot gnu dot org @ 2007-02-23 18:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from uros at gcc dot gnu dot org  2007-02-23 18:19 -------
Subject: Bug 30825

Author: uros
Date: Fri Feb 23 18:19:07 2007
New Revision: 122268

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=122268
Log:
        PR target/30825
        * config/i386/i386.md (*movdi_1_rex64, zero_extendsidi2_32,
        zero_extendsidi2_rex64): Penalize MMX register<->memory moves.
        (*movsf_1): Penalize MMX moves.


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


-- 


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


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

* [Bug target/30825] [4.3 Regression] current mainline fails to bootstrap when -msse is used
  2007-02-16 16:14 [Bug bootstrap/30825] New: current mainline fails to bootstrap with --with-arch=athlon64 jvb at wongr dot net
                   ` (6 preceding siblings ...)
  2007-02-23 18:19 ` uros at gcc dot gnu dot org
@ 2007-02-23 18:21 ` ubizjak at gmail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2007-02-23 18:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from ubizjak at gmail dot com  2007-02-23 18:20 -------
Fixed on mainline.


-- 

ubizjak at gmail dot com changed:

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


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


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

end of thread, other threads:[~2007-02-23 18:21 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-16 16:14 [Bug bootstrap/30825] New: current mainline fails to bootstrap with --with-arch=athlon64 jvb at wongr dot net
2007-02-23  0:43 ` [Bug target/30825] [4.3 Regression] " pinskia at gcc dot gnu dot org
2007-02-23  0:43 ` pinskia at gcc dot gnu dot org
2007-02-23  7:34 ` ubizjak at gmail dot com
2007-02-23 10:22 ` ubizjak at gmail dot com
2007-02-23 13:54 ` [Bug target/30825] [4.3 Regression] current mainline fails to bootstrap when -msse is used ubizjak at gmail dot com
2007-02-23 16:12 ` rth at gcc dot gnu dot org
2007-02-23 18:19 ` uros at gcc dot gnu dot org
2007-02-23 18:21 ` ubizjak at gmail dot com

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).