[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