[all-commits] [llvm/llvm-project] fba831: [ARM] Lower sadd_sat to qadd8 and qadd16

David Green via All-commits all-commits at lists.llvm.org
Mon Oct 21 02:52:23 PDT 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: fba831e791ba8978f21d2328499c8d3063401de3
      https://github.com/llvm/llvm-project/commit/fba831e791ba8978f21d2328499c8d3063401de3
  Author: David Green <david.green at arm.com>
  Date:   2019-10-21 (Mon, 21 Oct 2019)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/test/CodeGen/ARM/sadd_sat.ll
    M llvm/test/CodeGen/ARM/sadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/ssub_sat.ll
    M llvm/test/CodeGen/ARM/ssub_sat_plus.ll

  Log Message:
  -----------
  [ARM] Lower sadd_sat to qadd8 and qadd16

Lower the target independent signed saturating intrinsics to qadd8 and qadd16.
This custom lowers them from a sadd_sat, catching the node early before it is
promoted. It also adds a QADD8b and QADD16b node to mean the bottom "lane" of a
qadd8/qadd16, so that we can call demand bits on it to show that it does not
use the upper bits.

Also handles QSUB8 and QSUB16.

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

llvm-svn: 375402




More information about the All-commits mailing list