User account creation filtered due to spam.

Bug 80700 - [8 Regression] ICE: Bus error (on SPE target)
Summary: [8 Regression] ICE: Bus error (on SPE target)
Status: UNCONFIRMED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 8.0
: P3 normal
Target Milestone: 8.0
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2017-05-10 08:21 UTC by Arseny Solokha
Modified: 2017-05-10 09:07 UTC (History)
0 users

See Also:
Host:
Target: powerpc-e500v2-linux-gnuspe
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arseny Solokha 2017-05-10 08:21:41 UTC
gcc-8.0.0-alpha20170507 snapshot ICEs when compiling the following snippet, reduced from the original testcase in PR71012, w/ -O2, -O3, or -Ofast:

typedef char k6 __attribute__ ((vector_size(16)));
typedef int tp __attribute__ ((vector_size(16)));

k6 ap;
tp r3;

void
i5 (k6 x5, k6 nr, int gx)
{
  tp cl = { 1, 1 };

  while (gx < 1)
    {
      ap = x5;
      r3 += gx;
      r3 *= cl;
      ap <<= 1;
      x5 <<= nr;
      ++gx;
    }
}

% powerpc-e500v2-linux-gnuspe-gcc-8.0.0-alpha20170507 -w -O2 -c fiwreogz.c 
fiwreogz.c: In function 'i5':
fiwreogz.c:21:1: internal compiler error: Bus error
 }
 ^
0xc49b79 crash_signal
	/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/toplev.c:337
0xb9161c constrain_operands(int, unsigned long)
	/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/recog.c:2583
0xb92204 extract_constrain_insn(rtx_insn*)
	/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/recog.c:2212
0xa840df check_rtl
	/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/lra.c:2128
0xa88d07 lra(_IO_FILE*)
	/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/lra.c:2546
0xa34e30 do_reload
	/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/ira.c:5472
0xa34e30 execute
	/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/ira.c:5656

The snippet builds fine w/ -mno-spe.
Comment 1 Arseny Solokha 2017-05-10 08:23:41 UTC
==15430== Invalid read of size 1
==15430==    at 0xB9161C: constrain_operands(int, unsigned long) (recog.c:2583)
==15430==    by 0xB92204: extract_constrain_insn(rtx_insn*) (recog.c:2212)
==15430==    by 0xA840DF: check_rtl(bool) (lra.c:2128)
==15430==    by 0xA88D07: lra(_IO_FILE*) (lra.c:2546)
==15430==    by 0xA34E30: do_reload (ira.c:5472)
==15430==    by 0xA34E30: (anonymous namespace)::pass_reload::execute(function*) (ira.c:5656)
==15430==    by 0xB49315: execute_one_pass(opt_pass*) (passes.c:2467)
==15430==    by 0xB49D07: execute_pass_list_1(opt_pass*) (passes.c:2556)
==15430==    by 0xB49D19: execute_pass_list_1(opt_pass*) (passes.c:2557)
==15430==    by 0xB49DAB: execute_pass_list(function*, opt_pass*) (passes.c:2567)
==15430==    by 0x793BE9: cgraph_node::expand() (cgraphunit.c:2042)
==15430==    by 0x7958DB: expand_all_functions (cgraphunit.c:2178)
==15430==    by 0x7958DB: symbol_table::compile() (cgraphunit.c:2535)
==15430==    by 0x797F52: symbol_table::finalize_compilation_unit() (cgraphunit.c:2625)
==15430==  Address 0xafafaf010000028a is not stack'd, malloc'd or (recently) free'd