[PATCH] D103820: [X86] Prefer vpmovq2m over vpternlogd + vpcmpgtq

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 7 10:07:43 PDT 2021


craig.topper added a comment.

In D103820#2803120 <https://reviews.llvm.org/D103820#2803120>, @davezarzycki wrote:

> Actually, wait. Something weird is going on at the mid-level. These two functions should generate the same optimized IR, right?
>
>   typedef int V __attribute__((vector_size(64)));
>   
>   V lt_zero_x_y(V mask, V x, V y) { return mask <  0 ? x : y; }
>   V ge_zero_y_x(V mask, V x, V y) { return mask >= 0 ? y : x; }

I'm not sure we canonicalize select operand order.

vpmovq2m only exists with avx512dq. Is this transform still useful with just avx512f?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D103820



More information about the llvm-commits mailing list