[llvm-bugs] [Bug 49179] Missing copysign(1., x) < 0. to std::signbit(x) fold

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Feb 17 07:56:56 PST 2021


https://bugs.llvm.org/show_bug.cgi?id=49179

Sanjay Patel <spatel+llvm at rotateright.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED
 Fixed By Commit(s)|                            |85294703a

--- Comment #6 from Sanjay Patel <spatel+llvm at rotateright.com> ---
Should be fixed in IR with:
https://reviews.llvm.org/rG85294703a74a

We have seen complications with these kinds of transforms because LLVM supports
non-IEEE754-compliant targets, but I think this is always ok. If not, we'll
have to move the transform to the backend.

As noted in the comments, if variations of the specified pattern are found,
please file other bugs.

And finally (it's not clear from the description if we care about a particular
target), if the performance is still not optimal, we may need to adjust codegen
too. For x86, I'm seeing something like this currently:

        movmskpd        %xmm0, %eax
        andl    $1, %eax

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210217/cd51ad9a/attachment.html>


More information about the llvm-bugs mailing list