[all-commits] [llvm/llvm-project] d7e0a0: [mlir][Vector] Generalize AVX2 transpose lowering ...

Diego Caballero via All-commits all-commits at lists.llvm.org
Fri Feb 25 11:30:26 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d7e0a0846b022ffe5bc142b5b1b7f83ec507cac1
      https://github.com/llvm/llvm-project/commit/d7e0a0846b022ffe5bc142b5b1b7f83ec507cac1
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2022-02-25 (Fri, 25 Feb 2022)

  Changed paths:
    M mlir/lib/Dialect/X86Vector/Transforms/AVXTranspose.cpp
    M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir

  Log Message:
  -----------
  [mlir][Vector] Generalize AVX2 transpose lowering to n-D vectors

The existing AVX2 lowering patterns for the transpose op only triggers if the
input vector is 2-D. This patch extends the patterns to trigger for n-D vectors
which are effectively 2-D vectors (e.g., vector<1x4x1x8x1). The main constraint
for the generalized AVX2 patterns to be applicable to these vectors is that the
dimensions that are greater than one must be transposed. Otherwise, the existing
patterns are not applicable.

Reviewed By: nicolasvasilache

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


  Commit: 875bbce9f7206b97a74e656dd31df7b1c7dd897d
      https://github.com/llvm/llvm-project/commit/875bbce9f7206b97a74e656dd31df7b1c7dd897d
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2022-02-25 (Fri, 25 Feb 2022)

  Changed paths:
    M mlir/lib/Dialect/X86Vector/Transforms/AVXTranspose.cpp
    M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir

  Log Message:
  -----------
  [mlir][Vector] Prevent AVX2 lowering for non-f32 transpose ops

The AVX2 lowering for transpose operations is only applicable to f32 vector types.

Reviewed By: aartbik

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


Compare: https://github.com/llvm/llvm-project/compare/767e64fc11d7...875bbce9f720


More information about the All-commits mailing list