[all-commits] [llvm/llvm-project] c3c3cc: [MLIR] support dynamic indexing of `vector.maskedl...

lialan via All-commits all-commits at lists.llvm.org
Tue Nov 12 09:22:38 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c3c3ccc364578c1897780974f685a44bdeec1584
      https://github.com/llvm/llvm-project/commit/c3c3ccc364578c1897780974f685a44bdeec1584
  Author: lialan <alan.li at me.com>
  Date:   2024-11-12 (Tue, 12 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir

  Log Message:
  -----------
  [MLIR] support dynamic indexing of `vector.maskedload` in `VectorEmulateNarrowTypes` (#115070)

Based on existing emulating scheme, this patch expands to support
dynamic indexing by dynamically create intermediate new mask, new pass
thru vector and dynamically insert the result into destination vector.

the dynamic parts are constructed by multiple `vector.extract` and
`vector.insert` to rearrange the original mask/passthru vector, as
`vector.insert_strided_slice` and `vector.extract_strided_slice` only
take static offsets and indices.

Note: currently only supporting `vector.maskedload` with masks created
by `vector.constant_mask`. `vector.create_mask` is currently not
working.

---------

Co-authored-by: hasekawa-takumi <167335845+hasekawa-takumi at users.noreply.github.com>



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