> > While investigating gstreamer0.10-ffmpeg's build failure under hppa[1], > > I received the following error from gcc: > > > > gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../libavutil -DHAVE_AV_CONFIG_H=1 -Wall > > -Wno-switch -g -O2 -MT mpegaudiodec.lo -MD -MP -MF .deps/mpegaudiodec.Tpo > > -c mpegaudiodec.c -fPIC -DPIC -o .libs/mpegaudiodec.o > > mpegaudiodec.c: In function 'mp_decode_frame': > > mpegaudiodec.c:2445: warning: pointer targets in passing argument 4 of > > 'ff_mpa_synth_filter' differ in signedness > > mpegaudiodec.c: In function 'ff_mpa_synth_filter': > > mpegaudiodec.c:920: error: insn does not satisfy its constraints: > > (insn 4924 2540 2542 4 mpegaudiodec.c:888 (set (reg:HI 70 %fr23 [1852]) > > (reg:HI 1 %r1)) 53 {*pa.md:2926} (nil) > > (nil)) > > mpegaudiodec.c:920: internal compiler error: in > > reload_cse_simplify_operands, at postreload.c:391
Would you please file a PR? The program compiles with gcc-3.4, but fails with 4.0 and 4.1 (didn't try head). At first glance, this seems like a reload bug. The current define for HARD_REGNO_MODE_OK should stop reload from trying to put a HImode value into a floating-point register. We don't support HImode moves between general and floating-point registers as they are more expensive than using a stack temporary. Looking at the greg RTL output, I see that reload is just using %fr23 as temporary storage (i.e., the value is copied back to a general register a few instructions later). Dave -- J. David Anglin [EMAIL PROTECTED] National Research Council of Canada (613) 990-0752 (FAX: 952-6602) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]