bebbo / gcc

Bebbo's gcc-6-branch for m68k-amigaos
GNU General Public License v2.0
33 stars 11 forks source link

error: insn does not satisfy its constraints #230

Closed mheyer32 closed 2 months ago

mheyer32 commented 3 months ago

Compiling my ScummVM fork at: https://github.com/mheyer32/scummvm-amigaos3

Configured via ./configure --host=m68k-amigaos --disable-hq-scalers --enable-c++11 --disable-lua --disable-nuked-opl --disable-mt32emu --enable-debug --enable-optimizations --with-amiga-prefix=./bin --disable-engine=mohawk

And built via

make amigaos3dist -j8

yields:

   C++      engines/saga/puzzle.o
    C++      engines/saga/render.o
(insn 559 1018 560 38 (set (mem:HI (plus:SI (mult:SI (reg:SI 1 d1 [228])
                    (const_int 2 [0x2]))
                (mem/f:SI (plus:SI (reg:SI 14 a6)
                        (const_int 56 [0x38])) [30 MEM[(struct MultiTileEntryData * *)this_9(D) + 56B]+0 S4 A16])) [8 _96->offset+0 S2 A16])
        (minus:HI (mem:HI (plus:SI (mult:SI (reg:SI 1 d1 [228])
                        (const_int 2 [0x2]))
                    (reg:SI 14 a6)) [8 _96->offset+0 S2 A16])
            (reg:HI 0 d0 [orig:40 _30 ] [40]))) engines/saga/isomap.cpp:259 164 {subhi3}
     (nil))
engines/saga/isomap.cpp: In member function 'void Saga::IsoMap::loadMulti(const Saga::ByteArray&)':
engines/saga/isomap.cpp:268:1: error: insn does not satisfy its constraints:
 }
 ^
(insn 559 1018 560 38 (set (mem:HI (plus:SI (mult:SI (reg:SI 1 d1 [228])
                    (const_int 2 [0x2]))
                (mem/f:SI (plus:SI (reg:SI 14 a6)
                        (const_int 56 [0x38])) [30 MEM[(struct MultiTileEntryData * *)this_9(D) + 56B]+0 S4 A16])) [8 _96->offset+0 S2 A16])
        (minus:HI (mem:HI (plus:SI (mult:SI (reg:SI 1 d1 [228])
                        (const_int 2 [0x2]))
                    (reg:SI 14 a6)) [8 _96->offset+0 S2 A16])
            (reg:HI 0 d0 [orig:40 _30 ] [40]))) engines/saga/isomap.cpp:259 164 {subhi3}
     (nil))
engines/saga/isomap.cpp:268:1: internal compiler error: in extract_constrain_insn, at recog.c:2199
    C++      engines/saga/resource.o
unrecognized DWARF version in .debug_info at 6
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [Makefile.common:122: engines/saga/isomap.o] Error 1
make: *** Waiting for unfinished jobs....
bebbo commented 3 months ago

try -fno-peephole2

mheyer32 commented 3 months ago

luckily this should be quick to repro for you via

make engines/saga/isomap.o

    C++      engines/saga/isomap.o
