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. 4define 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