https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107304
--- Comment #13 from H.J. Lu <hjl.tools at gmail dot com> --- A simple testcase: [hjl@gnu-tgl-3 pr107304]$ cat y1.c typedef struct { unsigned char v __attribute__((aligned(256))) __attribute__ ((vector_size(64 * sizeof(unsigned char)))); } stress_vec_u8_64_t; void __attribute__ ((target ("arch=core2"))) stress_vecshuf_u8_64(stress_vec_u8_64_t *data) { data->v += data->v; } [hjl@gnu-tgl-3 pr107304]$ make y1.s /export/build/gnu/tools-build/gcc-gitlab-debug/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/tools-build/gcc-gitlab-debug/build-x86_64-linux/gcc/ -march=tigerlake -S y1.c during RTL pass: expand y1.c: In function ‘stress_vecshuf_u8_64’: y1.c:8:11: internal compiler error: in convert_move, at expr.cc:219 8 | data->v += data->v; | ~~~~~~~~^~~~~~~~~~ 0xe7c94c convert_move(rtx_def*, rtx_def*, int) /export/gnu/import/git/gitlab/x86-gcc/gcc/expr.cc:219 0xe8105c convert_modes(machine_mode, machine_mode, rtx_def*, int) /export/gnu/import/git/gitlab/x86-gcc/gcc/expr.cc:924 0xe9b586 store_field /export/gnu/import/git/gitlab/x86-gcc/gcc/expr.cc:7780 0xe92c98 expand_assignment(tree_node*, tree_node*, bool) /export/gnu/import/git/gitlab/x86-gcc/gcc/expr.cc:5904 0xcfb349 expand_gimple_stmt_1 /export/gnu/import/git/gitlab/x86-gcc/gcc/cfgexpand.cc:3946 0xcfb73e expand_gimple_stmt /export/gnu/import/git/gitlab/x86-gcc/gcc/cfgexpand.cc:4044 0xd03a0c expand_gimple_basic_block /export/gnu/import/git/gitlab/x86-gcc/gcc/cfgexpand.cc:6096 0xd05f21 execute /export/gnu/import/git/gitlab/x86-gcc/gcc/cfgexpand.cc:6822 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. make: *** [Makefile:54: y1.s] Error 1 [hjl@gnu-tgl-3 pr107304]$