https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120447
Bug ID: 120447 Summary: [16 Regression] cpython fails to compile on AArch64 after r16-446-g210d06502f22964c7214586c54f8eb54a6965bfd Product: gcc Version: 16.0 Status: UNCONFIRMED Keywords: aarch64-sve, ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: tnfchris at gcc dot gnu.org CC: jschmitz at gcc dot gnu.org Target Milestone: --- Target: aarch64* cpython is currently ICEing after r16-446-g210d06502f22964c7214586c54f8eb54a6965bfd with -mcpu=neoverse-v2 -Ofast during RTL pass: expand In function '_PyUnicodeWriter_WriteASCIIString', inlined from 'append_charp' at cpython/Python/ast_unparse.c:40:12, inlined from 'append_ast_boolop' at cpython/Python/ast_unparse.c:143:9: cpython/Objects/unicodeobject.c:13197:9: internal compiler error: Segmentation fault 13197 | _PyUnicode_CONVERT_BYTES( | ^ 0x1bdf5fb internal_error(char const*, ...) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/diagnostic-global-context.cc:517 0xd5e8bf crash_signal /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/toplev.cc:321 0xd40644 simplify_context::simplify_subreg(machine_mode, rtx_def*, machine_mode, poly_int<2u, unsigned long>) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/simplify-rtx.cc:8071 0xd43397 simplify_context::simplify_gen_subreg(machine_mode, rtx_def*, machine_mode, poly_int<2u, unsigned long>) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/simplify-rtx.cc:8398 0x98eccb simplify_gen_subreg(machine_mode, rtx_def*, machine_mode, poly_int<2u, unsigned long>) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/rtl.h:3609 0x98eccb force_subreg(machine_mode, rtx_def*, machine_mode, poly_int<2u, unsigned long>) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/explow.cc:755 0x10e3d53 aarch64_emit_load_store_through_mode(rtx_def*, rtx_def*, machine_mode) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/config/aarch64/aarch64.cc:6456 0x1102d57 aarch64_expand_maskloadstore(rtx_def**, machine_mode) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/config/aarch64/aarch64.cc:23617 0x16b157f gen_maskloadvnx4qivnx4bi(rtx_def*, rtx_def*, rtx_def*, rtx_def*) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/config/aarch64/aarch64-sve.md:1315 0xc1d837 maybe_expand_insn(insn_code, unsigned int, expand_operand*) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/optabs.cc:8257 0xc1d837 expand_insn(insn_code, unsigned int, expand_operand*) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/optabs.cc:8288 0xabccb3 expand_partial_load_optab_fn /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/internal-fn.cc:3087 0x9ab8bb expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/expr.cc:11378 0x9bdacf expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/expr.cc:9529 0x9bdacf expand_expr(tree_node*, rtx_def*, machine_mode, expand_modifier) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/expr.h:323 0x9bdacf expand_expr_real_2(separate_ops const*, rtx_def*, machine_mode, expand_modifier) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/expr.cc:9863 0x9c10bf expand_expr_real_gassign(gassign*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/expr.cc:11186 0x9ac8b7 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/expr.cc:11368 0xabca0f expand_normal(tree_node*) /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/expr.h:329 0xabca0f expand_partial_store_optab_fn /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/internal-fn.cc:3129 My guess is the subreg expansion is failing. Working on a reproducer