Description of problem: ICE while compiling cups-1.1.18-1 on ia64. Version-Release number of selected component (if applicable): gcc-3.2.2-10 How reproducible: 100% Steps to Reproduce: 1. Save attached file as conf.c 2. gcc -O2 -c conf.c Actual results: conf.c: In function `get_address': conf.c:1929: Internal compiler error in bundling, at config/ia64/ia64.c:6448 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
Created attachment 90724 [details] conf.c Preprocessed source file.
I believe this is the same as distilled testcase from glibc: /* { dg-do compile { target ia64-*-* } } */ /* { dg-options "-O2" } */ int foo (int x, int y) { if (y == 0) { register long r8 asm ("r8"); register long r15 asm ("r15") = 1; long retval; __asm __volatile ("" : "=r" (r8), "=r" (r15) : "1" (r15)); retval = r8; y = retval; } { register long r8 asm ("r8"); register long r15 asm ("r15") = 2; long retval; register long _out1 asm ("out1") = x; register long _out0 asm ("out0") = y; __asm __volatile ("" : "=r" (r8), "=r" (r15) , "=r" (_out0), "=r" (_out1) : "1" (r15) , "2" (_out0), "3" (_out1)); retval = r8; return retval; } }
Sorry, I should have closed the bug. It was fixed long ago and the patch was been committed into gcc-3_2-rhl8_branch and into gcc public repository. I've checked gcc-3.2.3-31 (RHEL 3 Update 1) and gcc-3_2-rhl8-branch, the bug is really gone.