This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug sanitizer/81224] New: ICE in -fsanitize=address w/ a register variable of a vector type
- From: "marxin at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 27 Jun 2017 09:13:26 +0000
- Subject: [Bug sanitizer/81224] New: ICE in -fsanitize=address w/ a register variable of a vector type
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81224
Bug ID: 81224
Summary: ICE in -fsanitize=address w/ a register variable of a
vector type
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: sanitizer
Assignee: marxin at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org
Target Milestone: ---
Starting from when -fsanitize=address was introduced, we ICE on:
$ cat ice.i
int a;
int
b ()
{
register __attribute__ ((__vector_size__ (sizeof (int)))) int c asm("xmm0");
return c[a];
}
$ gcc ice.i -c -fsanitize=address
during RTL pass: expand
ice.i: In function ‘b’:
ice.i:6:11: internal compiler error: in expand_expr_addr_expr_1, at expr.c:7792
return c[a];
~^~~
0x859acf expand_expr_addr_expr_1
../../gcc/expr.c:7792
0x859418 expand_expr_addr_expr_1
../../gcc/expr.c:7830
0x84cb5a expand_expr_addr_expr
../../gcc/expr.c:7905
0x84cb5a expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.c:11058
0x85a2f3 store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool,
tree_node*)
../../gcc/expr.c:5554
0x85baf7 expand_assignment(tree_node*, tree_node*, bool)
../../gcc/expr.c:5323
0x73af78 expand_gimple_stmt_1
../../gcc/cfgexpand.c:3643
0x73af78 expand_gimple_stmt
../../gcc/cfgexpand.c:3741
0x73cfa7 expand_gimple_basic_block
../../gcc/cfgexpand.c:5745
0x742c86 execute
../../gcc/cfgexpand.c:6354
I'll take a look.