1*c9bde540SSjoerd Meijer; RUN: llc -mtriple=arm-eabi -mattr=+vfp2 %s -o - | FileCheck %s --check-prefix=CHECK-VFP 2*c9bde540SSjoerd Meijer; RUN: llc -mtriple=thumbv7-eabi -mattr=+vfp2 %s -o - | FileCheck %s --check-prefix=CHECK-VFP 3*c9bde540SSjoerd Meijer 4*c9bde540SSjoerd Meijerdeclare float @llvm.arm.vcvtr.f32(float) 5*c9bde540SSjoerd Meijerdeclare float @llvm.arm.vcvtru.f32(float) 6*c9bde540SSjoerd Meijerdeclare float @llvm.arm.vcvtr.f64(double) 7*c9bde540SSjoerd Meijerdeclare float @llvm.arm.vcvtru.f64(double) 8*c9bde540SSjoerd Meijer 9*c9bde540SSjoerd Meijerdefine float @test_vcvtrf0(float %f) { 10*c9bde540SSjoerd Meijerentry: 11*c9bde540SSjoerd Meijer; CHECK-VFP: vcvtr.s32.f32 s0, s0 12*c9bde540SSjoerd Meijer %vcvtr = tail call float @llvm.arm.vcvtr.f32(float %f) 13*c9bde540SSjoerd Meijer ret float %vcvtr 14*c9bde540SSjoerd Meijer} 15*c9bde540SSjoerd Meijer 16*c9bde540SSjoerd Meijerdefine float @test_vcvtrf1(float %f) { 17*c9bde540SSjoerd Meijerentry: 18*c9bde540SSjoerd Meijer; CHECK-VFP: vcvtr.u32.f32 s0, s0 19*c9bde540SSjoerd Meijer %vcvtr = tail call float @llvm.arm.vcvtru.f32(float %f) 20*c9bde540SSjoerd Meijer ret float %vcvtr 21*c9bde540SSjoerd Meijer} 22*c9bde540SSjoerd Meijer 23*c9bde540SSjoerd Meijerdefine float @test_vcvtrd0(double %d) { 24*c9bde540SSjoerd Meijerentry: 25*c9bde540SSjoerd Meijer; CHECK-VFP: vcvtr.s32.f64 s0, d{{.*}} 26*c9bde540SSjoerd Meijer %vcvtr = tail call float @llvm.arm.vcvtr.f64(double %d) 27*c9bde540SSjoerd Meijer ret float %vcvtr 28*c9bde540SSjoerd Meijer} 29*c9bde540SSjoerd Meijer 30*c9bde540SSjoerd Meijerdefine float @test_vcvtrd1(double %d) { 31*c9bde540SSjoerd Meijerentry: 32*c9bde540SSjoerd Meijer; CHECK-VFP: vcvtr.u32.f64 s0, d{{.*}} 33*c9bde540SSjoerd Meijer %vcvtr = tail call float @llvm.arm.vcvtru.f64(double %d) 34*c9bde540SSjoerd Meijer ret float %vcvtr 35*c9bde540SSjoerd Meijer} 36