예제 #1
0
void extern
avx512dq_test (void)
{
  z = _mm512_range_round_ps (z, z, 15, _MM_FROUND_NO_EXC);
  z = _mm512_range_ps (z, z, 15);
  y = _mm256_range_ps (y, y, 15);
  x = _mm_range_ps (x, x, 15);

  z = _mm512_mask_range_round_ps (z, m16, z, z, 15, _MM_FROUND_NO_EXC);
  z = _mm512_mask_range_ps (z, m16, z, z, 15);
  y = _mm256_mask_range_ps (y, m8, y, y, 15);
  x = _mm_mask_range_ps (x, m8, x, x, 15);

  z = _mm512_maskz_range_round_ps (m16, z, z, 15, _MM_FROUND_NO_EXC);
  z = _mm512_maskz_range_ps (m16, z, z, 15);
  y = _mm256_maskz_range_ps (m8, y, y, 15);
  x = _mm_maskz_range_ps (m8, x, x, 15);
}
예제 #2
0
__m128 test_mm_range_ps(__m128 __A, __m128 __B) {
  // CHECK-LABEL: @test_mm_range_ps
  // CHECK: @llvm.x86.avx512.mask.range.ps.128
  return _mm_range_ps(__A, __B, 4); 
}