------- Comment #4 from fxcoudert at gcc dot gnu dot org 2007-10-04 13:25 ------- We still have an ICE on __powitf2, at -O2 (but not -O1):
$ cat foo.i typedef float TFtype __attribute__ ((mode (TF))); TFtype __powitf2 (TFtype x, int m) { TFtype y = x; while (m >>= 1) { x = x * x; if (m % 2) y = y * x; } return y; } $ cc1 -fpreprocessed foo.i -quiet -mabi=n32 -O2 foo.i: In function '__powitf2': foo.i:12:1: error: insn does not satisfy its constraints: (insn 12 11 40 5 foo.i:7 (set (reg:TF 46 $f14 [ x ]) (reg:TF 44 $f12 [ x ])) 242 {*movtf_internal} (nil)) foo.i:12:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:395 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33635