https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109636
Bug ID: 109636 Summary: [14 Regression] ICE: in paradoxical_subreg_p, at rtl.h:3205 with -O -mcpu=a64fx Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz Target Milestone: --- Host: x86_64-pc-linux-gnu Target: aarch64-unknown-linux-gnu Created attachment 54927 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54927&action=edit reduced testcase Compiler output: $ aarch64-unknown-linux-gnu-gcc -O -mcpu=a64fx testcase.c during RTL pass: expand testcase.c: In function 'foo': testcase.c:9:3: internal compiler error: in paradoxical_subreg_p, at rtl.h:3205 9 | bar (__builtin_shuffle (v, __builtin_shufflevector ((V){}, w, 4, 5) / v)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0x7e83b3 paradoxical_subreg_p(machine_mode, machine_mode) /repo/gcc-trunk/gcc/rtl.h:3205 0x7f1871 paradoxical_subreg_p(machine_mode, machine_mode) /repo/gcc-trunk/gcc/simplify-rtx.cc:7459 0x7f1871 simplify_context::simplify_subreg(machine_mode, rtx_def*, machine_mode, poly_int<2u, unsigned long>) /repo/gcc-trunk/gcc/simplify-rtx.cc:7533 0x1193a21 simplify_context::simplify_gen_subreg(machine_mode, rtx_def*, machine_mode, poly_int<2u, unsigned long>) /repo/gcc-trunk/gcc/simplify-rtx.cc:7748 0x1af64c4 simplify_gen_subreg(machine_mode, rtx_def*, machine_mode, poly_int<2u, unsigned long>) /repo/gcc-trunk/gcc/rtl.h:3542 0x1af64c4 gen_udivv2di3(rtx_def*, rtx_def*, rtx_def*) /repo/gcc-trunk/gcc/config/aarch64/aarch64-simd.md:2910 0x104e9da expand_binop_directly /repo/gcc-trunk/gcc/optabs.cc:1442 0x104c481 expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) /repo/gcc-trunk/gcc/optabs.cc:1529 0x104f063 sign_expand_binop(machine_mode, optab_tag, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) /repo/gcc-trunk/gcc/optabs.cc:2317 0xd92811 expand_divmod(int, tree_code, machine_mode, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) /repo/gcc-trunk/gcc/expmed.cc:5268 0xd9f3e9 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /repo/gcc-trunk/gcc/expr.cc:9863 0xda6218 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /repo/gcc-trunk/gcc/expr.cc:10800 0xda0317 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /repo/gcc-trunk/gcc/expr.cc:8999 0xda0317 expand_normal(tree_node*) /repo/gcc-trunk/gcc/expr.h:316 0xda0317 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /repo/gcc-trunk/gcc/expr.cc:10453 0xda6218 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /repo/gcc-trunk/gcc/expr.cc:10800 0xc4d218 expand_normal(tree_node*) /repo/gcc-trunk/gcc/expr.h:316 0xc4d218 precompute_register_parameters /repo/gcc-trunk/gcc/calls.cc:988 0xc53ca0 expand_call(tree_node*, rtx_def*, int) /repo/gcc-trunk/gcc/calls.cc:3416 0xda4c51 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /repo/gcc-trunk/gcc/expr.cc:11867 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. $ aarch64-unknown-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-trunk/binary-latest-aarch64/bin/aarch64-unknown-linux-gnu-gcc COLLECT_LTO_WRAPPER=/mnt/main-repo/repo/gcc-trunk/binary-trunk-r14-268-20230426091040-ge02f68df385-checking-yes-rtl-df-extra-aarch64/bin/../libexec/gcc/aarch64-unknown-linux-gnu/14.0.0/lto-wrapper Target: aarch64-unknown-linux-gnu Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++ --enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra --with-cloog --with-ppl --with-isl --with-sysroot=/usr/aarch64-unknown-linux-gnu --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-unknown-linux-gnu --with-ld=/usr/bin/aarch64-unknown-linux-gnu-ld --with-as=/usr/bin/aarch64-unknown-linux-gnu-as --disable-libstdcxx-pch --prefix=/repo/gcc-trunk//binary-trunk-r14-268-20230426091040-ge02f68df385-checking-yes-rtl-df-extra-aarch64 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 14.0.0 20230426 (experimental) (GCC)