• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -mtriple=thumb-eabi -mcpu=cortex-a8 %s -o - | FileCheck %s
2; rdar://7368193
3
4@a = common global float 0.000000e+00             ; <float*> [#uses=2]
5@b = common global float 0.000000e+00             ; <float*> [#uses=1]
6
7define float @t(i32 %c) nounwind {
8entry:
9  %0 = icmp sgt i32 %c, 1                         ; <i1> [#uses=1]
10  %1 = load float, float* @a, align 4                    ; <float> [#uses=2]
11  %2 = load float, float* @b, align 4                    ; <float> [#uses=2]
12  br i1 %0, label %bb, label %bb1
13
14bb:                                               ; preds = %entry
15; CHECK:      vsub.f32
16; CHECK-NEXT: vadd.f32
17; CHECK:      it gt
18  %3 = fadd float %1, %2                          ; <float> [#uses=1]
19  br label %bb2
20
21bb1:                                              ; preds = %entry
22  %4 = fsub float %1, %2                          ; <float> [#uses=1]
23  br label %bb2
24
25bb2:                                              ; preds = %bb1, %bb
26  %storemerge = phi float [ %4, %bb1 ], [ %3, %bb ] ; <float> [#uses=2]
27  store float %storemerge, float* @a
28  ret float %storemerge
29}
30