Using built-in specs.
COLLECT_GCC=m68k-amigaos-g++
Target: m68k-amigaos
Configured with: /home/matze/amigatoolchain/amiga-gcc/projects/gcc/configure --prefix=/home/matze/amigatoolchain/amiga-gcc-out --target=m68k-amigaos --enable-languages=c,c++,objc, --enable-version-specific-runtime-libs --disable-libssp --disable-nls --with-headers=/home/matze/amigatoolchain/amiga-gcc/projects/newlib-cygwin/newlib/libc/sys/amigaos/include/ --disable-shared --enable-threads=no --with-stage1-ldflags='-dynamic-libgcc -dynamic-libstdc++' --with-boot-ldflags='-dynamic-libgcc -dynamic-libstdc++'
Thread model: single
gcc version 6.5.0b 240508125318 (GCC) 
COLLECT_GCC_OPTIONS='-MMD' '-MF' 'engines/saga/.deps/isomap.d' '-MQ' 'engines/saga/isomap.o' '-MP' '-Wall' '-U' '__STRICT_ANSI__' '-Wextra' '-Wno-unused-parameter' '-Wno-empty-body' '-std=c++11' '-g' '-fvar-tracking-assignments' '-Wpedantic' '-I' './camd-37.1/development/include' '-v' '-noixemul' '-mcpu=68030' '-fno-threadsafe-statics' '-fshort-enums' '-fstack-reuse=all' '-fno-peephole2' '-Ofast' '-Wuninitialized' '-Wno-long-long' '-Wno-multichar' '-Wno-unknown-pragmas' '-Wno-reorder' '-Wpointer-arith' '-Wcast-qual' '-Wshadow' '-Wnon-virtual-dtor' '-Wwrite-strings' '-fno-exceptions' '-fcheck-new' '-D' 'HAVE_CONFIG_H' '-D' 'FORBIDDEN_SYMBOL_ALLOW_ALL' '-D' 'STDCALL=__stdargs' '-D' 'HAVE_CONFIG_H' '-D' '__amigaos3__' '-D' 'REDUCE_MEMORY_USAGE' '-D' 'DISABLE_FANCY_THEMES' '-D' 'GUI_ONLY_FULLSCREEN' '-D' 'REGPARM=__attribute__((regparm(3)))' '-D' 'DATA_PATH="/usr/local/share/scummvm"' '-D' 'PLUGIN_DIRECTORY="/usr/local/lib/scummvm"' '-D' 'ENABLE_SCUMM=STATIC_PLUGIN' '-D' 'ENABLE_SCUMM_7_8' '-D' 'ENABLE_ACCESS=STATIC_PLUGIN' '-D' 'ENABLE_AGI=STATIC_PLUGIN' '-D' 'ENABLE_AGOS=STATIC_PLUGIN' '-D' 'ENABLE_AGOS2' '-D' 'ENABLE_BBVS=STATIC_PLUGIN' '-D' 'ENABLE_CGE=STATIC_PLUGIN' '-D' 'ENABLE_CGE2=STATIC_PLUGIN' '-D' 'ENABLE_CINE=STATIC_PLUGIN' '-D' 'ENABLE_COMPOSER=STATIC_PLUGIN' '-D' 'ENABLE_CRUISE=STATIC_PLUGIN' '-D' 'ENABLE_CRYOMNI3D=STATIC_PLUGIN' '-D' 'ENABLE_VERSAILLES' '-D' 'ENABLE_DRACI=STATIC_PLUGIN' '-D' 'ENABLE_DRASCULA=STATIC_PLUGIN' '-D' 'ENABLE_DREAMWEB=STATIC_PLUGIN' '-D' 'ENABLE_GOB=STATIC_PLUGIN' '-D' 'ENABLE_GROOVIE=STATIC_PLUGIN' '-D' 'ENABLE_HUGO=STATIC_PLUGIN' '-D' 'ENABLE_ILLUSIONS=STATIC_PLUGIN' '-D' 'ENABLE_KYRA=STATIC_PLUGIN' '-D' 'ENABLE_LOL' '-D' 'ENABLE_EOB' '-D' 'ENABLE_LAB=STATIC_PLUGIN' '-D' 'ENABLE_LURE=STATIC_PLUGIN' '-D' 'ENABLE_MADE=STATIC_PLUGIN' '-D' 'ENABLE_MADS=STATIC_PLUGIN' '-D' 'ENABLE_MORTEVIELLE=STATIC_PLUGIN' '-D' 'ENABLE_NEVERHOOD=STATIC_PLUGIN' '-D' 'ENABLE_PARALLACTION=STATIC_PLUGIN' '-D' 'ENABLE_PLUMBERS=STATIC_PLUGIN' '-D' 'ENABLE_PRINCE=STATIC_PLUGIN' '-D' 'ENABLE_QUEEN=STATIC_PLUGIN' '-D' 'ENABLE_SAGA=STATIC_PLUGIN' '-D' 'ENABLE_IHNM' '-D' 'ENABLE_SCI=STATIC_PLUGIN' '-D' 'ENABLE_SCI32' '-D' 'ENABLE_SHERLOCK=STATIC_PLUGIN' '-D' 'ENABLE_SKY=STATIC_PLUGIN' '-D' 'ENABLE_SUPERNOVA=STATIC_PLUGIN' '-D' 'ENABLE_SWORD1=STATIC_PLUGIN' '-D' 'ENABLE_SWORD2=STATIC_PLUGIN' '-D' 'ENABLE_TEENAGENT=STATIC_PLUGIN' '-D' 'ENABLE_TINSEL=STATIC_PLUGIN' '-D' 'ENABLE_TOLTECS=STATIC_PLUGIN' '-D' 'ENABLE_TOON=STATIC_PLUGIN' '-D' 'ENABLE_TOUCHE=STATIC_PLUGIN' '-D' 'ENABLE_TSAGE=STATIC_PLUGIN' '-D' 'ENABLE_TUCKER=STATIC_PLUGIN' '-D' 'ENABLE_VOYEUR=STATIC_PLUGIN' '-D' 'ENABLE_XEEN=STATIC_PLUGIN' '-I' '.' '-I' '.' '-I' './engines' '-c' '-o' 'engines/saga/isomap.o' '-B' '/home/matze/amigatoolchain/amiga-gcc-out/m68k-amigaos/libnix/lib/'
 /home/matze/amigatoolchain/amiga-gcc-out/libexec/gcc/m68k-amigaos/6.5.0b/cc1plus -quiet -v -I ./camd-37.1/development/include -I . -I . -I ./engines -iprefix /home/matze/amigatoolchain/amiga-gcc-out/lib/gcc/m68k-amigaos/6.5.0b/ -MMD engines/saga/isomap.d -MF engines/saga/.deps/isomap.d -MP -MQ engines/saga/isomap.o -isystem /home/matze/amigatoolchain/amiga-gcc-out/include -isystem /home/matze/amigatoolchain/amiga-gcc-out/m68k-amigaos/libnix/include -Dlibnix -D__libnix__ -D__libnix -U __STRICT_ANSI__ -D HAVE_CONFIG_H -D FORBIDDEN_SYMBOL_ALLOW_ALL -D STDCALL=__stdargs -D HAVE_CONFIG_H -D __amigaos3__ -D REDUCE_MEMORY_USAGE -D DISABLE_FANCY_THEMES -D GUI_ONLY_FULLSCREEN -D REGPARM=__attribute__((regparm(3))) -D DATA_PATH="/usr/local/share/scummvm" -D PLUGIN_DIRECTORY="/usr/local/lib/scummvm" -D ENABLE_SCUMM=STATIC_PLUGIN -D ENABLE_SCUMM_7_8 -D ENABLE_ACCESS=STATIC_PLUGIN -D ENABLE_AGI=STATIC_PLUGIN -D ENABLE_AGOS=STATIC_PLUGIN -D ENABLE_AGOS2 -D ENABLE_BBVS=STATIC_PLUGIN -D ENABLE_CGE=STATIC_PLUGIN -D ENABLE_CGE2=STATIC_PLUGIN -D ENABLE_CINE=STATIC_PLUGIN -D ENABLE_COMPOSER=STATIC_PLUGIN -D ENABLE_CRUISE=STATIC_PLUGIN -D ENABLE_CRYOMNI3D=STATIC_PLUGIN -D ENABLE_VERSAILLES -D ENABLE_DRACI=STATIC_PLUGIN -D ENABLE_DRASCULA=STATIC_PLUGIN -D ENABLE_DREAMWEB=STATIC_PLUGIN -D ENABLE_GOB=STATIC_PLUGIN -D ENABLE_GROOVIE=STATIC_PLUGIN -D ENABLE_HUGO=STATIC_PLUGIN -D ENABLE_ILLUSIONS=STATIC_PLUGIN -D ENABLE_KYRA=STATIC_PLUGIN -D ENABLE_LOL -D ENABLE_EOB -D ENABLE_LAB=STATIC_PLUGIN -D ENABLE_LURE=STATIC_PLUGIN -D ENABLE_MADE=STATIC_PLUGIN -D ENABLE_MADS=STATIC_PLUGIN -D ENABLE_MORTEVIELLE=STATIC_PLUGIN -D ENABLE_NEVERHOOD=STATIC_PLUGIN -D ENABLE_PARALLACTION=STATIC_PLUGIN -D ENABLE_PLUMBERS=STATIC_PLUGIN -D ENABLE_PRINCE=STATIC_PLUGIN -D ENABLE_QUEEN=STATIC_PLUGIN -D ENABLE_SAGA=STATIC_PLUGIN -D ENABLE_IHNM -D ENABLE_SCI=STATIC_PLUGIN -D ENABLE_SCI32 -D ENABLE_SHERLOCK=STATIC_PLUGIN -D ENABLE_SKY=STATIC_PLUGIN -D ENABLE_SUPERNOVA=STATIC_PLUGIN -D ENABLE_SWORD1=STATIC_PLUGIN -D ENABLE_SWORD2=STATIC_PLUGIN -D ENABLE_TEENAGENT=STATIC_PLUGIN -D ENABLE_TINSEL=STATIC_PLUGIN -D ENABLE_TOLTECS=STATIC_PLUGIN -D ENABLE_TOON=STATIC_PLUGIN -D ENABLE_TOUCHE=STATIC_PLUGIN -D ENABLE_TSAGE=STATIC_PLUGIN -D ENABLE_TUCKER=STATIC_PLUGIN -D ENABLE_VOYEUR=STATIC_PLUGIN -D ENABLE_XEEN=STATIC_PLUGIN engines/saga/isomap.cpp -quiet -dumpbase isomap.cpp -mcpu=68030 -auxbase-strip engines/saga/isomap.o -g -Ofast -Wall -Wextra -Wno-unused-parameter -Wno-empty-body -Wpedantic -Wuninitialized -Wno-long-long -Wno-multichar -Wno-unknown-pragmas -Wno-reorder -Wpointer-arith -Wcast-qual -Wshadow -Wnon-virtual-dtor -Wwrite-strings -std=c++11 -version -fvar-tracking-assignments -fno-threadsafe-statics -fshort-enums -fstack-reuse=all -fno-peephole2 -fno-exceptions -fcheck-new -o /tmp/ccrFZQer.s
