I tried to build m6811 cross compiler (3.4.0 20040217 prerelease). Here is a compile error msg. I will upload e_sqrt.i /home/namsh/c/gnu/gcc/gcc/xgcc -B/home/namsh/c/gnu/gcc/gcc/ -nostdinc -B/home/namsh/c/gnu/gcc/m6811-elf/mshort/newlib/ -isystem /home/namsh/c/gnu/gcc/m6811-elf/mshort/newlib/targ-include -isystem /home/namsh/c/gnu/CVS-gcc/gcc/newlib/libc/include -B/usr/GNUHCS/m6811-elf/bin/ -B/usr/GNUHCS/m6811-elf/lib/ -isystem /usr/GNUHCS/m6811-elf/include -isystem /usr/GNUHCS/m6811-elf/sys-include -mshort -DPACKAGE=\"newlib\" -DVERSION=\"1.12.0\" -I. -I../../../../../../CVS-gcc/gcc/newlib/libm/math -I../../../../../../CVS-gcc/gcc/newlib/libm/math/../common -DPREFER_SIZE_OVER_SPEED -Os -mrelax -DNO_EXEC -DABORT_PROVIDED -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES -fno-builtin -O2 -O2 -static -g -Os -c ../../../../../../CVS-gcc/gcc/newlib/libm/math/e_sqrt.c ../../../../../../CVS-gcc/gcc/newlib/libm/math/e_sqrt.c: In function `__ieee754_sqrt': ../../../../../../CVS-gcc/gcc/newlib/libm/math/e_sqrt.c:193: error: unable to find a register to spill in class `A_OR_D_REGS' ../../../../../../CVS-gcc/gcc/newlib/libm/math/e_sqrt.c:193: error: this is the insn: (insn:HI 469 468 470 34 ../../../../../../CVS-gcc/gcc/newlib/libm/math/e_sqrt.c:191 (parallel [ (set (subreg:SI (reg/v:DI 117 [ iw_u ]) 4) (lshiftrt:SI (reg/v:SI 61 [ q1 ]) (const_int 1 [0x1]))) (clobber (scratch:HI)) ]) 129 {*lshrsi3_const1} (insn_list 468 (nil)) (expr_list:REG_DEAD (reg/v:SI 61 [ q1 ]) (expr_list:REG_UNUSED (scratch:HI) (nil)))) ../../../../../../CVS-gcc/gcc/newlib/libm/math/e_sqrt.c:193: confused by earlier errors, bailing out
Created attachment 5758 [details] e_sqrt.i
It seems to work in 3.5.0 (20040319), can you try again.
And m6811-elf-gcc 3.4.0 20040319 worked fine.
So fixed for 3.4.0 so closing.