[PATCH] D73908: [ARM][VecReduce] Force expand vector_reduce_fmin

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 3 10:22:56 PST 2020


dmgreen created this revision.
dmgreen added reviewers: nikic, samparker, SjoerdMeijer, simon_tatham, ostannard.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: LLVM.

Under MVE, we do not have any lowering for fminimum, which a vector_reduce_fmin without NoNan will be expanded into. As with the other recent patches, force this to expand in the pre-isel pass. Note that Neon lowering would be OK because the scalar fminimum uses the vector VMIN instruction, but is probably better to just rely on the scalar operations, which is what is done here.

Also fixes what appears to be the reversal of INF vs -INF in the vector_reduce_fmin widening code.


https://reviews.llvm.org/D73908

Files:
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  llvm/lib/Target/ARM/ARMTargetTransformInfo.h
  llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
  llvm/test/CodeGen/Thumb2/mve-vecreduce-fminmax.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73908.242118.patch
Type: text/x-patch
Size: 87869 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200203/2b0e2eda/attachment.bin>


More information about the llvm-commits mailing list