[PATCH] D142254: [X86] Transform vector SET{LE/ULT/ULE} -> SETLT and SET{GE/UGT/UGE} -> SETGT if possible

Noah Goldstein via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 15 15:42:34 PST 2023


goldstein.w.n added a comment.

In D142254#4130525 <https://reviews.llvm.org/D142254#4130525>, @saugustine wrote:

> The fix does work. But I'm still trying to get a reproducer for the future.
>
> Incidentally, the function comment explicitly says "or this is not a simple vector constant", and yet originally didn't check for it actually being simple. With the updated fix it does.
>
> So I think this is correct.

Okay, I'll wait a bit to commit incase anyone else wants to weigh in.
Thanks for the report + fix + testing.

> In D142254#4130495 <https://reviews.llvm.org/D142254#4130495>, @goldstein.w.n wrote:
>
>> In D142254#4130325 <https://reviews.llvm.org/D142254#4130325>, @saugustine wrote:
>>
>>> I think it probably needs to also check if the type is Simple, because the exact assertion that fails is isSimple.
>>>
>>> And if I insert a check for isSimple on line 24731, the test does pass.
>>>
>>>   if (!BV || !V.getValueType().isSimple())
>>>
>>> Not sure if that is the correct fix, but perhaps better than reverting. The test case is huge and buried.
>>
>> Are you going to be able to confirm that fix works? Or is it too complicated to reproduce?




Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142254/new/

https://reviews.llvm.org/D142254



More information about the llvm-commits mailing list