MLIR  20.0.0git
Functions
mlir::x86vector::avx2::intrin Namespace Reference

Functions

Value mm256UnpackLoPs (ImplicitLocOpBuilder &b, Value v1, Value v2)
 Methods in the intrin namespace emulate clang's impl. of X86 intrinsics. More...
 
Value mm256UnpackHiPs (ImplicitLocOpBuilder &b, Value v1, Value v2)
 Lower to vector.shuffle v1, v2, [0, 8, 1, 9, 4, 12, 5, 13]. More...
 
Value mm256ShufflePs (ImplicitLocOpBuilder &b, Value v1, Value v2, uint8_t mask)
 a a b b a a b b Take an 8 bit mask, 2 bit for each position of a[0, 3) and b[0, 4): 0:127 | 128:255 b01 b23 C8 D8 | b01+4 b23+4 C8+4 D8+4 More...
 
Value mm256Permute2f128Ps (ImplicitLocOpBuilder &b, Value v1, Value v2, uint8_t mask)
 
Value mm256BlendPs (ImplicitLocOpBuilder &b, Value v1, Value v2, uint8_t mask)
 If bit i of mask is zero, take f32@i from v1 else take it from v2. More...
 

Function Documentation

◆ mm256BlendPs()

Value mlir::x86vector::avx2::intrin::mm256BlendPs ( ImplicitLocOpBuilder b,
Value  v1,
Value  v2,
uint8_t  mask 
)

If bit i of mask is zero, take f32@i from v1 else take it from v2.

Definition at line 103 of file AVXTranspose.cpp.

References mlir::ImplicitLocOpBuilder::create().

◆ mm256Permute2f128Ps()

Value mlir::x86vector::avx2::intrin::mm256Permute2f128Ps ( ImplicitLocOpBuilder b,
Value  v1,
Value  v2,
uint8_t  mask 
)

◆ mm256ShufflePs()

Value mlir::x86vector::avx2::intrin::mm256ShufflePs ( ImplicitLocOpBuilder b,
Value  v1,
Value  v2,
uint8_t  mask 
)

a a b b a a b b Take an 8 bit mask, 2 bit for each position of a[0, 3) and b[0, 4): 0:127 | 128:255 b01 b23 C8 D8 | b01+4 b23+4 C8+4 D8+4

a a b b a a b b Takes an 8 bit mask, 2 bit for each position of a[0, 3) and b[0, 4): 0:127 | 128:255 b01 b23 C8 D8 | b01+4 b23+4 C8+4 D8+4

Definition at line 64 of file AVXTranspose.cpp.

References mlir::ImplicitLocOpBuilder::create().

Referenced by mlir::x86vector::avx2::transpose4x8xf32(), and mlir::x86vector::avx2::transpose8x8xf32().

◆ mm256UnpackHiPs()

Value mlir::x86vector::avx2::intrin::mm256UnpackHiPs ( ImplicitLocOpBuilder b,
Value  v1,
Value  v2 
)

Lower to vector.shuffle v1, v2, [0, 8, 1, 9, 4, 12, 5, 13].

Definition at line 55 of file AVXTranspose.cpp.

References mlir::ImplicitLocOpBuilder::create().

Referenced by mlir::x86vector::avx2::transpose4x8xf32(), and mlir::x86vector::avx2::transpose8x8xf32().

◆ mm256UnpackLoPs()

Value mlir::x86vector::avx2::intrin::mm256UnpackLoPs ( ImplicitLocOpBuilder b,
Value  v1,
Value  v2 
)

Methods in the intrin namespace emulate clang's impl. of X86 intrinsics.

Lower to vector.shuffle v1, v2, [0, 8, 1, 9, 4, 12, 5, 13].

Definition at line 49 of file AVXTranspose.cpp.

References mlir::ImplicitLocOpBuilder::create().

Referenced by mlir::x86vector::avx2::transpose4x8xf32(), and mlir::x86vector::avx2::transpose8x8xf32().