[all-commits] [llvm/llvm-project] f0de8d: [Arm] Do not lower vmax/vmin to Neon instructions

James Greenhalgh via All-commits all-commits at lists.llvm.org
Tue Mar 10 03:50:03 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f0de8d09409dbaf72ba282abef2cf2355a764c96
      https://github.com/llvm/llvm-project/commit/f0de8d09409dbaf72ba282abef2cf2355a764c96
  Author: James Greenhalgh <james.greenhalgh at arm.com>
  Date:   2020-03-10 (Tue, 10 Mar 2020)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/ARM/fp16-fullfp16.ll
    M llvm/test/CodeGen/ARM/fp16-promote.ll
    M llvm/test/CodeGen/ARM/fp16-vminmaxnm-safe.ll
    A llvm/test/CodeGen/ARM/lower-vmax.ll
    M llvm/test/CodeGen/ARM/vminmax.ll

  Log Message:
  -----------
  [Arm] Do not lower vmax/vmin to Neon instructions

On some Arm cores there is a performance penalty when forwarding from an
S register to a D register.  Calculating VMAX in a D register creates
false forwarding hazards, so don't do that unless we're on a core which
specifically asks for it.

Patch by James Greenhalgh

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




More information about the All-commits mailing list