First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 10700
Product:  
Component:  
Status: RESOLVED
Resolution: FIXED
Assigned To: Roger Sayle <sayle@gcc.gnu.org>
Host:
Reported against  
Priority:  
Severity:  
Target Milestone:  
 
 
Target:
Reporter: rmurray@debian.org
Add CC:
CC:
Remove selected CCs
Build:
URL:
Summary:
Keywords:
Known to work:
Known to fail:

Attachment Description Type Created Size Actions
mot_est_mb.i.bz2 mot_est_mb.i.bz2 application/octet-stream 2003-05-21 15:17 13.74 KB Edit
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 10700 depends on: Show dependency tree
Show dependency graph
Bug 10700 blocks:

Additional Comments:






View Bug Activity   |   Format For Printing   |   Clone This Bug


Description:   Last confirmed: 2003-06-05 03:44 Opened: 2003-05-09 08:26
gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../include/quicktime -O3
-funroll-all-loops -fomit-frame-pointer -finline-functions -W -Wall -Wno-unused
-Winline -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c
mot_est_mb.c -MT mot_est_mb.lo -MD -MP -MF .deps/mot_est_mb.TPlo  -fPIC -DPIC
-o .libs/mot_est_mb.lo
mot_est_mb.c: In function `MBMotionEstimation':
mot_est_mb.c:614: internal compiler error: in copy_to_mode_reg, at explow.c:740
Please submit a full bug report,

This might be related to PR10587.

Release:
3.2.3, 3.3 20030410 (prerelease)

Environment:
Reading specs from /usr/lib/gcc-lib/alpha-linux/3.2.3/specs
Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,objc,ada
--prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
--with-gxx-include-dir=/usr/include/c++/3.2 --enable-shared --with-system-zlib
--enable-nls --without-included-gettext --enable-__cxa_atexit
--enable-clocale=gnu --enable-java-gc=boehm --enable-objc-gc alpha-linux
Thread model: posix

------- Comment #1 From falk.hueffner@student.uni-tuebingen.de 2003-05-09 19:00 -------
From: Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
To: rmurray@debian.org
Cc: gcc-gnats@gcc.gnu.org, 192576@bugs.debian.org
Subject: Re: target/10700: 3.2/3.3: ICE on alpha while building libquicktime
Date: 09 May 2003 19:00:32 +0200

 rmurray@debian.org writes:
 
 > gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../include/quicktime -O3 -funroll-all-loops -fomit-frame-pointer -finline-functions -W -Wall -Wno-unused -Winline -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c mot_est_mb.c -MT mot_est_mb.lo -MD -MP -MF .deps/mot_est_mb.TPlo  -fPIC -DPIC -o .libs/mot_est_mb.lo
 > mot_est_mb.c: In function `MBMotionEstimation':
 > mot_est_mb.c:614: internal compiler error: in copy_to_mode_reg, at explow.c:740
 > Please submit a full bug report,
 
 Here's a testcase.
 
 int SAD_Block(int *);
 void MBMotionEstimation(int *act_block, int block)
 {
     SAD_Block(act_block + (  (8 * (block == 1 || block == 3))
 			   + (8 * (block == 2 || block == 3))));
 }
 
 Still there in gcc 3.4 20030423.
 
 -- 
 	Falk


