Bug 57212 - ICE while compiling xine on alpha
ICE while compiling xine on alpha
Status: CLOSED RAWHIDE
Product: Red Hat Raw Hide
Classification: Retired
Component: gcc (Show other bugs)
1.0
alpha Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
:
: 57165 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-12-06 16:32 EST by Bernhard Rosenkraenzer
Modified: 2008-05-01 11:38 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-12-18 09:51:08 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
bzip2'ed Preprocessor output (22.06 KB, application/octet-stream)
2001-12-06 16:42 EST, Bernhard Rosenkraenzer
no flags Details
bzip2'ed Preprocessor output of 2nd example (39.11 KB, application/octet-stream)
2001-12-06 16:52 EST, Bernhard Rosenkraenzer
no flags Details

  None (edit)
Description Bernhard Rosenkraenzer 2001-12-06 16:32:03 EST
alpha-redhat-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../.. 
-I../../
src -I../../src -I../../src/xine-engine -I../../src/xine-engine 
-I../../src/xin
e-utils -I../../src/xine-utils -O3 -mieee -Wall -D_REENTRANT 
-D_FILE_OFFSET_BIT
S=64 -DXINE_COMPILE -I/usr/include/kde/artsc -c demux_mpeg_block.c -MT 
demux_mp
eg_block.lo -MD -MP -MF .deps/demux_mpeg_block.TPlo  -fPIC -DPIC -o 
demux_mpeg_
block.lo
demux_mpeg_block.c: In function `demux_mpeg_block_start':
demux_mpeg_block.c:1036: Unable to find a register to spill in class 
`R27_REG'.
demux_mpeg_block.c:1036: This is the insn:
(insn 264 261 267 (parallel[
            (set (reg/v:DI 11 $11 [72])
                (div:DI (reg/v:DI 11 $11 [72])
                    (reg:DI 25 $25 [127])))
            (clobber (reg:DI 23 $23))
            (clobber (reg:DI 28 $28))
        ] ) 35 {*divmoddi_internal} (insn_list 263 (insn_list 261 (nil)))
    (expr_list:REG_UNUSED (reg:DI 23 $23)
        (expr_list:REG_UNUSED (reg:DI 28 $28)
            (nil))))
demux_mpeg_block.c:1036: confused by earlier errors, bailing out
make[3]: *** [demux_mpeg_block.lo] Error 1
Comment 1 Bernhard Rosenkraenzer 2001-12-06 16:42:57 EST
Created attachment 39948 [details]
bzip2'ed Preprocessor output
Comment 2 Bernhard Rosenkraenzer 2001-12-06 16:44:04 EST
This is with 3.1-0.10, works with -O1 and lower.

Comment 3 Bernhard Rosenkraenzer 2001-12-06 16:49:01 EST
Happens again later on in the xine build process:

main.c:145: This is the insn:
(insn 154 245 95 (parallel[
            (set (reg:DI 43 $f11 [159])
                (sign_extend:DI (div:SI (reg:DI 24 $24 [156])
                        (reg:DI 3 $3 [157]))))
            (clobber (reg:DI 23 $23))
            (clobber (reg:DI 28 $28))
        ] ) 33 {*divmodsi_internal} (insn_list 150 (insn_list 151 (nil)))
    (expr_list:REG_DEAD (reg:DI 24 $24 [156])
        (expr_list:REG_DEAD (reg:DI 3 $3 [157])
            (expr_list:REG_UNUSED (reg:DI 23 $23)
                (expr_list:REG_UNUSED (reg:DI 28 $28)
                    (nil))))))
main.c:145: confused by earlier errors, bailing out

Comment 4 Bernhard Rosenkraenzer 2001-12-06 16:52:47 EST
Created attachment 39950 [details]
bzip2'ed Preprocessor output of 2nd example
Comment 5 Jakub Jelinek 2001-12-18 09:51:02 EST
Simplified to
2001-12-18  Jakub Jelinek  <jakub@redhat.com>

        * gcc.c-torture/20011218-1.c: New test.

--- gcc/testsuite/gcc.c-torture/20011218-1.c.jj Thu Aug 30 22:30:55 2001
+++ gcc/testsuite/gcc.c-torture/20011218-1.c    Tue Dec 18 16:04:33 2001
@@ -0,0 +1,12 @@
+struct S {
+  int a, b;
+  void (*f) (long, int);
+};
+
+void foo (struct S *x)
+{
+  long c = x->a * 50;
+  c /= (long) x->b;
+  c *= (long) x->b;
+  x->f (c, 0);
+}

($27 wants to be used by indirect call and div/mul at the same time). No fix yet.
Comment 6 Jakub Jelinek 2002-01-07 11:33:17 EST
Richard has fixed this quite some time ago, definitely in 3.1-0.16.
Comment 7 Richard Henderson 2004-10-01 21:02:31 EDT
*** Bug 57165 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.