1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -mattr=+avx | FileCheck %s
3 ; CHECK: vcvtdq2ps %ymm
4 define <8 x float> @sitofp00(<8 x i32> %a) nounwind {
5 %b = sitofp <8 x i32> %a to <8 x float>
9 ; CHECK: vcvttps2dq %ymm
10 define <8 x i32> @fptosi00(<8 x float> %a) nounwind {
11 %b = fptosi <8 x float> %a to <8 x i32>
15 ; CHECK: vcvtpd2psy %ymm
16 ; CHECK-NEXT: vcvtpd2psy %ymm
17 ; CHECK-NEXT: vinsertf128 $1
18 define <8 x float> @fptrunc00(<8 x double> %b) nounwind {
19 %a = fptrunc <8 x double> %b to <8 x float>
23 ; CHECK: vcvtsi2sdq (%
24 define double @funcA(i64* nocapture %e) nounwind uwtable readonly ssp {
26 %tmp1 = load i64* %e, align 8
27 %conv = sitofp i64 %tmp1 to double
32 define double @funcB(i32* nocapture %e) nounwind uwtable readonly ssp {
34 %tmp1 = load i32* %e, align 4
35 %conv = sitofp i32 %tmp1 to double
40 define float @funcC(i32* nocapture %e) nounwind uwtable readonly ssp {
42 %tmp1 = load i32* %e, align 4
43 %conv = sitofp i32 %tmp1 to float
47 ; CHECK: vcvtsi2ssq (%
48 define float @funcD(i64* nocapture %e) nounwind uwtable readonly ssp {
50 %tmp1 = load i64* %e, align 8
51 %conv = sitofp i64 %tmp1 to float
56 define void @fpext() nounwind uwtable {
58 %f = alloca float, align 4
59 %d = alloca double, align 8
60 %tmp = load float* %f, align 4
61 %conv = fpext float %tmp to double
62 store double %conv, double* %d, align 8