Split the Add, Sub, and Mul instruction opcodes into separate
[oota-llvm.git] / test / CodeGen / PowerPC / 2006-10-11-combiner-aa-regression.ll
1 ; RUN: llvm-as < %s | \
2 ; RUN:   llc -march=ppc32 -combiner-alias-analysis | grep f5
3
4 target datalayout = "E-p:32:32"
5 target triple = "powerpc-apple-darwin8.2.0"
6         %struct.Point = type { double, double, double }
7
8 define void @offset(%struct.Point* %pt, double %x, double %y, double %z) {
9 entry:
10         %tmp = getelementptr %struct.Point* %pt, i32 0, i32 0           ; <double*> [#uses=2]
11         %tmp.upgrd.1 = load double* %tmp                ; <double> [#uses=1]
12         %tmp2 = fadd double %tmp.upgrd.1, %x             ; <double> [#uses=1]
13         store double %tmp2, double* %tmp
14         %tmp6 = getelementptr %struct.Point* %pt, i32 0, i32 1          ; <double*> [#uses=2]
15         %tmp7 = load double* %tmp6              ; <double> [#uses=1]
16         %tmp9 = fadd double %tmp7, %y            ; <double> [#uses=1]
17         store double %tmp9, double* %tmp6
18         %tmp13 = getelementptr %struct.Point* %pt, i32 0, i32 2         ; <double*> [#uses=2]
19         %tmp14 = load double* %tmp13            ; <double> [#uses=1]
20         %tmp16 = fadd double %tmp14, %z          ; <double> [#uses=1]
21         store double %tmp16, double* %tmp13
22         ret void
23 }
24