[PATCH] X86: Allow pextr to use a memory destination

Adam Nemet anemet at apple.com
Tue Feb 4 13:56:53 PST 2014


Hi,

This patch (my first to llvm :) is an attempt to resolve the following FIXME:

-// FIXME:
-// There's an AssertZext in the way of writing the store pattern
-// (store (i8 (trunc (X86pextrb (v16i8 VR128:$src1), imm:$src2))), addr:$dst)

My approach is to introduce the assertzext operation to .td and then include that in the pattern.  Conveniently, assertzext is already defined in AArch64.td so I just expose that to all targets.

The test widen_load-2.ll requires a slight change because with the stores gone, the remaining instructions are scheduled in a different order.

I’ve tested with llvm/test and llvm-test on x86_64.

Adam

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pextr-2.patch
Type: application/octet-stream
Size: 4800 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140204/736a9fde/attachment.obj>


More information about the llvm-commits mailing list