[PATCH] D87836: [ARM]Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV

Sam Tebbs via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 18 05:25:52 PDT 2020


samtebbs marked an inline comment as done.
samtebbs added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:5189
+  if (Subtarget->hasMVEIntegerOps()) {
+    unsigned int Opcode = 0;
+    switch (TrueVal->getOpcode()) {
----------------
dmgreen wrote:
> This could do with a few extra tests to make sure it's a min/max. LHS==TrueVal and RHS==FalseVal for example.
> 
> Plus it's worth checking if commuted min/max work too. min(vecreduce.min, x) or min(x, vecreduce.min)
Thanks for pointing that out, done now.


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

https://reviews.llvm.org/D87836



More information about the llvm-commits mailing list