When compiling attached file with "-march=iwmmxt -mtune=iwmmxt -O -fno-omit-frame-pointer", then following error appears on line "score= sqr - ((diff*(int64_t)diff)>>(level+3))": svq1enc.c: In function 'encode_block': svq1enc.c:265: error: insn does not satisfy its constraints: (insn 1636 1634 334 22 (set (reg:SI 43 wcgr0) (mem/c:SI (plus:SI (reg/f:SI 11 fp) (const_int -3888 [0xfffffffffffff0d0])) [0 D.8214+0 S4 A32])) 407 {*iwmmxt_movsi_insn} (nil) (nil)) svq1enc.c:265: internal compiler error: in reload_cse_simplify_operands, at postreload.c:392 When compiling without -fno-omit-frame-pointer, everything works correctly. Using built-in specs. Target: arm-angstrom-linux-gnueabi Configured with: /OE/build/tmp/work/armv5te-angstrom-linux-gnueabi/gcc-cross-4.2.4-r3/gcc-4.2.4/configure --build=x86_64-linux --host=x86_64-linux --target=arm-angstrom-linux-gnueabi --prefix=/OE/build/tmp/cross/armv5te --exec_prefix=/OE/build/tmp/cross/armv5te --bindir=/OE/build/tmp/cross/armv5te/bin --sbindir=/OE/build/tmp/cross/armv5te/bin --libexecdir=/OE/build/tmp/cross/armv5te/libexec --datadir=/OE/build/tmp/cross/armv5te/share --sysconfdir=/OE/build/tmp/cross/armv5te/etc --sharedstatedir=/OE/build/tmp/cross/armv5te/com --localstatedir=/OE/build/tmp/cross/armv5te/var --libdir=/OE/build/tmp/cross/armv5te/lib --includedir=/OE/build/tmp/cross/armv5te/include --oldincludedir=/OE/build/tmp/cross/armv5te/include --infodir=/OE/build/tmp/cross/armv5te/share/info --mandir=/OE/build/tmp/cross/armv5te/share/man --with-gnu-ld --enable-shared --enable-target-optspace --enable-languages=c,c++,objc,fortran --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=arm-angstrom-linux-gnueabi- --enable-libssp --disable-bootstrap --enable-libgomp --disable-libmudflap --with-float=soft --with-local-prefix=/OE/build/tmp/staging/armv5te-angstrom-linux-gnueabi/usr --with-gxx-include-dir=/OE/build/tmp/staging/armv5te-angstrom-linux-gnueabi//usr/include/c++ --with-sysroot=/OE/build/tmp/staging/armv5te-angstrom-linux-gnueabi --with-build-sysroot=/OE/build/tmp/staging/armv5te-angstrom-linux-gnueabi --disable-libunwind-exceptions --with-mpfr=/OE/build/tmp/staging/x86_64-linux/usr --enable-__cxa_atexit Thread model: posix gcc version 4.2.4
Created attachment 16606 [details] svq1enc_e.c
Can you check this with a later compiler. 4.2.x is closed. Works for me with current trunk.
(In reply to comment #2) > Can you check this with a later compiler. 4.2.x is closed. Works for me with > current trunk. > Just encountered similar problem while cross compiling gcc 4.4.0 with glibc 2.9. (Using crosstool-NG). The error messages: [ALL ] arm-iwmmxt-linux-gnueabi-gcc ../sysdeps/unix/sysv/linux/libc_fatal.c -c -std=gnu99 -fgnu89-inline -O -Wall -Winline -Wwrite-strings -finline-limit=10000 -fmerge-all-constants -mabi=aapcs-linux -march=iwmmxt -mlittle-endian -msoft-float -Wstrict-prototypes -I../include -I/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc/libio -I/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/eabi/nptl -I../ports/sysdeps/unix/sysv/linux/arm/eabi -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/eabi -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/gcc-core-shared/lib/gcc/arm-iwmmxt-linux-gnueabi/4.4.0/include -isystem /home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/gcc-core-shared/lib/gcc/arm-iwmmxt-linux-gnueabi/4.4.0/include-fixed -isystem /home/jsji/x-tools/arm-iwmmxt-linux-gnueabi/arm-iwmmxt-linux-gnueabi//sys-root/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -D_IO_MTSAFE_IO -o /home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc/libio/libc_fatal.o -MD -MP -MF /home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc/libio/libc_fatal.o.dt -MT /home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc/libio/libc_fatal.o [ALL ] ../sysdeps/unix/sysv/linux/libc_fatal.c: In function '__libc_message': [ERROR] ../sysdeps/unix/sysv/linux/libc_fatal.c:172: error: insn does not satisfy its constraints: [ALL ] (insn 459 154 155 19 ../sysdeps/unix/sysv/linux/libc_fatal.c:106 (set (reg:SI 43 wcgr0) [ALL ] (mem/c:SI (plus:SI (reg/f:SI 11 fp) [ALL ] (const_int -1324 [0xfffffffffffffad4])) [0 %sfp+-1292 S4 A32])) 441 {*iwmmxt_movsi_insn} (nil)) [ERROR] ../sysdeps/unix/sysv/linux/libc_fatal.c:172: internal compiler error: in reload_cse_simplify_operands, at postreload.c:396 [ALL ] Please submit a full bug report, [ALL ] with preprocessed source if appropriate. [ALL ] See <http://gcc.gnu.org/bugs.html> for instructions. [ERROR] make[3]: *** [/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc/libio/libc_fatal.o] Error 1 [ALL ] make[3]: Leaving directory `/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/src/glibc-cvs-2.9/libio' [ERROR] make[2]: *** [libio/subdir_lib] Error 2 [ALL ] make[2]: Leaving directory `/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/src/glibc-cvs-2.9' [ERROR] make[1]: *** [all] Error 2 [ALL ] make[1]: Leaving directory `/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc'
(In reply to comment #3) > (In reply to comment #2) > > Can you check this with a later compiler. 4.2.x is closed. Works for me with > > current trunk. > > > Just encountered similar problem while cross compiling gcc 4.4.0 with glibc > 2.9. > (Using crosstool-NG).> > The error messages: > > [ALL ] arm-iwmmxt-linux-gnueabi-gcc > ../sysdeps/unix/sysv/linux/libc_fatal.c -c -std=gnu99 -fgnu89-inline -O -Wall > -Winline -Wwrite-strings -finline-limit=10000 -fmerge-all-constants > -mabi=aapcs-linux -march=iwmmxt -mlittle-endian -msoft-float > -Wstrict-prototypes -I../include > -I/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc/libio > -I/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc > -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/eabi/nptl > -I../ports/sysdeps/unix/sysv/linux/arm/eabi > -I../ports/sysdeps/unix/sysv/linux/arm/nptl > -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux > -I../nptl/sysdeps/pthread -I../sysdeps/pthread > -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux > -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman > -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv > -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix > -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix > -I../ports/sysdeps/arm/eabi -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm > -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 > -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf > -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc > -isystem > /home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/gcc-core-shared/lib/gcc/arm-iwmmxt-linux-gnueabi/4.4.0/include > -isystem > /home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/gcc-core-shared/lib/gcc/arm-iwmmxt-linux-gnueabi/4.4.0/include-fixed > -isystem > /home/jsji/x-tools/arm-iwmmxt-linux-gnueabi/arm-iwmmxt-linux-gnueabi//sys-root/usr/include > -D_LIBC_REENTRANT -include ../include/libc-symbols.h -D_IO_MTSAFE_IO -o > /home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc/libio/libc_fatal.o > -MD -MP -MF > /home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc/libio/libc_fatal.o.dt > -MT > /home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc/libio/libc_fatal.o > [ALL ] ../sysdeps/unix/sysv/linux/libc_fatal.c: In function > '__libc_message': > [ERROR] ../sysdeps/unix/sysv/linux/libc_fatal.c:172: error: insn does not > satisfy its constraints: > [ALL ] (insn 459 154 155 19 ../sysdeps/unix/sysv/linux/libc_fatal.c:106 > (set (reg:SI 43 wcgr0) > [ALL ] (mem/c:SI (plus:SI (reg/f:SI 11 fp) > [ALL ] (const_int -1324 [0xfffffffffffffad4])) [0 > %sfp+-1292 S4 A32])) 441 {*iwmmxt_movsi_insn} (nil)) > [ERROR] ../sysdeps/unix/sysv/linux/libc_fatal.c:172: internal compiler > error: in reload_cse_simplify_operands, at postreload.c:396 > [ALL ] Please submit a full bug report, > [ALL ] with preprocessed source if appropriate. > [ALL ] See <http://gcc.gnu.org/bugs.html> for instructions. > [ERROR] make[3]: *** > [/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc/libio/libc_fatal.o] > Error 1 > [ALL ] make[3]: Leaving directory > `/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/src/glibc-cvs-2.9/libio' > [ERROR] make[2]: *** [libio/subdir_lib] Error 2 > [ALL ] make[2]: Leaving directory > `/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/src/glibc-cvs-2.9' > [ERROR] make[1]: *** [all] Error 2 > [ALL ] make[1]: Leaving directory > `/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/build-libc' > Can you give a pre-processed file for further investigations ? Your report is incomplete without it and hence I'll have to retain the waiting status on this one.
Created attachment 18115 [details] Preprocessed libc_fatal.c
(In reply to comment #4) > Can you give a pre-processed file for further investigations ? Your report is > incomplete without it and hence I'll have to retain the waiting status on this > one. > Please find the preprocessed file in libc_fatal.i, and also the cross-compiled shared compiler version: arm-iwmmxt-linux-gnueabi-gcc -v Using built-in specs. Target: arm-iwmmxt-linux-gnueabi Configured with: /home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/src/gcc-4.4.0/configure --build=i486-build_pc-linux-gnu --host=i486-build_pc-linux-gnu --target=arm-iwmmxt-linux-gnueabi --prefix=/home/jsji/arm-iwmmxt-linux-4.4-ctng/targets/arm-iwmmxt-linux-gnueabi/build/gcc-core-shared --with-local-prefix=/home/jsji/x-tools/arm-iwmmxt-linux-gnueabi/arm-iwmmxt-linux-gnueabi//sys-root --disable-multilib --with-sysroot=/home/jsji/x-tools/arm-iwmmxt-linux-gnueabi/arm-iwmmxt-linux-gnueabi//sys-root --enable-shared --with-arch=iwmmxt --with-tune=iwmmxt --with-float=soft --with-gmp=/home/jsji/x-tools/arm-iwmmxt-linux-gnueabi --with-mpfr=/home/jsji/x-tools/arm-iwmmxt-linux-gnueabi --enable-__cxa_atexit --disable-nls --enable-symvers=gnu --enable-languages=c --enable-target-optspace Thread model: posix gcc version 4.4.0 (GCC)
ICE has been verified with gcc 4.4.2. Some analysis have been done in bug #40836 (comments 20 + 21): the WLDRW operation which would be required for this insn allows only 10 (effective 8) bit but not 12 bit for the immediate offset. E.g. the '-3888' in WLDRW wcgr0, [fp, #-3888] is not possible.
iwmmxt support has been deprecated in GCC 13 .