[llvm-commits] [PATCH] Teach atomicrmw nand to emit *a = ~(*a & b), not *a = ~*a & b

Richard Smith richard at metafoo.co.uk
Fri Apr 13 15:52:38 PDT 2012


On Fri, Apr 13, 2012 at 3:41 PM, Chandler Carruth <chandlerc at google.com>wrote:

> Other than the hideously poor code in some of this it looks entirely
> correct. LGTM, and *wow* thanks for fixing this.


Thanks, r154705.


> Can you ensure that the LangRef has the correct spec?
>
> Have you looked at ARM or other platforms? (not saying you have to, just
> curious)
>

The LangRef has the correct spec. I've checked that MIPS generates the
right code (there was a pre-existing test for this). We appear to implement
atomicrmw nand as a libcall on ARM. I've not checked other platfiorms; I
couldn't find any other atomicrmw nand implementations.

-- Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120413/74d01d92/attachment.html>


More information about the llvm-commits mailing list