GNU C++11 (GCC) version 6.5.0b 240508125318 (m68k-amigaos)
    compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/home/matze/amigatoolchain/amiga-gcc-out/libexec/gcc/m68k-amigaos/lib/gcc/m68k-amigaos/6.5.0b/include/c++"
ignoring nonexistent directory "/home/matze/amigatoolchain/amiga-gcc-out/libexec/gcc/m68k-amigaos/lib/gcc/m68k-amigaos/6.5.0b/include/c++/m68k-amigaos"
ignoring nonexistent directory "/home/matze/amigatoolchain/amiga-gcc-out/libexec/gcc/m68k-amigaos/lib/gcc/m68k-amigaos/6.5.0b/include/c++/backward"
ignoring nonexistent directory "/home/matze/amigatoolchain/amiga-gcc-out/libexec/gcc/m68k-amigaos/lib/gcc/m68k-amigaos/6.5.0b/include"
ignoring nonexistent directory "/home/matze/amigatoolchain/amiga-gcc-out/libexec/gcc/m68k-amigaos/m68k-amigaos/ndk-include"
ignoring nonexistent directory "/home/matze/amigatoolchain/amiga-gcc-out/libexec/gcc/m68k-amigaos/m68k-amigaos/sys-include"
ignoring nonexistent directory "/home/matze/amigatoolchain/amiga-gcc-out/libexec/gcc/m68k-amigaos/m68k-amigaos/include"
ignoring nonexistent directory "./camd-37.1/development/include"
ignoring duplicate directory "."
#include "..." search starts here:
#include <...> search starts here:
 .
 ./engines
 /home/matze/amigatoolchain/amiga-gcc-out/include
 /home/matze/amigatoolchain/amiga-gcc-out/m68k-amigaos/libnix/include
 /home/matze/amigatoolchain/amiga-gcc-out/lib/gcc/m68k-amigaos/6.5.0b/include/c++
 /home/matze/amigatoolchain/amiga-gcc-out/lib/gcc/m68k-amigaos/6.5.0b/include/c++/m68k-amigaos
 /home/matze/amigatoolchain/amiga-gcc-out/lib/gcc/m68k-amigaos/6.5.0b/include/c++/backward
 /home/matze/amigatoolchain/amiga-gcc-out/lib/gcc/m68k-amigaos/6.5.0b/include
 /home/matze/amigatoolchain/amiga-gcc-out/m68k-amigaos/ndk-include
 /home/matze/amigatoolchain/amiga-gcc-out/m68k-amigaos/sys-include
 /home/matze/amigatoolchain/amiga-gcc-out/m68k-amigaos/include
