Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86 -mattr=+sse2,-avx | FileCheck %s
      2 
      3 define <1 x float> @test1(<1 x double> %x) nounwind {
      4 ; CHECK: cvtsd2ss
      5 ; CHECK: ret
      6   %y = fptrunc <1 x double> %x to <1 x float>
      7   ret <1 x float> %y
      8 }
      9 
     10 
     11 define <2 x float> @test2(<2 x double> %x) nounwind {
     12 ; FIXME: It would be nice if this compiled down to a cvtpd2ps
     13 ; CHECK: cvtsd2ss
     14 ; CHECK: cvtsd2ss
     15 ; CHECK: ret
     16   %y = fptrunc <2 x double> %x to <2 x float>
     17   ret <2 x float> %y
     18 }
     19 
     20 define <8 x float> @test3(<8 x double> %x) nounwind {
     21 ; FIXME: It would be nice if this compiled down to a series of cvtpd2ps
     22 ; CHECK: cvtsd2ss
     23 ; CHECK: cvtsd2ss
     24 ; CHECK: cvtsd2ss
     25 ; CHECK: cvtsd2ss
     26 ; CHECK: cvtsd2ss
     27 ; CHECK: cvtsd2ss
     28 ; CHECK: cvtsd2ss
     29 ; CHECK: cvtsd2ss
     30 ; CHECK: ret
     31   %y = fptrunc <8 x double> %x to <8 x float>
     32   ret <8 x float> %y
     33 }
     34 
     35 
     36