[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / ARM / fpvcvtr.ll
blobc5df2c4a7c39e1bc1cf25d0c5ed4da26ac7dfb20
1 ; RUN: llc -mtriple=arm-eabi -mattr=+vfp2 %s -o - | FileCheck %s --check-prefix=CHECK-VFP
2 ; RUN: llc -mtriple=thumbv7-eabi -mattr=+vfp2 %s -o - | FileCheck %s --check-prefix=CHECK-VFP
4 declare float @llvm.arm.vcvtr.f32(float)
5 declare float @llvm.arm.vcvtru.f32(float)
6 declare float @llvm.arm.vcvtr.f64(double)
7 declare float @llvm.arm.vcvtru.f64(double)
9 define float @test_vcvtrf0(float %f) {
10 entry:
11 ; CHECK-VFP:  vcvtr.s32.f32  s0, s0
12   %vcvtr = tail call float @llvm.arm.vcvtr.f32(float %f)
13   ret float %vcvtr
16 define float @test_vcvtrf1(float %f) {
17 entry:
18 ; CHECK-VFP:  vcvtr.u32.f32  s0, s0
19   %vcvtr = tail call float @llvm.arm.vcvtru.f32(float %f)
20   ret float %vcvtr
23 define float @test_vcvtrd0(double %d) {
24 entry:
25 ; CHECK-VFP: vcvtr.s32.f64  s0, d{{.*}}
26   %vcvtr = tail call float @llvm.arm.vcvtr.f64(double %d)
27   ret float %vcvtr
30 define float @test_vcvtrd1(double %d) {
31 entry:
32 ; CHECK-VFP: vcvtr.u32.f64  s0, d{{.*}}
33   %vcvtr = tail call float @llvm.arm.vcvtru.f64(double %d)
34   ret float %vcvtr