ICE breaks glibc compilation on PPC

Franz Sirl Franz.Sirl-kernel@lauterbach.com
Sun Sep 17 14:23:00 GMT 2000


Hi,

the appended testcase breaks glibc compilation on Linux/PPC.

Franz.



[fsirl@enzo:/cvsx/bugs/glibcmath]$ gcc -O1 fgetexcptflg.i
fgetexcptflg.i: In function `__fegetexceptflag':
fgetexcptflg.i:17: impossible register constraint in `asm'
fgetexcptflg.i:17: impossible register constraint in `asm'
fgetexcptflg.i:17: impossible register constraint in `asm'
fgetexcptflg.i:24: Unrecognizable insn:
(insn 20 16 47 (set (reg:SI 9 r9)
        (asm_operands/v:DF ("mffs %0") ("=f") 0[ ]
            [ ]  ("fgetexcptflg.i") 17)) -1 (nil)
    (expr_list:REG_EQUIV (mem:SI (reg/v:SI 3 r3) 0)
        (nil)))
fgetexcptflg.i:24: Internal compiler error in reload_cse_simplify_operands, 
at reload1.c:8098
   Please submit a full bug report.
   See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.      


typedef unsigned int fexcept_t;
 
typedef double fenv_t;
 
typedef union
{
  fenv_t fenv;
  unsigned int l[2];
} fenv_union_t;
 
int
__fegetexceptflag (fexcept_t *flagp, int excepts)
{
  fenv_union_t u;
 
 
  u.fenv = ({ fenv_t env; asm volatile ("mffs %0" : "=f" (env)); env; });
 
 
  *flagp = u.l[1];
 
 
  return 0;
}


More information about the Gcc-bugs mailing list