MLIR 22.0.0git
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.
Value mm256UnpackHiPs (ImplicitLocOpBuilder &b, Value v1, Value v2)
 Lower to vector.shuffle v1, v2, [0, 8, 1, 9, 4, 12, 5, 13].
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
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.

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 102 of file AVXTranspose.cpp.

References b.

◆ 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 63 of file AVXTranspose.cpp.

References b, and mlir::x86vector::MaskHelper::extractShuffle().

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 54 of file AVXTranspose.cpp.

References b.

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 48 of file AVXTranspose.cpp.

References b.

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