; RUN: llc < %s -mtriple=armv6-linux-gnu -regalloc=basic | FileCheck %s

; The greedy register allocator uses a single CSR here, invalidating the test.

@b = external global i64*

define i64 @t(i64 %a) nounwind readonly {
entry:
; CHECK: push {lr}
; CHECK: pop {lr}
	%0 = load i64** @b, align 4
	%1 = load i64* %0, align 4
	%2 = mul i64 %1, %a
	ret i64 %2
}

; RUN: llc < %s -mtriple=armv6-linux-gnu | FileCheck %s

@b = external global i64*

define i64 @t(i64 %a) nounwind readonly {
entry:
; CHECK: push {r4, r5, lr}
; CHECK: pop {r4, r5, pc}
        call void asm sideeffect "", "~{r4},~{r5}"() nounwind
	%0 = load i64** @b, align 4
	%1 = load i64* %0, align 4
	%2 = mul i64 %1, %a
	ret i64 %2
}

Fix test that depends on register allocation.
Fix test that depends on register allocation.

The test is really checking the prolog/epilog load/store multiple
formation.

git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@158328 91177308-0d34-0410-b5e6-96231b3b80d8
