; RUN: llc < %s -march=arm64 -arm64-neon-syntax=apple | FileCheck %s define <2 x double> @f1(<2 x i32> %v) nounwind readnone { ; CHECK-LABEL: f1: ; CHECK: sshll.2d v0, v0, #0 ; CHECK-NEXT: scvtf.2d v0, v0 ; CHECK-NEXT: ret %conv = sitofp <2 x i32> %v to <2 x double> ret <2 x double> %conv } define <2 x double> @f2(<2 x i32> %v) nounwind readnone { ; CHECK-LABEL: f2: ; CHECK: ushll.2d v0, v0, #0 ; CHECK-NEXT: ucvtf.2d v0, v0 ; CHECK-NEXT: ret %conv = uitofp <2 x i32> %v to <2 x double> ret <2 x double> %conv } ; CHECK: autogen_SD19655 ; CHECK: scvtf ; CHECK: ret define void @autogen_SD19655() { %T = load <2 x i64>* undef %F = sitofp <2 x i64> undef to <2 x float> store <2 x float> %F, <2 x float>* undef ret void }