xref: /llvm-project/clang/test/CodeGen/arm64-vrnd.c (revision d96161a179c7dabad3af0bbf8e899cfe077a8a4b)
1 // RUN: %clang_cc1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -flax-vector-conversions=none -emit-llvm -o - %s | FileCheck %s
2 
3 // REQUIRES: aarch64-registered-target || arm-registered-target
4 
5 #include <arm_neon.h>
6 
rnd5(float64x2_t a)7 float64x2_t rnd5(float64x2_t a) { return vrndq_f64(a); }
8 // CHECK: call <2 x double> @llvm.trunc.v2f64(<2 x double>
9 
rnd9(float64x2_t a)10 float64x2_t rnd9(float64x2_t a) { return vrndnq_f64(a); }
11 // CHECK: call <2 x double> @llvm.roundeven.v2f64(<2 x double>
12 
rnd13(float64x2_t a)13 float64x2_t rnd13(float64x2_t a) { return vrndmq_f64(a); }
14 // CHECK: call <2 x double> @llvm.floor.v2f64(<2 x double>
15 
rnd18(float64x2_t a)16 float64x2_t rnd18(float64x2_t a) { return vrndpq_f64(a); }
17 // CHECK: call <2 x double> @llvm.ceil.v2f64(<2 x double>
18 
rnd22(float64x2_t a)19 float64x2_t rnd22(float64x2_t a) { return vrndaq_f64(a); }
20 // CHECK: call <2 x double> @llvm.round.v2f64(<2 x double>
21 
rnd25(float64x2_t a)22 float64x2_t rnd25(float64x2_t a) { return vrndxq_f64(a); }
23 // CHECK: call <2 x double> @llvm.rint.v2f64(<2 x double>
24 
25