[llvm-dev] SETCC ISD node question

Craig Topper via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 25 21:00:35 PDT 2018


Patch to remove the code here https://reviews.llvm.org/D53743
~Craig


On Thu, Oct 25, 2018 at 5:56 PM Craig Topper <craig.topper at gmail.com> wrote:

> 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/aaffd668/attachment.html>


More information about the llvm-dev mailing list