mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 20:23:39 +08:00
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@users.noreply.github.com>
Multi-Level Intermediate Representation
See https://mlir.llvm.org/ for more information.