__m512 test_mm512_mask_andnot_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { // CHECK-LABEL: @test_mm512_mask_andnot_ps // CHECK: xor <16 x i32> %{{.*}}, <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1> // CHECK: and <16 x i32> %{{.*}}, %{{.*}} // CHECK: select <16 x i1> %{{.*}}, <16 x float> %{{.*}}, <16 x float> %{{.*}} return (__m512) _mm512_mask_andnot_ps(__W, __U, __A, __B); }
void extern avx512dq_test (void) { z = _mm512_andnot_ps (z, z); z = _mm512_mask_andnot_ps (z, m1, z, z); z = _mm512_maskz_andnot_ps (m1, z, z); y = _mm256_mask_andnot_ps (y, m2, y, y); y = _mm256_maskz_andnot_ps (m2, y, y); x = _mm_mask_andnot_ps (x, m2, x, x); x = _mm_maskz_andnot_ps (m2, x, x); }
__m512 test_mm512_mask_andnot_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { // CHECK-LABEL: @test_mm512_mask_andnot_ps // CHECK: @llvm.x86.avx512.mask.andn.ps.512 return (__m512) _mm512_mask_andnot_ps(__W, __U, __A, __B); }