End of search list.
GNU C++11 (GCC) version 6.5.0b 240508125318 (m68k-amigaos)
    compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 4f73ac852224ac295fc0d3bdfcd73c9a
(insn 559 1018 560 38 (set (mem:HI (plus:SI (mult:SI (reg:SI 1 d1 [228])
                    (const_int 2 [0x2]))
                (mem/f:SI (plus:SI (reg:SI 14 a6)
                        (const_int 56 [0x38])) [30 MEM[(struct MultiTileEntryData * *)this_9(D) + 56B]+0 S4 A16])) [8 _96->offset+0 S2 A16])
        (minus:HI (mem:HI (plus:SI (mult:SI (reg:SI 1 d1 [228])
                        (const_int 2 [0x2]))
                    (reg:SI 14 a6)) [8 _96->offset+0 S2 A16])
            (reg:HI 0 d0 [orig:40 _30 ] [40]))) engines/saga/isomap.cpp:259 164 {subhi3}
     (nil))
engines/saga/isomap.cpp: In member function 'void Saga::IsoMap::loadMulti(const Saga::ByteArray&)':
engines/saga/isomap.cpp:268:1: error: insn does not satisfy its constraints:
 }
 ^
(insn 559 1018 560 38 (set (mem:HI (plus:SI (mult:SI (reg:SI 1 d1 [228])
                    (const_int 2 [0x2]))
                (mem/f:SI (plus:SI (reg:SI 14 a6)
                        (const_int 56 [0x38])) [30 MEM[(struct MultiTileEntryData * *)this_9(D) + 56B]+0 S4 A16])) [8 _96->offset+0 S2 A16])
        (minus:HI (mem:HI (plus:SI (mult:SI (reg:SI 1 d1 [228])
                        (const_int 2 [0x2]))
                    (reg:SI 14 a6)) [8 _96->offset+0 S2 A16])
            (reg:HI 0 d0 [orig:40 _30 ] [40]))) engines/saga/isomap.cpp:259 164 {subhi3}
     (nil))
engines/saga/isomap.cpp:268:1: internal compiler error: in extract_constrain_insn, at recog.c:2199
unrecognized DWARF version in .debug_info at 6
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [Makefile.common:122: engines/saga/isomap.o] Error 1
bebbo commented 3 months ago

please add -fno-double-indirect to your build options. ... guess I'll discard that feature...

bebbo commented 3 months ago

double-indirect is now off per default. Your project should build again!