[Bug middle-end/60080] New: gcc.dg/vect/vect-nop-move.c FAILs

ro at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Feb 5 15:28:00 GMT 2014


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

            Bug ID: 60080
           Summary: gcc.dg/vect/vect-nop-move.c FAILs
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
              Host: i386-pc-solaris2.9, i386-pc-solaris2.10
            Target: i386-pc-solaris2.9, i386-pc-solaris2.10
             Build: i386-pc-solaris2.9, i386-pc-solaris2.10

The gcc.dg/vect/vect-nop-move.c FAILs on both Solaris 9 and 10/x86:

FAIL: gcc.dg/vect/vect-nop-move.c (internal compiler error)
FAIL: gcc.dg/vect/vect-nop-move.c (test for excess errors)
WARNING: gcc.dg/vect/vect-nop-move.c compilation failed to produce executable
FAIL: gcc.dg/vect/vect-nop-move.c -flto -ffat-lto-objects (internal compiler
error)
FAIL: gcc.dg/vect/vect-nop-move.c -flto -ffat-lto-objects (test for excess
errors)
WARNING: gcc.dg/vect/vect-nop-move.c -flto -ffat-lto-objects compilation failed
to produce executable

The ICE can be reproduced with

$ cc1 -fpreprocessed vect-nop-move.i -quiet -msse2 -O2
-fdump-rtl-combine-details -o vect-nop-move.s

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
0xfee0646c in strlen () from /lib/libc.so.1
(gdb) where
#0  0xfee0646c in strlen () from /lib/libc.so.1
#1  0xfee61bce in _ndoprnt () from /lib/libc.so.1
#2  0xfee6477e in fprintf () from /lib/libc.so.1
#3  0x085641ea in print_rtx (in_rtx=0xfeaf718c)
    at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:430
#4  0x0856339c in print_rtx (in_rtx=0xfea8a800)
    at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:384
#5  0x0856331f in print_rtx (in_rtx=0xfeadfdd4)
    at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:363
#6  0x0856339c in print_rtx (in_rtx=in_rtx@entry=0xfea9bea8)
    at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:384
#7  0x08564814 in print_rtl_single_with_indent (outf=0x92e8100 <_iob+64>, 
    x=0xfea9bea8, ind=0) at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:836
#8  0x08564873 in print_rtl_single (outf=0x92e8100 <_iob+64>, x=0xfea9bea8)
    at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:818
#9  0x08a7608b in recog_for_combine (pnewpat=pnewpat@entry=0x8047230, 
    insn=insn@entry=0xfeaf6264, pnotes=pnotes@entry=0x8047254)
    at /vol/gcc/src/hg/trunk/local/gcc/combine.c:10579
#10 0x08a879ea in try_combine (i3=i3@entry=0xfeaf6264, i2=<optimized out>, 
    i1=i1@entry=0x0, i0=<optimized out>, new_direct_jump_p=0x8047328, 
    last_combined_insn=0xfeaf6264)
    at /vol/gcc/src/hg/trunk/local/gcc/combine.c:3240
#11 0x08a8c2f4 in combine_instructions (nregs=<optimized out>, 
    f=<optimized out>) at /vol/gcc/src/hg/trunk/local/gcc/combine.c:1256
#12 rest_of_handle_combine ()
    at /vol/gcc/src/hg/trunk/local/gcc/combine.c:13865
#13 (anonymous namespace)::pass_combine::execute (this=0x9316930)
    at /vol/gcc/src/hg/trunk/local/gcc/combine.c:13908
#14 0x0854d8d1 in execute_one_pass (pass=0x9316930)
    at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2229
#15 0x0854db6f in execute_pass_list (pass=<optimized out>)
    at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2282
#16 0x0854db86 in execute_pass_list (pass=<optimized out>)
    at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2283
#17 0x082df681 in expand_function (node=node@entry=0xfea08c7c)
    at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:1774
#18 0x082e1619 in expand_all_functions ()
    at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:1908
#19 compile () at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2252
#20 0x082e1deb in finalize_compilation_unit ()
    at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2329
#21 0x081b4aab in c_write_global_declarations ()
    at /vol/gcc/src/hg/trunk/local/gcc/c/c-decl.c:10401
#22 0x085f346d in compile_file ()
    at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:562
#23 0x085f5526 in do_compile ()
    at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:1914
#24 toplev_main (argc=9, argv=0x8047548)
    at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:1990
#25 0x08d959ab in main (argc=9, argv=0x8047548)
    at /vol/gcc/src/hg/trunk/local/gcc/main.c:36

There's an attempt to print a NULL string.  On Solaris 11, the test works and
in the vect-nop-move.c.201r.combine dump there are many instances of (null),
e.g.

Trying 25 -> 26:
Failed to match this instruction:
(parallel [
        (set (reg:SI 97 [ __eax ])
            (asm_operands:SI ("cpuid
        ") ("=a") 0 [
                    (const_int 0 [0])
                ]
                 [
                    (asm_input:SI ("0") (null):0)
                ]
                 []
/var/gcc/regression/trunk/11-gcc/build/gcc/include/cpuid.h:248))

  Rainer



More information about the Gcc-bugs mailing list