public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/94518] New: [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758
@ 2020-04-07 14:19 zsojka at seznam dot cz
  2020-04-07 15:04 ` [Bug target/94518] " rguenth at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: zsojka at seznam dot cz @ 2020-04-07 14:19 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 94518
           Summary: [9 Regression] ICE: RTL check: expected code
                    'const_int', have 'reg' in output_3774, at
                    config/aarch64/atomics.md:758
           Product: gcc
           Version: 9.3.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 48229
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48229&action=edit
reduced testcase

This looks like a recent regression on the 9-branch.

Compiler output:
$ $ /repo/build-gcc-9-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>
<remove_symbols> <targetclone> <free-fnsummary>Streaming LTO
 <whole-program> <fnsummary> <inline> <free-fnsummary> <single-use>
<comdats>Assembling functions:
 <materialize-all-clones> <simdclone> 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_3774, at config/aarch64/atomics.md:758
    2 | void b() { __sync_fetch_and_xor(&a, c); }
      |                                         ^
0x776cd1 rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
        /repo/gcc-9-branch/gcc/rtl.c:888
0x9206f4 output_3774
        /repo/gcc-9-branch/gcc/config/aarch64/atomics.md:758
0xdc764b final_scan_insn_1
        /repo/gcc-9-branch/gcc/final.c:3040
0xdc7f7b final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
        /repo/gcc-9-branch/gcc/final.c:3153
0xdc8267 final_1
        /repo/gcc-9-branch/gcc/final.c:2021
0xdc90c6 rest_of_handle_final
        /repo/gcc-9-branch/gcc/final.c:4659
0xdc90c6 execute
        /repo/gcc-9-branch/gcc/final.c:4737
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:
...
libtool: compile:  /repo/build-gcc-9-branch-aarch64/./gcc/xgcc -shared-libgcc
-B/repo/build-gcc-9-branch-aarch64/./gcc -nostdinc++
-L/repo/build-gcc-9-branch-aarch64/aarch64-unknown-linux-gnu/libstdc++-v3/src
-L/repo/build-gcc-9-branch-aarch64/aarch64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/repo/build-gcc-9-branch-aarch64/aarch64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-B/repo/gcc-9-branch//binary-9-branch-20200407083310-g1168240fbe4-checking-yes-rtl-df-extra-aarch64/aarch64-unknown-linux-gnu/bin/
-B/repo/gcc-9-branch//binary-9-branch-20200407083310-g1168240fbe4-checking-yes-rtl-df-extra-aarch64/aarch64-unknown-linux-gnu/lib/
-isystem
/repo/gcc-9-branch//binary-9-branch-20200407083310-g1168240fbe4-checking-yes-rtl-df-extra-aarch64/aarch64-unknown-linux-gnu/include
-isystem
/repo/gcc-9-branch//binary-9-branch-20200407083310-g1168240fbe4-checking-yes-rtl-df-extra-aarch64/aarch64-unknown-linux-gnu/sys-include
-D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
-D__STDC_LIMIT_MACROS -DCAN_SANITIZE_UB=0 -I.
-I/repo/gcc-9-branch/libsanitizer/tsan -I.. -I /repo/gcc-9-branch/libsanitizer
-I /repo/gcc-9-branch/libsanitizer/include -Wall -W -Wno-unused-parameter
-Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions
-fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden
-Wno-variadic-macros -I../../libstdc++-v3/include
-I../../libstdc++-v3/include/aarch64-unknown-linux-gnu
-I/repo/gcc-9-branch/libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++11 -g -O2
-D_GNU_SOURCE -MT tsan_interface_atomic.lo -MD -MP -MF
.deps/tsan_interface_atomic.Tpo -c
/repo/gcc-9-branch/libsanitizer/tsan/tsan_interface_atomic.cc  -fPIC -DPIC -o
.libs/tsan_interface_atomic.o
during RTL pass: final
/repo/gcc-9-branch/libsanitizer/tsan/tsan_interface_atomic.cc: In function
'bool AtomicCAS(__tsan::ThreadState*, __sanitizer::uptr, volatile T*, T*, T,
__tsan::morder, __tsan::morder) [with T = __int128]':
/repo/gcc-9-branch/libsanitizer/tsan/tsan_interface_atomic.cc:432:1: internal
compiler error: RTL check: expected code 'const_int', have 'reg' in
output_3774, at config/aarch64/atomics.md:758
  432 | }
      | ^
0x776cd1 rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
        /repo/gcc-9-branch/gcc/rtl.c:888
0x9206f4 output_3774
        /repo/gcc-9-branch/gcc/config/aarch64/atomics.md:758
0xdc764b final_scan_insn_1
        /repo/gcc-9-branch/gcc/final.c:3040
0xdc7f7b final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
        /repo/gcc-9-branch/gcc/final.c:3153
0xdc8267 final_1
        /repo/gcc-9-branch/gcc/final.c:2021
0xdc90c6 rest_of_handle_final
        /repo/gcc-9-branch/gcc/final.c:4659
0xdc90c6 execute
        /repo/gcc-9-branch/gcc/final.c:4737
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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/94518] [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758
  2020-04-07 14:19 [Bug target/94518] New: [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758 zsojka at seznam dot cz
@ 2020-04-07 15:04 ` rguenth at gcc dot gnu.org
  2020-04-07 15:16 ` ktkachov at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-04-07 15:04 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |9.4

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/94518] [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758
  2020-04-07 14:19 [Bug target/94518] New: [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758 zsojka at seznam dot cz
  2020-04-07 15:04 ` [Bug target/94518] " rguenth at gcc dot gnu.org
@ 2020-04-07 15:16 ` ktkachov at gcc dot gnu.org
  2020-04-07 17:11 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2020-04-07 15:16 UTC (permalink / raw)
  To: gcc-bugs

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

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2020-04-07
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
                 CC|                            |ktkachov at gcc dot gnu.org

--- Comment #1 from ktkachov at gcc dot gnu.org ---
Confirmed. Looks like a missing backport of:
http://gcc.gnu.org/g:3a30d2558b3a199fe346479e6140cddae7fba5ed

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/94518] [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758
  2020-04-07 14:19 [Bug target/94518] New: [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758 zsojka at seznam dot cz
  2020-04-07 15:04 ` [Bug target/94518] " rguenth at gcc dot gnu.org
  2020-04-07 15:16 ` ktkachov at gcc dot gnu.org
@ 2020-04-07 17:11 ` cvs-commit at gcc dot gnu.org
  2020-04-07 17:11 ` ktkachov at gcc dot gnu.org
  2020-04-28 12:27 ` cvs-commit at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-07 17:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Kyrylo Tkachov
<ktkachov@gcc.gnu.org>:

https://gcc.gnu.org/g:470626394ab7779cb663258048da821a502a1e82

commit r9-8461-g470626394ab7779cb663258048da821a502a1e82
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date:   Tue Apr 7 18:10:02 2020 +0100

    [AArch64] PR target/94518: Fix memmodel index in
aarch64_store_exclusive_pair

    2020-04-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

            PR target/94518
            2019-09-23  Richard Sandiford  <richard.sandiford@arm.com>

            * config/aarch64/atomics.md (aarch64_store_exclusive_pair): Fix
            memmodel index.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/94518] [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758
  2020-04-07 14:19 [Bug target/94518] New: [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758 zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2020-04-07 17:11 ` cvs-commit at gcc dot gnu.org
@ 2020-04-07 17:11 ` ktkachov at gcc dot gnu.org
  2020-04-28 12:27 ` cvs-commit at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2020-04-07 17:11 UTC (permalink / raw)
  To: gcc-bugs

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

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #3 from ktkachov at gcc dot gnu.org ---
Should be fixed now on the branch

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/94518] [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758
  2020-04-07 14:19 [Bug target/94518] New: [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758 zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2020-04-07 17:11 ` ktkachov at gcc dot gnu.org
@ 2020-04-28 12:27 ` cvs-commit at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-28 12:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Andre Simoes Dias Vieira
<avieira@gcc.gnu.org>:

https://gcc.gnu.org/g:034dfe065033a846761b0a5c35fc86023bee1874

commit r8-10223-g034dfe065033a846761b0a5c35fc86023bee1874
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date:   Tue Apr 28 13:25:43 2020 +0100

    aarch64: Fix for PR target/94814

    Backport of PR target/94518: Fix memmodel index in
aarch64_store_exclusive_pair

    2020-04-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>

            PR target/94814
            Backport from gcc-9.
            2020-04-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

            PR target/94518
            2019-09-23  Richard Sandiford  <richard.sandiford@arm.com>

            * config/aarch64/atomics.md (aarch64_store_exclusive_pair): Fix
            memmodel index.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-04-28 12:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-07 14:19 [Bug target/94518] New: [9 Regression] ICE: RTL check: expected code 'const_int', have 'reg' in output_3774, at config/aarch64/atomics.md:758 zsojka at seznam dot cz
2020-04-07 15:04 ` [Bug target/94518] " rguenth at gcc dot gnu.org
2020-04-07 15:16 ` ktkachov at gcc dot gnu.org
2020-04-07 17:11 ` cvs-commit at gcc dot gnu.org
2020-04-07 17:11 ` ktkachov at gcc dot gnu.org
2020-04-28 12:27 ` cvs-commit at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).