[PATCH] D59335: [RFC] Enable vectorization on Neon even without fast-math

Sanjoy Das via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 13 15:11:57 PDT 2019


sanjoy created this revision.
sanjoy added reviewers: rengolin, tra.
Herald added subscribers: jdoerfert, bixia, kristof.beyls, javed.absar, jlebar, mcrosier.
Herald added a project: LLVM.

This patch introduces a "ftz" function attribute and uses that to enable
vectorization for ARM Neon when -ffast-math is not specified.  It would be nicer
to encode FTZ as part of FastMathFlags but we've run out of space there.

If this approach looks workable, I'll change the NVPTX backend to also use this
(backend independent) ftz attribute instead of the custom "nvptx-f32ftz"
attribute.  I'll also add an entry to the langref.


Repository:
  rL LLVM

https://reviews.llvm.org/D59335

Files:
  include/llvm/Analysis/TargetTransformInfo.h
  include/llvm/Analysis/TargetTransformInfoImpl.h
  lib/Analysis/TargetTransformInfo.cpp
  lib/Target/ARM/ARMTargetTransformInfo.h
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Transforms/LoopVectorize/ARM/arm-ieee-vectorize.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59335.190517.patch
Type: text/x-patch
Size: 7529 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190313/4c59ea66/attachment.bin>


More information about the llvm-commits mailing list