[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