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

--- Comment #1 from Zdenek Sojka <zsojka at seznam dot cz> ---
Similar happens with __builtin_ia32_pmovsqw128mem_mask():

$ cat testcase-min0.i
int foo0_u32_0;
__attribute__((__vector_size__(2 * sizeof(long)))) long long foo0_v128s64_0;
char foo0_ret;
void foo0() {
  __builtin_ia32_pmovsqw128mem_mask(&foo0_u32_0, foo0_v128s64_0, 15);
  foo0_ret = foo0_u32_0;
}
$ x86_64-pc-linux-gnu-gcc -O -mavx512vl testcase-min0.i
during RTL pass: dse1
testcase-min0.i: In function 'foo0':
testcase-min0.i:7:1: internal compiler error: in expand_simple_unop, at
optabs.cc:2585
    7 | }
      | ^
0x2da44be internal_error(char const*, ...)
        /repo/gcc-trunk/gcc/diagnostic-global-context.cc:518
0xe81f93 fancy_abort(char const*, int, char const*)
        /repo/gcc-trunk/gcc/diagnostic.cc:1580
0x80d02f expand_simple_unop(machine_mode, rtx_code, rtx_def*, rtx_def*, int)
        /repo/gcc-trunk/gcc/optabs.cc:2585
0x80d02f expand_simple_unop(machine_mode, rtx_code, rtx_def*, rtx_def*, int)
        /repo/gcc-trunk/gcc/optabs.cc:2581
...

Reply via email to