[all-commits] [llvm/llvm-project] 91b0ca: [ARM] Use isFMAFasterThanFMulAndFAdd for MVE

David Green via All-commits all-commits at lists.llvm.org
Mon Nov 4 07:06:09 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 91b0cad8132997060182146b2734065bc807e9fa
      https://github.com/llvm/llvm-project/commit/91b0cad8132997060182146b2734065bc807e9fa
  Author: David Green <david.green at arm.com>
  Date:   2019-11-04 (Mon, 04 Nov 2019)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMInstrMVE.td
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll

  Log Message:
  -----------
  [ARM] Use isFMAFasterThanFMulAndFAdd for MVE

The Arm backend will usually return false for isFMAFasterThanFMulAndFAdd,
where both the fused VFMA.f32 and a non-fused VMLA.f32 are usually
available for scalar code. For MVE we don't have the non-fused version
though. It makes more sense for isFMAFasterThanFMulAndFAdd to return
true, allowing us to simplify some of the existing ISel patterns.

The tests here are that non of the existing tests failed, and so we are
still selecting VFMA and VFMS. The one test that changed shows we can
now select from fast math flags, as opposed to just relying on the
isFMADLegalForFAddFSub option.

Differential Revision: https://reviews.llvm.org/D69115




More information about the All-commits mailing list