cris: Correct gcc_assert for atomic_fetch_op pattern
authorHans-Peter Nilsson <hp@axis.com>
Sun, 5 Jul 2020 23:51:42 +0000 (01:51 +0200)
committerHans-Peter Nilsson <hp@axis.com>
Mon, 6 Jul 2020 00:35:54 +0000 (02:35 +0200)
commit1e98f060280b48328e9e7f5912d63d52c3ed6814
tree4a734bd4b45c41c4b7f5558a1fcc52d9b581dcd7
parentdf66f280ec449ee1c8aaf353956b8b3d54e1d901
cris: Correct gcc_assert for atomic_fetch_op pattern

Yet another misnumbering of operands: the asserted non-overlap
would be the only benign operands overlap.  "Suddenly" exposed
by g++.dg/cpp0x/pr81325.C when testing unrelated changes
affecting register allocation.

To wit, operands 2 and 1 are the only ones that are safe for
overlap, it's only that it doesn't seem to make much sense to
write the address of the atomic data as the atomic data.

gcc:
* config/cris/sync.md ("cris_atomic_fetch_<atomic_op_name><mode>_1"):
Correct gcc_assert of overlapping operands.
gcc/config/cris/sync.md