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

            Bug ID: 80019
           Summary: ICE in ix86_vector_duplicate_value, at
                    config/i386/i386.c:42584
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: kyukhin at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-linux-gnu
            Target: x86_64-linux-gnu
             Build: x86_64-linux-gnu

Starting from r244263 (when -mavx512vpopcntdq option was introduced), we ICE
on:

$ cat ice.c
typedef __attribute__ ((vector_size (16))) char a;
a b, c;
void
d ()
{
  int e;
  b = c << e;
}

$ gcc -mavx512vpopcntdq -mxop ice.c -c
ice.c: In function ā€˜dā€™:
ice.c:7:9: internal compiler error: in ix86_vector_duplicate_value, at
config/i386/i386.c:42584
   b = c << e;
       ~~^~~~
0x13741b2 ix86_vector_duplicate_value
        ../../gcc/config/i386/i386.c:42584
0x1374509 ix86_expand_vector_init_duplicate
        ../../gcc/config/i386/i386.c:42675
0x13766fe ix86_expand_vector_init(bool, rtx_def*, rtx_def*)
        ../../gcc/config/i386/i386.c:43502
0x1674cc0 gen_vec_initv16qi(rtx_def*, rtx_def*)
        ../../gcc/config/i386/sse.md:6894
0x16a2fb6 gen_ashlv16qi3(rtx_def*, rtx_def*, rtx_def*)
        ../../gcc/config/i386/sse.md:16922
0xd1ee05 insn_gen_fn::operator()(rtx_def*, rtx_def*, rtx_def*) const
        ../../gcc/recog.h:302
0xdbbffc maybe_gen_insn(insn_code, unsigned int, expand_operand*)
        ../../gcc/optabs.c:7045
0xdacef7 expand_binop_directly
        ../../gcc/optabs.c:1071
0xdad21e expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*,
int, optab_methods)
        ../../gcc/optabs.c:1151
0xab25e2 expand_shift_1
        ../../gcc/expmed.c:2445
0xab273e expand_variable_shift(tree_code, machine_mode, rtx_def*, tree_node*,
rtx_def*, int)
        ../../gcc/expmed.c:2495
0xadbfad expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        ../../gcc/expr.c:9207
0x975b39 expand_gimple_stmt_1
        ../../gcc/cfgexpand.c:3676
0x975d96 expand_gimple_stmt
        ../../gcc/cfgexpand.c:3737
0x97d5f6 expand_gimple_basic_block
        ../../gcc/cfgexpand.c:5744
0x97f0a6 execute
        ../../gcc/cfgexpand.c:6357

Reply via email to