[PATCH] D11503: [INSTCOMBINE][X86][SSE] Replace sign/zero extension intrinsics with native IR

Simon Pilgrim llvm-dev at redking.me.uk
Sat Jul 25 08:07:07 PDT 2015

RKSimon created this revision.
RKSimon added reviewers: craig.topper, spatel, andreadb, silvas.
RKSimon added a subscriber: llvm-commits.
RKSimon set the repository for this revision to rL LLVM.

Now that we are generating sane codegen for vector sext/zext nodes on SSE targets, this patch uses instcombine to replace the SSE41/AVX2 pmovsx and pmovzx intrinsics with the equivalent native IR code.

I have investigated removing these intrinsics completely, but we are still up against the issue of debug/-O0 codegen. At present this would be doable for some of the AVX2 intrinsics only (the ones that extend the entire xmm to a ymm) - if people think this is worthwhile I can provide patches that update the avx2 headers to use __builtin_convertvector where possible and remove those specific intrinsics entirely but I thought it best to keep them all for now and include them in this instcombine patch.




-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11503.30635.patch
Type: text/x-patch
Size: 16913 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150725/50a5dded/attachment.bin>

More information about the llvm-commits mailing list