Home | History | Annotate | Download | only in Scalarizer
      1 ; RUN: opt %s -scalarizer -scalarize-load-store -S | FileCheck %s
      2 
      3 ; Test the handling of loads and stores when no data layout is available.
      4 define void @f1(<4 x float> *%dest, <4 x float> *%src) {
      5 ; CHECK: @f1(
      6 ; CHECK: %val = load <4 x float>* %src, align 4
      7 ; CHECK: %val.i0 = extractelement <4 x float> %val, i32 0
      8 ; CHECK: %add.i0 = fadd float %val.i0, %val.i0
      9 ; CHECK: %val.i1 = extractelement <4 x float> %val, i32 1
     10 ; CHECK: %add.i1 = fadd float %val.i1, %val.i1
     11 ; CHECK: %val.i2 = extractelement <4 x float> %val, i32 2
     12 ; CHECK: %add.i2 = fadd float %val.i2, %val.i2
     13 ; CHECK: %val.i3 = extractelement <4 x float> %val, i32 3
     14 ; CHECK: %add.i3 = fadd float %val.i3, %val.i3
     15 ; CHECK: %add.upto0 = insertelement <4 x float> undef, float %add.i0, i32 0
     16 ; CHECK: %add.upto1 = insertelement <4 x float> %add.upto0, float %add.i1, i32 1
     17 ; CHECK: %add.upto2 = insertelement <4 x float> %add.upto1, float %add.i2, i32 2
     18 ; CHECK: %add = insertelement <4 x float> %add.upto2, float %add.i3, i32 3
     19 ; CHECK: store <4 x float> %add, <4 x float>* %dest, align 8
     20 ; CHECK: ret void
     21   %val = load <4 x float> *%src, align 4
     22   %add = fadd <4 x float> %val, %val
     23   store <4 x float> %add, <4 x float> *%dest, align 8
     24   ret void
     25 }
     26