[PATCH] D14399: [X86][SSE] Combine UNPCKL with vector_shuffle into UNPCKH to save one instruction for sext from v16i8 to v16i16 and v8i16 to v8i32.
Cong Hou via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 5 14:52:38 PST 2015
congh created this revision.
congh added reviewers: hfinkel, RKSimon, dexonsmith, davidxl.
congh added a subscriber: llvm-commits.
This patch is enabling combining UNPCKL with vector_shuffle that moves the upper half of a vector into the lower half, into a UNPCKH instruction. For example:
```
t2: v16i8 = vector_shuffle<8,9,10,11,12,13,14,15,u,u,u,u,u,u,u,u> t1,
undef:v16i8
t3: v16i8 = X86ISD::UNPCKL undef:v16i8, t2
```
will be combined to:
```
t3: v16i8 = X86ISD::UNPCKH undef:v16i8, t1
```
http://reviews.llvm.org/D14399
Files:
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vec_int_to_fp.ll
test/CodeGen/X86/vector-sext.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14399.39423.patch
Type: text/x-patch
Size: 5914 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151105/84879c43/attachment.bin>
More information about the llvm-commits
mailing list