[all-commits] [llvm/llvm-project] cb6ff7: [mlir][ArmNeon] Implements LowerVectorToArmNeon Pa...

Kojo Acquah via All-commits all-commits at lists.llvm.org
Fri Mar 8 14:50:34 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cb6ff746e0c7b9218b6f5c11db44162cacd623a4
      https://github.com/llvm/llvm-project/commit/cb6ff746e0c7b9218b6f5c11db44162cacd623a4
  Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/ArmNeon/Transforms.h
    M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
    M mlir/lib/Dialect/ArmNeon/CMakeLists.txt
    A mlir/lib/Dialect/ArmNeon/IR/CMakeLists.txt
    A mlir/lib/Dialect/ArmNeon/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
    A mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
    A mlir/test/lib/Dialect/ArmNeon/CMakeLists.txt
    A mlir/test/lib/Dialect/ArmNeon/TestLowerToArmNeon.cpp
    M mlir/test/lib/Dialect/CMakeLists.txt
    M mlir/tools/mlir-opt/CMakeLists.txt
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][ArmNeon] Implements LowerVectorToArmNeon Pattern for SMMLA (#81895)

This patch adds a the `LowerVectorToArmNeonPattern` patterns to the
ArmNeon.

This pattern inspects `vector.contract` ops that can be 1-1 mapped to an
`arm.neon.smmla` intrinsic. The contract ops must be separated into
tiles who's inputs must fit that of a single smmla op (`2x8xi32` inputs
and `2x2xi32` output). The `vector.contract` inputs must be sign
extended from narrow types (<=i8) to be converted. If all conditions are
met, an smmla op is inserted with additional `vector.shape_casts` to
handle linearizing the input and output dimension.



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