[all-commits] [llvm/llvm-project] 222adf: [Arch64][SelectionDAG] Add target-specific impleme...

chenglin.bi via All-commits all-commits at lists.llvm.org
Mon Apr 18 11:56:38 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 222adf338a41bb024f70812a198497ef95826e81
      https://github.com/llvm/llvm-project/commit/222adf338a41bb024f70812a198497ef95826e81
  Author: chenglin.bi <chenglin.bi at cixcomputing.com>
  Date:   2022-04-19 (Tue, 19 Apr 2022)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/srem-pow2.ll
    M llvm/test/CodeGen/AArch64/srem-seteq.ll
    M llvm/test/CodeGen/AArch64/srem-vector-lkk.ll

  Log Message:
  -----------
  [Arch64][SelectionDAG] Add target-specific implementation of srem

1. X%C to the equivalent of X-X/C*C is not always fastest path if there is no SDIV pair exist. So check target have faster for srem only first.
2. Add AArch64 faster path for SREM only pow2 case.

Fix https://github.com/llvm/llvm-project/issues/54649

Reviewed By: efriedma

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




More information about the All-commits mailing list