This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: mipsel vs regrename.c
On Sun, Jan 13, 2002 at 08:17:00PM -0800, Richard Henderson wrote:
> Ideally we'd adjust the internal register numbering for whether
> we are big or little endian so that everything works out nicely.
> Doing this requires interesting gymnastics in emitting the debug
> info to get back to the current state. Which is arguably incorrect.
> Changing the register numbering externally requires coordination
> with gdb, and potentially breaks compatibility with debug info in
> existing binaries. How often user variables get allocated to hilo,
> and whether this even works correctly now is something to be
> considered as well.
>
> Anyway, the simplest fix for now is to disallow any change to the
> mode of the HI register.
>
>
> r~
>
>
> * config/mips/mips.h (HI_AND_FP_REGS): New register class.
> (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
>
But your change breaks mips-sgi-irix6.5.
H.J.
--
./xgcc -B./ -B/export/tools/mips-sgi-irix6.5/bin/ -isystem /export/tools/mips-sgi-irix6.5/include -isystem /export/tools/mips-sgi-irix6.5/sys-include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I/home/hjl/work/gnu/src/gcc-mips/gcc/gcc -I/home/hjl/work/gnu/src/gcc-mips/gcc/gcc/. -I/home/hjl/work/gnu/src/gcc-mips/gcc/gcc/config -I/home/hjl/work/gnu/src/gcc-mips/gcc/gcc/../include -DFINE_GRAINED_LIBRARIES -DL_mul_sf -c fp-bit.c -o libgcc/./_mul_sf.o
fp-bit.c: In function `_fpmul_parts':
fp-bit.c:173: insn does not satisfy its constraints:
(insn 723 631 647 (unspec[
(reg:DI 66 accum)
] 2) 161 {*HILO_delay} (insn_list 371 (nil))
(nil))
fp-bit.c:173: Internal compiler error in final_scan_insn, at final.c:2556
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[4]: *** [libgcc/./_mul_sf.o] Error 1