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

            Bug ID: 59789
           Summary: [4.9 Regression] ICE in in convert_move, at expr.c:333
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: aivchenk at gmail dot com

Android build is currently broken due to this bug:

>gcc expr_ice.c -c   -O2 -fPIC -m32 -march=i686

expr_ice.c:9:13: internal compiler error: in convert_move, at expr.c:333
     __m128i bar  = _mm_set1_epi32(0);
             ^
0x73a66e convert_move(rtx_def*, rtx_def*, int)
        /export/users/aivchenk/src/gcc/gcc/expr.c:333
0x73dae5 store_expr(tree_node*, rtx_def*, int, bool)
        /export/users/aivchenk/src/gcc/gcc/expr.c:5389
0x73fbb9 expand_assignment(tree_node*, tree_node*, bool)
        /export/users/aivchenk/src/gcc/gcc/expr.c:5114
0x65f28d expand_gimple_stmt_1
        /export/users/aivchenk/src/gcc/gcc/cfgexpand.c:3213
0x65f28d expand_gimple_stmt
        /export/users/aivchenk/src/gcc/gcc/cfgexpand.c:3309
0x660f17 expand_gimple_basic_block
        /export/users/aivchenk/src/gcc/gcc/cfgexpand.c:5149
0x6637c9 gimple_expand_cfg
        /export/users/aivchenk/src/gcc/gcc/cfgexpand.c:5715
0x6637c9 execute
        /export/users/aivchenk/src/gcc/gcc/cfgexpand.c:5935
Please submit a full bug report,


>cat expr_ice.c
#include <stdint.h>
#include <emmintrin.h>

typedef void (*func_type)();
extern func_type f;

static void f1()
{
    __m128i bar  = _mm_set1_epi32(0);
    _mm_storel_epi64(&bar, bar);
}


void foo(void)
{
  f = f1;
}

Reply via email to