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

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 17 09:45:19 PDT 2020


dmgreen added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:5189
+  if (Subtarget->hasMVEIntegerOps()) {
+    unsigned int Opcode = 0;
+    switch (TrueVal->getOpcode()) {
----------------
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)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D87836



More information about the llvm-commits mailing list