1*e2d2ce9fSMatthias Braun; RUN: llc -verify-machineinstrs < %s | FileCheck %s
22f474f0eSHal Finkeltarget datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64"
32f474f0eSHal Finkeltarget triple = "powerpc64-unknown-freebsd10.0"
42f474f0eSHal Finkel
52f474f0eSHal Finkeldefine void @test1(i32 %c) nounwind {
62f474f0eSHal Finkelentry:
72f474f0eSHal Finkel  br label %for.body
82f474f0eSHal Finkel
92f474f0eSHal Finkelfor.body:                                         ; preds = %for.body, %entry
102f474f0eSHal Finkel  %i.01 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
112f474f0eSHal Finkel  call void asm sideeffect "", "~{r5}"() nounwind
122f474f0eSHal Finkel  %inc = add nsw i32 %i.01, 1
132f474f0eSHal Finkel  %exitcond = icmp eq i32 %inc, 2048
142f474f0eSHal Finkel  br i1 %exitcond, label %for.end, label %for.body
152f474f0eSHal Finkel
162f474f0eSHal Finkelfor.end:                                          ; preds = %for.body
172f474f0eSHal Finkel  ret void
182f474f0eSHal Finkel; CHECK: @test1
192f474f0eSHal Finkel; CHECK: mtctr
202f474f0eSHal Finkel}
212f474f0eSHal Finkel
222f474f0eSHal Finkeldefine void @test2(i32 %c) nounwind {
232f474f0eSHal Finkelentry:
242f474f0eSHal Finkel  br label %for.body
252f474f0eSHal Finkel
262f474f0eSHal Finkelfor.body:                                         ; preds = %for.body, %entry
272f474f0eSHal Finkel  %i.01 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
282f474f0eSHal Finkel  call void asm sideeffect "", "~{ctr}"() nounwind
292f474f0eSHal Finkel  %inc = add nsw i32 %i.01, 1
302f474f0eSHal Finkel  %exitcond = icmp eq i32 %inc, 2048
312f474f0eSHal Finkel  br i1 %exitcond, label %for.end, label %for.body
322f474f0eSHal Finkel
332f474f0eSHal Finkelfor.end:                                          ; preds = %for.body
342f474f0eSHal Finkel  ret void
352f474f0eSHal Finkel; CHECK: @test2
362f474f0eSHal Finkel; CHECK-NOT: mtctr
372f474f0eSHal Finkel}
382f474f0eSHal Finkel
39