Home | History | Annotate | Download | only in X86
      1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
      2 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X86
      3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X64
      4 
      5 ; PR11580
      6 define <3 x float> @addf3(<3 x float> %x) {
      7 ; X86-LABEL: addf3:
      8 ; X86:       # %bb.0: # %entry
      9 ; X86-NEXT:    addps {{\.LCPI.*}}, %xmm0
     10 ; X86-NEXT:    retl
     11 ;
     12 ; X64-LABEL: addf3:
     13 ; X64:       # %bb.0: # %entry
     14 ; X64-NEXT:    addps {{.*}}(%rip), %xmm0
     15 ; X64-NEXT:    retq
     16 entry:
     17   %add = fadd <3 x float> %x, <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>
     18   ret <3 x float> %add
     19 }
     20 
     21 ; PR11580
     22 define <4 x float> @cvtf3_f4(<3 x float> %x) {
     23 ; X86-LABEL: cvtf3_f4:
     24 ; X86:       # %bb.0: # %entry
     25 ; X86-NEXT:    retl
     26 ;
     27 ; X64-LABEL: cvtf3_f4:
     28 ; X64:       # %bb.0: # %entry
     29 ; X64-NEXT:    retq
     30 entry:
     31   %extractVec = shufflevector <3 x float> %x, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef>
     32   ret <4 x float> %extractVec
     33 }
     34 
     35 ; PR11580
     36 define <3 x float> @cvtf4_f3(<4 x float> %x) {
     37 ; X86-LABEL: cvtf4_f3:
     38 ; X86:       # %bb.0: # %entry
     39 ; X86-NEXT:    retl
     40 ;
     41 ; X64-LABEL: cvtf4_f3:
     42 ; X64:       # %bb.0: # %entry
     43 ; X64-NEXT:    retq
     44 entry:
     45   %extractVec = shufflevector <4 x float> %x, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2>
     46   ret <3 x float> %extractVec
     47 }
     48