This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/34091] [4.2/4.3 Regression] ICE in reload_cse_simplify_operands, at postreload.c:392



------- Comment #4 from dave at hiauly1 dot hia dot nrc dot ca  2007-11-14 15:57 -------
Subject: Re:   New: [4.2/4.3 Regression] ICE in reload_cse_simplify_operands,
at postreload.c:392

> gcc 4.1 can compile the attached source without any problems, but gcc-4.2
> (at -O) and trunk (20070916, at -O2) ICE.

There is no significant difference in the backend between 4.1, 4.2
and the trunk in the handling of QImode and HImode in the floating
registers.  What's changed is reload.

> paer% gcc-4.2 -c -O s_texfilter.i
> swrast/s_texfilter.c: In function â??sample_lambda_2dâ??:
> swrast/s_texfilter.c:1420: error: insn does not satisfy its constraints:
> (insn 2621 1258 1259 96 (set (mem/c:HI (plus:SI (reg/f:SI 30 %r30)
>                 (const_int -474 [0xfffffe26])) [0 S2 A16])
>         (reg:HI 68 %fr22)) 53 {*pa.md:3126} (nil)
>     (nil))
> swrast/s_texfilter.c:1420: internal compiler error: in
> reload_cse_simplify_operands, at postreload.c:392

The simplest fix is probably not to allow QImode and HImode values
in the floating point registers as there's no instructions that operate
on them.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34091


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]