blob: acc0647bc87d75ec8f9194170d467fa052208098 [file] [log] [blame]
Evan Chengb1f49812009-12-22 17:47:23 +00001; RUN: llc < %s -march=x86-64 -mattr=+sse2 | FileCheck %s
Evan Cheng400073d2009-12-18 07:40:29 +00002
3define double @t1(float* nocapture %x) nounwind readonly ssp {
4entry:
Evan Chengb1f49812009-12-22 17:47:23 +00005; CHECK: t1:
6; CHECK: movss (%rdi), %xmm0
7; CHECK; cvtss2sd %xmm0, %xmm0
Evan Cheng400073d2009-12-18 07:40:29 +00008
Evan Cheng400073d2009-12-18 07:40:29 +00009 %0 = load float* %x, align 4
10 %1 = fpext float %0 to double
11 ret double %1
12}
13
Evan Chengb1f49812009-12-22 17:47:23 +000014define float @t2(double* nocapture %x) nounwind readonly ssp optsize {
Evan Cheng400073d2009-12-18 07:40:29 +000015entry:
Evan Chengb1f49812009-12-22 17:47:23 +000016; CHECK: t2:
17; CHECK; cvtsd2ss (%rdi), %xmm0
Evan Cheng400073d2009-12-18 07:40:29 +000018 %0 = load double* %x, align 8
19 %1 = fptrunc double %0 to float
20 ret float %1
21}