[all-commits] [llvm/llvm-project] 86bd9a: [AArch64] Additional tests for creating BIC from k...

David Green via All-commits all-commits at lists.llvm.org
Wed Jul 5 07:42:48 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 86bd9a420fbbd6bad9c59b57d53c25a0222da753
      https://github.com/llvm/llvm-project/commit/86bd9a420fbbd6bad9c59b57d53c25a0222da753
  Author: David Green <david.green at arm.com>
  Date:   2023-07-05 (Wed, 05 Jul 2023)

  Changed paths:
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
    M llvm/test/CodeGen/AArch64/shiftregister-from-and.ll

  Log Message:
  -----------
  [AArch64] Additional tests for creating BIC from known bits. NFC


  Commit: ae8f929b93e685dcb0bf6d6d1999bf70758917f5
      https://github.com/llvm/llvm-project/commit/ae8f929b93e685dcb0bf6d6d1999bf70758917f5
  Author: David Green <david.green at arm.com>
  Date:   2023-07-05 (Wed, 05 Jul 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
    M llvm/test/CodeGen/AArch64/shiftregister-from-and.ll
    M llvm/test/CodeGen/AArch64/vec_uaddo.ll

  Log Message:
  -----------
  [AArch64] Use known zero bits when creating BIC

If we know bits are already 0, we will not need to clear them again with a BIC.
So we can use KnownBits to shrink the size of the constant in the creation BIC
from And, potentially undoing the known-bits folds that happen during
compilation.

BIC only has a single register operand for input and output, so has less
scheduling freedom than a AND, but usually saves the materialization of a
constant.

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


Compare: https://github.com/llvm/llvm-project/compare/1077a3439111...ae8f929b93e6


More information about the All-commits mailing list