MLIR  19.0.0git
Namespaces | Classes | Functions
mlir::x86vector::avx2 Namespace Reference

Helpers extracted from: More...




struct  TransposeLoweringOptions
 Structure to control the behavior of specialized AVX2 transpose lowering. More...
struct  LoweringOptions
 Options for controlling specialized AVX2 lowerings. More...


void transpose4x8xf32 (ImplicitLocOpBuilder &ib, MutableArrayRef< Value > vs)
 Generic lowerings may either use intrin or inline_asm depending on needs. More...
void transpose8x8xf32 (ImplicitLocOpBuilder &ib, MutableArrayRef< Value > vs)
 8x8xf32-specific AVX2 transpose lowering. More...
void populateSpecializedTransposeLoweringPatterns (RewritePatternSet &patterns, LoweringOptions options=LoweringOptions(), int benefit=10)
 Insert specialized transpose lowering patterns. More...

Detailed Description

Helpers extracted from:

Function Documentation

◆ populateSpecializedTransposeLoweringPatterns()

void mlir::x86vector::avx2::populateSpecializedTransposeLoweringPatterns ( RewritePatternSet patterns,
LoweringOptions  options = LoweringOptions(),
int  benefit = 10 

Insert specialized transpose lowering patterns.

Definition at line 288 of file AVXTranspose.cpp.

References mlir::RewritePatternSet::add(), mlir::RewritePatternSet::getContext(), and options.

◆ transpose4x8xf32()

void mlir::x86vector::avx2::transpose4x8xf32 ( ImplicitLocOpBuilder ib,
MutableArrayRef< Value vs 

Generic lowerings may either use intrin or inline_asm depending on needs.

AVX2 4x8xf32-specific transpose lowering using a "C intrinsics" model.

4x8xf32-specific AVX2 transpose lowering.

Definition at line 115 of file AVXTranspose.cpp.

References mlir::get(), mlir::Builder::getContext(), mlir::x86vector::avx2::intrin::mm256Permute2f128Ps(), mlir::x86vector::avx2::intrin::mm256ShufflePs(), mlir::x86vector::avx2::intrin::mm256UnpackHiPs(), and mlir::x86vector::avx2::intrin::mm256UnpackLoPs().

◆ transpose8x8xf32()

void mlir::x86vector::avx2::transpose8x8xf32 ( ImplicitLocOpBuilder ib,
MutableArrayRef< Value vs