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

chenglin.bi via All-commits all-commits at lists.llvm.org
Fri Apr 15 21:30:18 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9d9eddd3dde46751a5c415b7e5e475b4feb76600
      https://github.com/llvm/llvm-project/commit/9d9eddd3dde46751a5c415b7e5e475b4feb76600
  Author: chenglin.bi <chenglin.bi at cixcomputing.com>
  Date:   2022-04-16 (Sat, 16 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

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. 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