Subject: Compiler errors with -m3
To: None <port-sh3@netbsd.org>
From: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
List: port-sh3
Date: 05/24/2003 17:07:58
I tried to build the hpcsh world with -m3.

With -Os it fails here:

/usr/nb/tools/bin/shle--netbsdelf-c++ -pipe -m3 -Os   -Werror -nostdinc++ -isystem /usr/nb/distrib/hpcsh/usr/include/g++  -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_DIR_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DHAVE_MATH_H=1 -DRET_TYPE_SRAND_IS_VOID=1 -DHAVE_SYS_NERR=1 -DHAVE_SYS_ERRLIST=1 -DHAVE_CC_LIMITS_H=1 -DRETSIGTYPE=void -DHAVE_STRUCT_EXCEPTION=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_FMOD=1 -DHAVE_STRTOL=1 -DHAVE_GETCWD=1 -DHAVE_STRERROR=1 -DHAVE_PUTENV=1 -DHAVE_RENAME=1 -DHAVE_MKSTEMP=1 -DHAVE_STRCASECMP=1 -DHAVE_STRNCASECMP=1 -DHAVE_STRSEP=1 -DHAVE_STRDUP=1 -DSYS_SIGLIST_DECLARED=1 -I/nb/src/gnu/usr.bin/groff/grn/../include -I/nb/src/gnu/dist/groff/src/include -I/nb/src/gnu/dist/groff/src/preproc/grn -nostdinc -isystem /usr/nb/distrib/hpcsh/usr/include  -c /nb/src/gnu/dist/groff/src/preproc/grn/hdb.cc
/nb/src/gnu/dist/groff/src/preproc/grn/hdb.cc: In function `struct ELT * DBRead(FILE *)':
/nb/src/gnu/dist/groff/src/preproc/grn/hdb.cc:191: fixed or forbidden register 0 (r0) was spilled for class R0_REGS.
/nb/src/gnu/dist/groff/src/preproc/grn/hdb.cc:191: This may be due to a compiler bug or to impossible asm
/nb/src/gnu/dist/groff/src/preproc/grn/hdb.cc:191: statements or clauses.
/nb/src/gnu/dist/groff/src/preproc/grn/hdb.cc:191: This is the instruction:
(insn 142 1122 144 (set (reg/i:SI 0 r0)
        (mem/f:SI (plus:SI (reg:SI 14 r14)
                (reg:SI 12 r12)) 0)) 122 {movsi_i} (nil)
    (expr_list:REG_DEAD (reg:SI 12 r12)
        (nil)))
*** Error code 1

Stop.
nbmake: stopped in /nb/src/gnu/usr.bin/groff/grn
*** Error code 1



With -O it goes further and fails in:

/usr/nb/tools/bin/shle--netbsdelf-gcc -pipe -m3 -O  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-sign-compare -Wno-uninitialized -Wno-parentheses -Werror  -I/nb/src/usr.bin/vi/build -I/nb/src/usr.bin/vi/build/../include -DGTAGS -nostdinc -isystem /usr/nb/distrib/hpcsh/usr/include  -c /nb/src/usr.bin/vi/build/../vi/vs_line.c
/nb/src/usr.bin/vi/build/../vi/vs_line.c: In function `vs_line':
/nb/src/usr.bin/vi/build/../vi/vs_line.c:477: internal error--unrecognizable insn:
(insn 4054 1872 1873 (set (mem:SI (plus:SI (plus:SI (reg:SI 14 r14)
                    (const_int 124 [0x7c]))
                (const_int 32 [0x20])) 0)
        (reg:SI 2 r2)) -1 (nil)
    (nil))
*** Error code 1

Stop.
nbmake: stopped in /nb/src/usr.bin/vi/build
*** Error code 1

Shall I send-pr these or wait and test with the hopefully forthcoming
gcc 3.3?

SY, Uwe
-- 
uwe@ptc.spbu.ru                         |       Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/            |       Ist zu Grunde gehen