https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105554
Bug ID: 105554 Summary: ICE: in emit_block_move_hints, at expr.cc:1829 Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: zhenyang.xu at uwaterloo dot ca Target Milestone: --- $ gcc-trunk -v Using built-in specs. COLLECT_GCC=gcc-trunk COLLECT_LTO_WRAPPER=/scratch/software/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/13.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /tmp/tmp.lx931ugYgb-gcc-builder/gcc/configure --enable-languages=c,c++,lto --enable-checking-yes --enable-multiarch --prefix=/scratch/software/gcc-trunk --disable-bootstrap Thread model: posix Supported LTO compression algorithms: zlib gcc version 13.0.0 20220510 (experimental) [master -gbb2921ab8] (GCC) $ cat mutant_133870291_1648466141340.c __attribute__((target_clones("arch=core-avx2", "default"))) a(__attribute__((__vector_size__(4 * sizeof(long)))) long) {} $ gcc-trunk -O3 -g -Wall -Wextra -c mutant_133870291_1648466141340.c mutant_133870291_1648466141340.c:2:1: warning: return type defaults to ‘int’ [-Wimplicit-int] 2 | a(__attribute__((__vector_size__(4 * sizeof(long)))) long) {} | ^ mutant_133870291_1648466141340.c: In function ‘a’: mutant_133870291_1648466141340.c:2:1: note: the ABI for passing parameters with 32-byte alignment has changed in GCC 4.6 mutant_133870291_1648466141340.c:2:61: warning: control reaches end of non-void function [-Wreturn-type] 2 | a(__attribute__((__vector_size__(4 * sizeof(long)))) long) {} | ^ mutant_133870291_1648466141340.c:2:1: warning: AVX vector argument without AVX enabled changes the ABI [-Wpsabi] 2 | a(__attribute__((__vector_size__(4 * sizeof(long)))) long) {} | ^ during RTL pass: expand mutant_133870291_1648466141340.c:2:1: internal compiler error: in emit_block_move_hints, at expr.cc:1829 0x726cd5 emit_block_move_hints(rtx_def*, rtx_def*, rtx_def*, block_op_methods, unsigned int, long, unsigned long, unsigned long, unsigned long, bool, bool*, bool) /tmp/tmp.lx931ugYgb-gcc-builder/gcc/gcc/expr.cc:1829 0xc29395 emit_block_move(rtx_def*, rtx_def*, rtx_def*, block_op_methods) /tmp/tmp.lx931ugYgb-gcc-builder/gcc/gcc/expr.cc:1915 0xc8dc82 assign_parm_setup_block /tmp/tmp.lx931ugYgb-gcc-builder/gcc/gcc/function.cc:3124 0xc8dc82 assign_parms /tmp/tmp.lx931ugYgb-gcc-builder/gcc/gcc/function.cc:3705 0xc8f602 expand_function_start(tree_node*) /tmp/tmp.lx931ugYgb-gcc-builder/gcc/gcc/function.cc:5161 0xafda98 execute /tmp/tmp.lx931ugYgb-gcc-builder/gcc/gcc/cfgexpand.cc:6691 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.