------- Comment #2 From falk.hueffner@student.uni-tuebingen.de 2003-05-10 02:55 -------
From: Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org
Cc:  
Subject: Re: target/10700: 3.2/3.3: ICE on alpha while building libquicktime
Date: 10 May 2003 02:55:32 +0200

 http://gcc.gnu.org/PR?10700
 
 There's some problem with this tree (on ia64):
 
  <mult_expr 0x2000000000349fb0
     type <integer_type 0x20000000002ec750 int SI
         size <integer_cst 0x20000000002e8930 constant 32>
         unit size <integer_cst 0x20000000002e8a80 constant 4>
         align 32 symtab 0 alias set 3 precision 32 min <integer_cst 0x20000000002e8a20 -2147483648> max <integer_cst 0x20000000002e8a50 2147483647>
         pointer_to_this <pointer_type 0x2000000000316630>>
    
     arg 0 <truth_or_expr 0x2000000000349f50
         type <integer_type 0x20000000002ec9c0 long unsigned int unsigned DI
             size <integer_cst 0x20000000002e8ab0 constant 64>
             unit size <integer_cst 0x20000000002e8c00 constant 8>
             align 64 symtab 0 alias set -1 precision 64 min <integer_cst 0x20000000002e8c90 0> max <integer_cst 0x20000000002e8cc0 18446744073709551615>>
        
         arg 0 <eq_expr 0x2000000000349bf0 type <integer_type 0x20000000002ec9c0 long unsigned int>
             arg 0 <parm_decl 0x20000000003852b0 block>
             arg 1 <integer_cst 0x2000000000349bc0 constant 1>>
         arg 1 <eq_expr 0x2000000000349c50 type <integer_type 0x20000000002ec9c0 long unsigned int>
             arg 0 <parm_decl 0x20000000003852b0 block>
             arg 1 <integer_cst 0x2000000000349c20 constant 3>>>
     arg 1 <integer_cst 0x2000000000349b90 type <integer_type 0x20000000002ec750 int> constant 8>>
 
 expand_mult eventually gets passed (reg:DI XXX) and (const_int 8) and
 doesn't like the result mode being different from arg0's mode. I'm not
 sure whether it is supposed to. Also, shouldn't the type of eq_expr
 and truth_or_expr always be int? Maybe somebody more knowledgeable can
 comment on this...
 
 -- 
 	Falk

------- Comment #3 From Dara Hazeghi 2003-06-05 03:44 -------
Confirmed on powerpc64-linux with gcc 3.2.3, 3.3 branch and mainline
(20030604).

------- Comment #4 From Falk Hueffner 2003-06-17 22:09 -------
*** Bug 10587 has been marked as a duplicate of this bug. ***

------- Comment #5 From janis187@us.ibm.com 2003-06-25 00:59 -------
The (very old) regression in 10700 was introduced with this patch:

Sat Nov 27 08:38:26 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

        * fold-const.c (negate_expr, associate_trees, extract_muldiv): New.
        (split_tree): Completely rework to make more general.
       (make_range, fold): Call negate_expr.
        (fold, case NEGATE_EXPR): Simplify -(a-b) is -ffast-math.
        (fold, associate): Call new split_tree and associate_trees.
        (fold, case MULT_EXPR, case *_{DIV,MOD}_EXPR): Call extract_muldiv.

The test case used an alpha-linux cross cc1 on i686-pc-linux-gnu with
the minimized test case from comment #1 in the PR, compiled with               
"-O3 -funroll-all-loops -fomit-frame-pointer -finline-functions".

------- Comment #6 From Eric Botcazou 2003-06-25 06:42 -------
Roger, please take ownership of the PRs when you have submitted a patch,
especially for high-priority PRs. Thanks.

------- Comment #7 From CVS Commits 2003-07-03 13:08 -------
Subject: Bug 10700

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	sayle@gcc.gnu.org	2003-07-03 13:08:11

Modified files:
	gcc            : ChangeLog fold-const.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.c-torture/compile: 20030703-1.c 

Log message:
	PR target/10700
	* fold-const.c (extract_muldiv_1): There's nothing that can be done
	if the expression is a SAVE_EXPR.
	
	* gcc.c-torture/compile/20030703-1.c: New test case.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.312&r2=2.313
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fold-const.c.diff?cvsroot=gcc&r1=1.273&r2=1.274
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2831&r2=1.2832
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/20030703-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1


------- Comment #8 From CVS Commits 2003-07-03 13:18 -------
Subject: Bug 10700

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_3-branch
Changes by:	sayle@gcc.gnu.org	2003-07-03 13:18:08

Modified files:
	gcc            : ChangeLog fold-const.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.c-torture/compile: 20030703-1.c 

Log message:
	PR target/10700
	* fold-const.c (extract_muldiv_1): There's nothing that can be done
	if the expression is a SAVE_EXPR.
	
	* gcc.c-torture/compile/20030703-1.c: New test case.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.632&r2=1.16114.2.633
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fold-const.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.227.2.3&r2=1.227.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.2261.2.215&r2=1.2261.2.216
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/20030703-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=NONE&r2=1.1.2.1


------- Comment #9 From Andrew Pinski 2003-07-03 14:36 -------
Fixed for 3.3.1 and on the mainline.

First Last Prev Next    No search results available      Search page      Enter new bug