void check_mm_vmfrcz_sd (__m128d __A, __m128d __B) { union128d a, b, c; double d[2]; a.x = __A; b.x = __B; c.x = _mm_frcz_sd (__A, __B); d[0] = b.a[0] - (int)b.a[0] ; d[1] = a.a[1]; if (check_union128d (c, d)) abort (); }
__m128d test_mm_frcz_sd(__m128d a) { // CHECK-LABEL: test_mm_frcz_sd // CHECK: call <2 x double> @llvm.x86.xop.vfrcz.sd(<2 x double> %{{.*}}) return _mm_frcz_sd(a); }
__m128d test_mm_frcz_sd(__m128d a) { // CHECK: @llvm.x86.xop.vfrcz.sd // CHECK-ASM: vfrczsd %xmm{{.*}}, %xmm{{.*}} return _mm_frcz_sd(a); }
__m128d test_mm_frcz_sd(__m128d a) { // CHECK-LABEL: test_mm_frcz_sd // CHECK: @llvm.x86.xop.vfrcz.sd return _mm_frcz_sd(a); }