[llvm-dev] SETCC ISD node question

Jonas Paulsson via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 25 22:05:33 PDT 2018


> Patch to remove the code here https://reviews.llvm.org/D53743
> ~Craig
>
Not sure exactly why this is not needed anymore, but I have confirmed 
that benchmarks (SPEC) on SystemZ are completely unaffected by this 
patch. /Jonas


>
> On Thu, Oct 25, 2018 at 5:56 PM Craig Topper <craig.topper at gmail.com 
> <mailto: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 <mailto: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/20181026/57db4c2f/attachment.html>


More information about the llvm-dev mailing list