[Bug rtl-optimization/70825] x86_64: __atomic_compare_exchange_n() accesses stack unnecessarily

wschmidt at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 11 20:49:00 GMT 2016


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

Bill Schmidt <wschmidt at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|x86_64, aarch64             |x86_64, aarch64, powerpc64*

--- Comment #3 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Also on powerpc64:

        .file   "gorp.c"
        .abiversion 2
        .section        ".text"
        .align 2
        .p2align 4,,15
        .globl test_atomic_cmpxchg
        .type   test_atomic_cmpxchg, @function
test_atomic_cmpxchg:
        li 9,23
        stw 9,-16(1)  <-- unnecessary
        sync
.L2:
        lwarx 9,0,3
        cmpwi 0,9,23
        bne 0,.L3
        li 9,42
        stwcx. 9,0,3
        bne 0,.L2
        isync
.L3:
        blr


More information about the Gcc-bugs mailing list