ret <8 x float> %b
}
-; CHECK: vcvtdq2ps
-; CHECK-NEXT: vcvtps2pd
+; CHECK: vcvttps2dq %ymm
+define <8 x i32> @fptosi00(<8 x float> %a) nounwind {
+ %b = fptosi <8 x float> %a to <8 x i32>
+ ret <8 x i32> %b
+}
+
+; CHECK: vcvtdq2pd %xmm
define <4 x double> @sitofp01(<4 x i32> %a) {
%b = sitofp <4 x i32> %a to <4 x double>
ret <4 x double> %b
}
-; CHECK: vcvttps2dq %ymm
-define <8 x i32> @fptosi00(<8 x float> %a) nounwind {
- %b = fptosi <8 x float> %a to <8 x i32>
- ret <8 x i32> %b
+; CHECK: vcvtdq2ps %ymm
+define <8 x float> @sitofp02(<8 x i16> %a) {
+ %b = sitofp <8 x i16> %a to <8 x float>
+ ret <8 x float> %b
+}
+
+; CHECK: vcvttpd2dqy %ymm
+define <4 x i32> @fptosi01(<4 x double> %a) {
+ %b = fptosi <4 x double> %a to <4 x i32>
+ ret <4 x i32> %b
}
; CHECK: vcvtpd2psy %ymm
ret double %conv
}
-; CHECK: vcvtsi2sd (%
+; CHECK: vcvtsi2sdl (%
define double @funcB(i32* nocapture %e) nounwind uwtable readonly ssp {
entry:
%tmp1 = load i32* %e, align 4
ret double %conv
}
-; CHECK: vcvtsi2ss (%
+; CHECK: vcvtsi2ssl (%
define float @funcC(i32* nocapture %e) nounwind uwtable readonly ssp {
entry:
%tmp1 = load i32* %e, align 4