[llvm-dev] SETCC ISD node question

Craig Topper via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 25 17:56:10 PDT 2018


It seems to occur because getSETCCWidenedResultTy checks if the mask type
should be widened, but then convertMask uses that VT as a result VT without
doing anything to widen the inputs. Removing that code
from getSETCCWidenedResultTy  doesn't regress any lit tests.

~Craig


On Thu, Oct 25, 2018 at 5:49 PM Friedman, Eli <efriedma at codeaurora.org>
wrote:

> On 10/25/2018 5:20 PM, Craig Topper wrote:
> > Should SETCC result types and input types always have the same number
> > of vector elements or both be scalar?
>
> No. At least, the documentation for ISD::SETCC doesn't indicate it's
> allowed, and it's not obvious what it would mean.
>
> > I ask because it appears DAGTypeLegalizer::WidenVSELECTAndMask can
> > create a setcc where this isn't true.
>
> This comes from https://reviews.llvm.org/D29489 .  Looking over my
> comments from that review, the patch isn't intentionally creating
> mismatched SETCCs, though.
>
> -Eli
>
> --
> Employee of Qualcomm Innovation Center, Inc.
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux
> Foundation Collaborative Project
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181025/37b011ce/attachment.html>


More information about the llvm-dev mailing list