https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103397

            Bug ID: 103397
           Summary: [12 Regression] GCN target '-march=gfx900' libgfortran
                    build broken
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tschwinge at gcc dot gnu.org
                CC: ams at gcc dot gnu.org, jules at gcc dot gnu.org
  Target Milestone: ---
            Target: GCN

GCN target '-march=gfx900' libgfortran build broken:

    [xgcc] [...] -march=gfx900 [...] -c
[...]/source-gcc/libgfortran/runtime/environ.c -o environ.o
    In file included from [...]/source-gcc/libgfortran/runtime/environ.c:29:
    [...]/source-gcc/libgfortran/runtime/environ.c: In function ‘init_integer’:
    [...]/source-gcc/libgfortran/runtime/environ.c:94:19: warning: array
subscript has type ‘char’ [-Wchar-subscripts]
       94 |     if (!isdigit (*q) && (p != q || *q != '-'))
          |                   ^~
    [...]/source-gcc/libgfortran/runtime/environ.c: In function
‘match_integer’:
    [...]/source-gcc/libgfortran/runtime/environ.c:347:19: warning: array
subscript has type ‘char’ [-Wchar-subscripts]
      347 |   while (isdigit (*p))
          |                   ^~
    during RTL pass: pro_and_epilogue
    [...]/source-gcc/libgfortran/runtime/environ.c: In function ‘search_unit’:
    [...]/source-gcc/libgfortran/runtime/environ.c:319:1: internal compiler
error: RTL check: access of elt 4 of vector with last elt 3 in
move_callee_saved_registers, at config/gcn/gcn.c:2821
      319 | }
          | ^
    0x5b8b27 rtvec_check_failed_bounds(rtvec_def const*, int, char const*, int,
char const*)
            [...]/source-gcc/gcc/rtl.c:976
    0x11af5d2 move_callee_saved_registers
            [...]/source-gcc/gcc/config/gcn/gcn.c:2821
    0x11afc2b gcn_expand_prologue()
            [...]/source-gcc/gcc/config/gcn/gcn.c:2939
    0x156b02a gen_prologue()
            [...]/source-gcc/gcc/config/gcn/gcn.md:714
    0x11a3e98 target_gen_prologue
            ./insn-target-def.h:433
    0x9bded7 make_prologue_seq
            [...]/source-gcc/gcc/function.c:5823
    0x9be063 thread_prologue_and_epilogue_insns()
            [...]/source-gcc/gcc/function.c:6041
    0x9beac2 rest_of_handle_thread_prologue_and_epilogue
            [...]/source-gcc/gcc/function.c:6532
    0x9beac2 execute
            [...]/source-gcc/gcc/function.c:6608

This appears with recent commit
r12-5436-gdc915b361bbc99da83fc53db7f7e0e28d0ce12c8 "Tweak tree-ssa-math-opts.c
to solve PR target/102117".  It may well be a latent issue in the GCN target,
'-march=gfx900' specifically, instead of a problem with that commit
specifically?

(Locally reverting that commit does unblock the build.)
  • [Bug target/103397] New: [12 Reg... tschwinge at gcc dot gnu.org via Gcc-bugs

Reply via email to