[PATCH] D11503: [INSTCOMBINE][X86][SSE] Replace sign/zero extension intrinsics with native IR
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...
Size: 16913 bytes
Desc: not available
More information about the llvm-commits