[PATCH] D29489: Optimize SETCC + VSEL of incompatible or illegal types

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 24 05:12:25 PST 2017


jonpa updated this revision to Diff 89651.
jonpa added a comment.

> I still don't like that you're special-casing SETCC here... it isn't the only source of i1 vectors.

I see your point, but it appears to me that the current code should handle the majority of cases. Would it be acceptable to add a TODO comment about this for now, as done below?

I also removed the check for SETCC in PromoteIntOp_SELECT(), to pave the way for future extensions.


https://reviews.llvm.org/D29489

Files:
  lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  lib/CodeGen/SelectionDAG/LegalizeTypes.h
  lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  test/CodeGen/ARM/vuzp.ll
  test/CodeGen/SystemZ/vec-cmpsel.ll
  test/CodeGen/X86/2011-10-19-widen_vselect.ll
  test/CodeGen/X86/2011-10-21-widen-cmp.ll
  test/CodeGen/X86/psubus.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29489.89651.patch
Type: text/x-patch
Size: 85562 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170224/d289e334/attachment.bin>


More information about the llvm-commits mailing list