__m256i test_mm256_mulhi_epu16(__m256i a, __m256i b) {
  // CHECK-LABEL: test_mm256_mulhi_epu16
  // CHECK: call <16 x i16> @llvm.x86.avx2.pmulhu.w(<16 x i16> %{{.*}}, <16 x i16> %{{.*}})
  return _mm256_mulhi_epu16(a, b);
}
Beispiel #2
0
__m256i test_mm256_mulhi_epu16(__m256i a, __m256i b) {
  // CHECK: @llvm.x86.avx2.pmulhu.w
  return _mm256_mulhi_epu16(a, b);
}
Beispiel #3
0
        template<bool align> SIMD_INLINE __m256i AverageRow16(const Buffer & buffer, size_t offset)
        {
			return _mm256_mulhi_epu16(K16_DIVISION_BY_9_FACTOR, _mm256_add_epi16(
				_mm256_add_epi16(K16_0005, Load<align>((__m256i*)(buffer.src0 + offset))),
				_mm256_add_epi16(Load<align>((__m256i*)(buffer.src1 + offset)), Load<align>((__m256i*)(buffer.src2 + offset)))));
        }