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

Helpers extracted from: More...

Namespaces

 inline_asm
 
 intrin
 

Classes

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

Functions

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 
)