|  | ; RUN: llc < %s -mtriple=armv7-apple-darwin   | FileCheck %s --check-prefix=ARM | 
|  | ; RUN: llc < %s -mtriple=thumbv7-apple-darwin | FileCheck %s --check-prefix=THUMB2 | 
|  | ; rdar://8690640 | 
|  |  | 
|  | define i32* @t(i32* %x) nounwind { | 
|  | entry: | 
|  | ; ARM: t: | 
|  | ; ARM: push | 
|  | ; ARM: mov r7, sp | 
|  | ; ARM: bl _foo | 
|  | ; ARM: bl _foo | 
|  | ; ARM: bl _foo | 
|  | ; ARM: pop {r7, pc} | 
|  |  | 
|  | ; THUMB2: t: | 
|  | ; THUMB2: push | 
|  | ; THUMB2: mov r7, sp | 
|  | ; THUMB2: blx _foo | 
|  | ; THUMB2: blx _foo | 
|  | ; THUMB2: blx _foo | 
|  | ; THUMB2: pop | 
|  | %0 = tail call i32* @foo(i32* %x) nounwind | 
|  | %1 = tail call i32* @foo(i32* %0) nounwind | 
|  | %2 = tail call i32* @foo(i32* %1) nounwind | 
|  | ret i32* %2 | 
|  | } | 
|  |  | 
|  | declare i32* @foo(i32*) |