[PATCH] D15361: Do not lower VSETCC if operand is an f16 vector

Pirama Arumuga Nainar via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 10 09:41:36 PST 2015


pirama added a comment.

Hi James,

During legalization, custom lowering is called based on the result type of a node and not its operand type.  In this particular case, the caller is LegalizeOp in lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp (look for a switch statement close to the end of this function).  Since the result type in these cases are i16 vectors, lowering still gets invoked.

As an aside, the legalizer queries OperationAction based on type of operand when legalizing operands and type of result when legalizing results.  That is what necessitates these explicit checks/filters.

-Pirama


http://reviews.llvm.org/D15361





More information about the llvm-commits mailing list