At revision 138355 the compiler configured with RTL checking fails to bootstrap
on i586-suse-linux with:

/home/eric/build/gcc/native32/./gcc/xgcc -B/home/eric/build/gcc/native32/./gcc/
-B/home/eric/install/gcc/i586-suse-linux/bin/
-B/home/eric/install/gcc/i586-suse-linux/lib/ -isystem
/home/eric/install/gcc/i586-suse-linux/include -isystem
/home/eric/install/gcc/i586-suse-linux/sys-include -g -O2 -O2  -g -O2 -DIN_GCC 
 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../.././gcc
-I/home/eric/svn/gcc/libgcc -I/home/eric/svn/gcc/libgcc/.
-I/home/eric/svn/gcc/libgcc/../gcc -I/home/eric/svn/gcc/libgcc/../include
-I/home/eric/svn/gcc/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT
-DHAVE_CC_TLS -DUSE_TLS -o crtfastmath.o -MT crtfastmath.o -MD -MP -MF
crtfastmath.dep -msse -minline-all-stringops -c \
        /home/eric/svn/gcc/libgcc/../gcc/config/i386/crtfastmath.c
{ /home/eric/build/gcc/native32/./gcc/nm -pg  _muldi3_s.o _negdi2_s.o
_lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o
_clear_cache_s.o _enable_execute_stack_s.o _trampoline_s.o __main_s.o
_absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o
_mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o
_ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o
_popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o
_paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o
_muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o
_divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o
_fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o
_fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o
_floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o
_udivdi3_s.o _umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o addtf3_s.o
divtf3_s.o eqtf2_s.o getf2_s.o letf2_s.o multf3_s.o negtf2_s.o subtf3_s.o
unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o
fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o extendsftf2_s.o
extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o
tf-signs_s.o unwind-dw2_s.o unwind-dw2-fde-glibc_s.o unwind-sjlj_s.o
gthr-gnat_s.o unwind-c_s.o emutls_s.o; echo %%; \
          cat /home/eric/svn/gcc/libgcc/../gcc/libgcc-std.ver
/home/eric/svn/gcc/libgcc/../gcc/config/i386/libgcc-glibc.ver  \
            | sed -e '/^[       ]*#/d' \
                  -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' \
            | /home/eric/build/gcc/native32/./gcc/xgcc
-B/home/eric/build/gcc/native32/./gcc/
-B/home/eric/install/gcc/i586-suse-linux/bin/
-B/home/eric/install/gcc/i586-suse-linux/lib/ -isystem
/home/eric/install/gcc/i586-suse-linux/include -isystem
/home/eric/install/gcc/i586-suse-linux/sys-include -g -O2 -O2  -g -O2 -DIN_GCC 
 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../.././gcc
-I/home/eric/svn/gcc/libgcc -I/home/eric/svn/gcc/libgcc/.
-I/home/eric/svn/gcc/libgcc/../gcc -I/home/eric/svn/gcc/libgcc/../include
-I/home/eric/svn/gcc/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT
-DHAVE_CC_TLS -DUSE_TLS -E -xassembler-with-cpp -; \
        } | gawk -f /home/eric/svn/gcc/libgcc/../gcc/mkmap-symver.awk   >
tmp-libgcc.map
/home/eric/svn/gcc/libgcc/../gcc/config/i386/crtfastmath.c: In function
'set_fast_math':
/home/eric/svn/gcc/libgcc/../gcc/config/i386/crtfastmath.c:99: internal
compiler error: RTL check: expected code 'reg', have 'mem' in rhs_regno, at
rtl.h:1005
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[3]: *** [crtfastmath.o] Error 1
make[3]: *** Waiting for unfinished jobs....

Starting program: /home/eric/build/gcc/native32/gcc/cc1 crtfastmath.i -O2 -msse
-minline-all-stringops -mtune=i586 -g
warning: Lowest section in system-supplied DSO at 0xffffe000 is .hash at
ffffe0b4
 __get_cpuid_max __get_cpuid set_fast_math
Analyzing compilation unit
Performing interprocedural optimizations
 <visibility> <early_local_cleanups> <summary generate> <inline> <static-var>
<pure-const>Assembling functions:
 set_fast_math
Breakpoint 2, internal_error (
    gmsgid=0x91fd2f4 "RTL check: expected code '%s', have '%s' in %s, at
%s:%d") at /home/eric/svn/gcc/gcc/diagnostic.c:633
633       va_start (ap, gmsgid);
(gdb) bt
#0  internal_error (
    gmsgid=0x91fd2f4 "RTL check: expected code '%s', have '%s' in %s, at
%s:%d") at /home/eric/svn/gcc/gcc/diagnostic.c:633
#1  0x0855aeae in rtl_check_failed_code1 (r=0xf7dfbeb8, code=REG,
    file=0x91c9ce1 "/home/eric/svn/gcc/gcc/rtl.h", line=1005,
    func=0x91c9cd7 "rhs_regno") at /home/eric/svn/gcc/gcc/rtl.c:513
#2  0x08208e28 in rhs_regno (x=0xf7dfbeb8) at /home/eric/svn/gcc/gcc/rtl.h:1005
#3  0x0820f99b in dwarf2out_frame_debug_expr (expr=0xf7dfbed0,
    label=0x9347603 "*.LCFI2") at /home/eric/svn/gcc/gcc/dwarf2out.c:2030
#4  0x082103c6 in dwarf2out_frame_debug (insn=0xf7dfbed0, after_p=1 '\001')
    at /home/eric/svn/gcc/gcc/dwarf2out.c:2185
#5  0x082ce611 in final_scan_insn (insn=0xf7df484c, file=0x9380148,
    optimize=2, nopeepholes=0, seen=0xffffcb90)
    at /home/eric/svn/gcc/gcc/final.c:2666
#6  0x082ca23f in final (first=0xf7d31ec0, file=0x9380148, optimize=2)
    at /home/eric/svn/gcc/gcc/final.c:1694
(gdb) frame 3
#3  0x0820f99b in dwarf2out_frame_debug_expr (expr=0xf7dfbed0,
    label=0x9347603 "*.LCFI2") at /home/eric/svn/gcc/gcc/dwarf2out.c:2030
2030          if (REGNO (src) != STACK_POINTER_REGNUM
(gdb) p debug_rtx(src)
(mem/c:SI (plus:SI (reg:SI 2 cx)
        (const_int -4 [0xfffffffc])) [8 S4 A8])

crtfastmath.i to be attached.  Very likely the stack realignment merge.


-- 
           Summary: Bootstrap broken with RTL checking on i586
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: blocker
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ebotcazou at gcc dot gnu dot org
GCC target triplet: i586-*-*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36980

Reply via email to