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