[PATCH] D25987: [X86] New pattern to generate PSUBUS from SELECT

Yulia Koval via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 26 03:46:59 PST 2017


yulia_koval updated this revision to Diff 85883.
yulia_koval added a comment.
Herald added a subscriber: igorb.

I updated the patch to trunk, because test output changed due to https://reviews.llvm.org/rL292479 optimization. I failed to find a better check, based on TLI.isLegal.., because it doesn't requires exact type. For example, in case of SSE4.1, isOperationLegalOrCustom(MIN, v8i32) returns false and disables the optimization. However, the transformation works fine as the illegal operation is split into two v4i32 operations. The hasSSE41 check is sufficient, because it includes both v8i16 and v4i32 for each integer type. i8(SSE hass i8 based umin) can't be used in this optimisation, because the ExtType is always larger then psubus type and can be minimum i16.


https://reviews.llvm.org/D25987

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/psubus.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25987.85883.patch
Type: text/x-patch
Size: 21151 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170126/7693d7c5/attachment.bin>


More information about the llvm-commits mailing list