[llvm-commits] [PATCH 1/2] Fix PR12312

Michael Liao michael.liao at intel.com
Wed Aug 1 12:46:57 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 first part is to
simplify a common pattern introduced by most intrinsics generating
boolean values. Their boolean result are re-evaluated again to get
EFLAGS updated for BRCOND/CMOV or even SETCC again to consume. The
attached patch adds a X86-specific DAG optimzation to simplify this
common pattern by directly consuming the EFLAGS updated from the
original intrinsics, e.g. llvm.x86.sse41.ptest, if we found that integer
result is checked as a boolean value.

Yours
- Michael



-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-add-X86-specific-DAG-optimization-to-simplify-boolea.patch
Type: text/x-patch
Size: 8047 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120801/57c8bdf3/attachment.bin>


More information about the llvm-commits mailing list