https://bugs.kde.org/show_bug.cgi?id=404054

Mark Wielaard <m...@klomp.org> changed:

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

--- Comment #7 from Mark Wielaard <m...@klomp.org> ---
Thanks for the reviews. Pushed now as:

commit 256cf43c5eadb28edb45436aca6fda8ee55eb10e
Author: Mark Wielaard <m...@klomp.org>
Date:   Thu Feb 21 17:21:53 2019 +0100

    memcheck powerpc subfe x, x, x initializes x to 0 or -1 based on CA

    GCC might use subfe x, x, x to initialize x to 0 or -1, based on
    whether the carry flag is set. This happens in some cases when g++
    compiles resetting a unique_ptr. The "trick" used by the compiler is
    that it can AND a pointer with the register x (now 0x0 or 0xffffffff)
    to set something to NULL or to the given pointer.

    subfe is implemented as rD = (log not)rA + rB + XER[CA]
    if we instead implement it as rD = rB - rA - (XER[CA] ^ 1)
    then memcheck can see that rB and Ra cancel each other out if they
    are the same.

    https://bugs.kde.org/show_bug.cgi?id=404054

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to