1 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu cortex-a57 -ffreestanding -O1 -emit-llvm %s -o - | FileCheck %s 2 3 #include <arm_neon.h> 4 5 float32x2_t test_vrnda_f32(float32x2_t a) { 6 // CHECK-LABEL: test_vrnda_f32 7 // CHECK: call <2 x float> @llvm.arm.neon.vrinta.v2f32(<2 x float> %a) 8 return vrnda_f32(a); 9 } 10 11 float32x4_t test_vrndaq_f32(float32x4_t a) { 12 // CHECK-LABEL: test_vrndaq_f32 13 // CHECK: call <4 x float> @llvm.arm.neon.vrinta.v4f32(<4 x float> %a) 14 return vrndaq_f32(a); 15 } 16 17 float32x2_t test_vrndm_f32(float32x2_t a) { 18 // CHECK-LABEL: test_vrndm_f32 19 // CHECK: call <2 x float> @llvm.arm.neon.vrintm.v2f32(<2 x float> %a) 20 return vrndm_f32(a); 21 } 22 23 float32x4_t test_vrndmq_f32(float32x4_t a) { 24 // CHECK-LABEL: test_vrndmq_f32 25 // CHECK: call <4 x float> @llvm.arm.neon.vrintm.v4f32(<4 x float> %a) 26 return vrndmq_f32(a); 27 } 28 29 float32x2_t test_vrndn_f32(float32x2_t a) { 30 // CHECK-LABEL: test_vrndn_f32 31 // CHECK: call <2 x float> @llvm.arm.neon.vrintn.v2f32(<2 x float> %a) 32 return vrndn_f32(a); 33 } 34 35 float32x4_t test_vrndnq_f32(float32x4_t a) { 36 // CHECK-LABEL: test_vrndnq_f32 37 // CHECK: call <4 x float> @llvm.arm.neon.vrintn.v4f32(<4 x float> %a) 38 return vrndnq_f32(a); 39 } 40 41 float32x2_t test_vrndp_f32(float32x2_t a) { 42 // CHECK-LABEL: test_vrndp_f32 43 // CHECK: call <2 x float> @llvm.arm.neon.vrintp.v2f32(<2 x float> %a) 44 return vrndp_f32(a); 45 } 46 47 float32x4_t test_vrndpq_f32(float32x4_t a) { 48 // CHECK-LABEL: test_vrndpq_f32 49 // CHECK: call <4 x float> @llvm.arm.neon.vrintp.v4f32(<4 x float> %a) 50 return vrndpq_f32(a); 51 } 52 53 float32x2_t test_vrndx_f32(float32x2_t a) { 54 // CHECK-LABEL: test_vrndx_f32 55 // CHECK: call <2 x float> @llvm.arm.neon.vrintx.v2f32(<2 x float> %a) 56 return vrndx_f32(a); 57 } 58 59 float32x4_t test_vrndxq_f32(float32x4_t a) { 60 // CHECK-LABEL: test_vrndxq_f32 61 // CHECK: call <4 x float> @llvm.arm.neon.vrintx.v4f32(<4 x float> %a) 62 return vrndxq_f32(a); 63 } 64 65 float32x2_t test_vrnd_f32(float32x2_t a) { 66 // CHECK-LABEL: test_vrnd_f32 67 // CHECK: call <2 x float> @llvm.arm.neon.vrintz.v2f32(<2 x float> %a) 68 return vrnd_f32(a); 69 } 70 71 float32x4_t test_vrndq_f32(float32x4_t a) { 72 // CHECK-LABEL: test_vrndq_f32 73 // CHECK: call <4 x float> @llvm.arm.neon.vrintz.v4f32(<4 x float> %a) 74 return vrndq_f32(a); 75 } 76