[PATCH] D59669: [x86] use movmsk when extracting multiple lanes of a vector compare (PR39665)

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 21 15:45:35 PDT 2019


spatel added reviewers: nlopes, regehr, efriedma.
spatel marked an inline comment as done.
spatel added inline comments.


================
Comment at: llvm/test/CodeGen/X86/movmsk-cmp.ll:5136
+; SSE2-NEXT:    cmovel %edx, %eax
 ; SSE2-NEXT:    retq
 ;
----------------
spatel wrote:
> RKSimon wrote:
> > For the anyof/allof cases it'd be a lot better if we could merge the tests into a single compare - in c-ray that would allow us to merge the multiple cmp+jmp - the 2 separate jmps packed so close together is a known perf issues.
> Yes, I think this is an independent problem. Let me see if I can solve at least part of that, so it's not distracting here.
Oh no...we need the select-to-logic transform that we recently discussed as illegal due to poison:
      t21: i32 = select t28, Constant:i32<42>, Constant:i32<99>
    t22: i32 = select t30, t21, Constant:i32<99>



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

https://reviews.llvm.org/D59669





More information about the llvm-commits mailing list