1 ; RUN: llc < %s -march=arm -mattr=+neon | FileCheck %s 2 3 define <2 x i32> @test1(<2 x double>* %A) { 4 ; CHECK: test1 5 ; CHECK: vcvt.s32.f64 6 ; CHECK: vcvt.s32.f64 7 %tmp1 = load <2 x double>* %A 8 %tmp2 = fptosi <2 x double> %tmp1 to <2 x i32> 9 ret <2 x i32> %tmp2 10 } 11 12 define <2 x i32> @test2(<2 x double>* %A) { 13 ; CHECK: test2 14 ; CHECK: vcvt.u32.f64 15 ; CHECK: vcvt.u32.f64 16 %tmp1 = load <2 x double>* %A 17 %tmp2 = fptoui <2 x double> %tmp1 to <2 x i32> 18 ret <2 x i32> %tmp2 19 } 20 21 define <2 x double> @test3(<2 x i32>* %A) { 22 ; CHECK: test3 23 ; CHECK: vcvt.f64.s32 24 ; CHECK: vcvt.f64.s32 25 %tmp1 = load <2 x i32>* %A 26 %tmp2 = sitofp <2 x i32> %tmp1 to <2 x double> 27 ret <2 x double> %tmp2 28 } 29 30 define <2 x double> @test4(<2 x i32>* %A) { 31 ; CHECK: test4 32 ; CHECK: vcvt.f64.u32 33 ; CHECK: vcvt.f64.u32 34 %tmp1 = load <2 x i32>* %A 35 %tmp2 = uitofp <2 x i32> %tmp1 to <2 x double> 36 ret <2 x double> %tmp2 37 } 38