[Bug target/66867] Suboptimal code generation for atomic_compare_exchange

amodra at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Sep 21 07:17:00 GMT 2015


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

Alan Modra <amodra at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |powerpc64*-*-*, x86_64-*-*
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-09-21
                 CC|                            |amodra at gmail dot com
            Summary|Suboptimal code generation  |Suboptimal code generation
                   |for C11                     |for atomic_compare_exchange
                   |atomic_compare_exchange_str |
                   |ong_explicit()              |
     Ever confirmed|0                           |1

--- Comment #2 from Alan Modra <amodra at gmail dot com> ---
Confirmed.  Here's another related testcase showing unnecessary stack memory
writes and reads on both powerpc64le and x86_64.

int test2 (int *ptr, int value, int comparand)
{
  __atomic_compare_exchange_n (ptr, &comparand, value,
                               false, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
  return comparand;
}



More information about the Gcc-bugs mailing list