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

            Bug ID: 94814
           Summary: [9 Regression] ICE: RTL check: expected code
                    'const_int', have 'reg' in output_3367, at
                    config/aarch64/atomics.md:755
           Product: gcc
           Version: 8.4.1
            Status: UNCONFIRMED
          Keywords: ice-checking
          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 48391
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48391&action=edit
reduced testcase

This looks like a recent regression on the 8-branch. This was fixed on the
9-branch in PR94518, but now the problem triggers on the 8-branch as well.

Compiler output:
$ /repo/build-gcc-8-branch-aarch64/./gcc/cc1plus tsan_interface_atomic.ii
 void b()
Analyzing compilation unit
Performing interprocedural optimizations
 <*free_lang_data> <visibility> <build_ssa_passes> <opt_local_passes>
<targetclone> <free-fnsummary> <whole-program> <fnsummary> <inline>
<free-fnsummary> <single-use> <comdats>Assembling functions:
 <materialize-all-clones> void b()during RTL pass: final

tsan_interface_atomic.ii: In function 'void b()':
tsan_interface_atomic.ii:2:41: internal compiler error: RTL check: expected
code 'const_int', have 'reg' in output_3367, at config/aarch64/atomics.md:755
 void b() { __sync_fetch_and_and(&a, c); }
                                         ^
0x74e65b rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
        /repo/gcc-8-branch/gcc/rtl.c:849
0x8d28f2 output_3367
        /repo/gcc-8-branch/gcc/config/aarch64/atomics.md:755
0xd446db final_scan_insn_1
        /repo/gcc-8-branch/gcc/final.c:3111
0xd44dcb final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
        /repo/gcc-8-branch/gcc/final.c:3224
0xd450b7 final_1
        /repo/gcc-8-branch/gcc/final.c:2091
0xd45ee6 rest_of_handle_final
        /repo/gcc-8-branch/gcc/final.c:4677
0xd45ee6 execute
        /repo/gcc-8-branch/gcc/final.c:4755
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Build with RTL checking is broken.

Reply via email to