blob: 67fefb4841b3614106f606ada32f965e874bfd0f [file] [log] [blame]
Dan Gohman18800922009-09-11 18:01:28 +00001; RUN: opt < %s -scalarrepl -S | not grep alloca
Chandler Carrutha5a29f92012-07-02 12:47:22 +00002; RUN: opt < %s -scalarrepl -S | not grep "7 x double"
3; RUN: opt < %s -scalarrepl -instcombine -S | grep "ret double %B"
Kenneth Uildriks90fedc62009-11-03 15:29:06 +00004target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"
Chris Lattner73eff2e2009-02-03 18:15:05 +00005
6define double @test(double %A, double %B) {
7 %ARR = alloca [7 x i64]
8 %C = bitcast [7 x i64]* %ARR to double*
9 store double %A, double* %C
10
11 %D = getelementptr [7 x i64]* %ARR, i32 0, i32 4
12 %E = bitcast i64* %D to double*
13 store double %B, double* %E
14
15 %F = getelementptr double* %C, i32 4
16 %G = load double* %F
17 ret double %G
18}
19
20