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

Reply via email to