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

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
             Target|                            |aarch64
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-04-27
                 CC|                            |ktkachov at gcc dot gnu.org
     Ever confirmed|0                           |1
           Severity|normal                      |enhancement

--- Comment #1 from ktkachov at gcc dot gnu.org ---
Confirmed.
For reference, the testcase is:
#include <atomic>
#include <stdint.h>

std::atomic<__int128> a;

__attribute__((noinline)) void f(int64_t v)
{
    a.store(v);
}

int main()
{
    f(1);
    return 0;
}

g++ at -O2 for aarch64 emits for the function 'f':
_Z1fl:
.LFB328:
        .cfi_startproc
        mov     x2, x0
        adrp    x1, .LANCHOR0
        add     x0, x1, :lo12:.LANCHOR0
        mov     w4, 5
        asr     x3, x2, 63
        b       __atomic_store_16

Reply via email to