[llvm-commits] [PATCH 2/2] FIx PR12312

Michael Liao michael.liao at intel.com
Wed Aug 1 12:47:01 PDT 2012


Hi

This patch is to fix http://llvm.org/bugs/show_bug.cgi?id=12312, where a
special use of i128 needs efficient code generation with PTEST from
SSE4.1.

To fix this issue, 2 patches are developed. The second part is to
recognize that special use, casting from <4 x i32> to i128 followed by a
zero (or non-zero) checking. That sequence is lowered into OR
(X86ISD::OR at the root) tree with all leaves extracted from that vector
because i128 is mapped onto GPR pair. The attached patch adds a
X86-specific DAG optimization to recognize this OR'd tree and convert it
a PTEST if only the flag value is used from that X86ISD::OR root node.

Yours
- Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-add-X86-DAG-optimization-to-recognize-a-pttern-PTEST.patch
Type: text/x-patch
Size: 8564 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120801/51e16067/attachment.bin>


More information about the llvm-commits mailing list