https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69504

            Bug ID: 69504
           Summary: XMM register variable ICE with vector extensions
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: adam at consulting dot net.nz
  Target Milestone: ---

xmm_register_variable_ICE.c:

#include <stdint.h>
#include <stdio.h>

typedef uint8_t u8x16_t __attribute__ ((vector_size (16)));

int main(void) {
  register u8x16_t u8x16 asm ("xmm0");
  for (int i=0; i<16; ++i) printf("%d\n", u8x16[i]);
  return 0;
}


$ gcc-5 --version
gcc-5 (Debian 5.3.1-7) 5.3.1 20160121
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ gcc-5 -O3 xmm_register_variable_ICE.c 
xmm_register_variable_ICE.c: In function ‘main’:
xmm_register_variable_ICE.c:6:5: internal compiler error: in
expand_expr_addr_expr_1, at expr.c:7736
 int main(void) {
     ^
0x669f89 expand_expr_addr_expr_1
        ../../src/gcc/expr.c:7736
0xd85886 expand_expr_addr_expr
        ../../src/gcc/expr.c:7850
0xd85886 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../src/gcc/expr.c:10724
0xd894e0 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
        ../../src/gcc/expr.c:8018
0xd894e0 expand_expr
        ../../src/gcc/expr.h:254
0xd894e0 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        ../../src/gcc/expr.c:8235
0xce38f7 expand_gimple_stmt_1
        ../../src/gcc/cfgexpand.c:3462
0xce38f7 expand_gimple_stmt
        ../../src/gcc/cfgexpand.c:3522
0xcdcb38 expand_gimple_basic_block
        ../../src/gcc/cfgexpand.c:5534
0xcdcb38 execute
        ../../src/gcc/cfgexpand.c:6152


Also ICEs with latest Debian snapshot:
gcc (Debian 20160105-1) 6.0.0 20160105 (experimental) [trunk revision 232093]

Reply via email to