[all-commits] [llvm/llvm-project] 040e64: [LoongArch][DAGCombiner] Combine xor (and ..) to v...

Zhaoxin Yang via All-commits all-commits at lists.llvm.org
Mon Sep 29 23:33:28 PDT 2025


  Branch: refs/heads/users/ylzsx/andn-combine
  Home:   https://github.com/llvm/llvm-project
  Commit: 040e64772f8b48024f3390e5e402190c501d9302
      https://github.com/llvm/llvm-project/commit/040e64772f8b48024f3390e5e402190c501d9302
  Author: yangzhaoxin <yangzhaoxin at loongson.cn>
  Date:   2025-09-30 (Tue, 30 Sep 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td

  Log Message:
  -----------
  [LoongArch][DAGCombiner] Combine xor (and ..) to vandn

After this commit, DAGCombiner will have more opportunities to perform
vector folding. This patch includes several foldings, as follows:
- VANDN(x,NOT(y)) -> AND(NOT(x),NOT(y)) -> NOT(OR(X,Y))
- VANDN(x, SplatVector(Imm)) -> AND(NOT(x), NOT(SplatVector(~Imm)))


  Commit: 86c85df1a5367f282153b5e02dcf7678abc59a2c
      https://github.com/llvm/llvm-project/commit/86c85df1a5367f282153b5e02dcf7678abc59a2c
  Author: yangzhaoxin <yangzhaoxin at loongson.cn>
  Date:   2025-09-30 (Tue, 30 Sep 2025)

  Changed paths:
    M llvm/test/CodeGen/LoongArch/lasx/and-not-combine.ll
    M llvm/test/CodeGen/LoongArch/lsx/and-not-combine.ll

  Log Message:
  -----------
  modify test


  Commit: 6eb6a0136a77b981acc98e7f36e288cfc0980f7f
      https://github.com/llvm/llvm-project/commit/6eb6a0136a77b981acc98e7f36e288cfc0980f7f
  Author: yangzhaoxin <yangzhaoxin at loongson.cn>
  Date:   2025-09-30 (Tue, 30 Sep 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp

  Log Message:
  -----------
  Use getSplatValue instead of isSplatOrUndef


  Commit: fd81493e90331fe4753da1d3a65d5757e9cd3390
      https://github.com/llvm/llvm-project/commit/fd81493e90331fe4753da1d3a65d5757e9cd3390
  Author: yangzhaoxin <yangzhaoxin at loongson.cn>
  Date:   2025-09-30 (Tue, 30 Sep 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/lasx/and-not-combine.ll
    M llvm/test/CodeGen/LoongArch/lsx/and-not-combine.ll

  Log Message:
  -----------
  Fix according to heiher's reviews.


Compare: https://github.com/llvm/llvm-project/compare/f64d6f353bc2...fd81493e9033

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list