blob: 3856944c8f83d0551d46ad1b3834ab022fb18684 [file] [log] [blame]
Jakob Stoklund Olesenca6fd002011-03-31 22:14:03 +00001; RUN: llc < %s -mtriple=armv6-apple-darwin -regalloc=linearscan | FileCheck %s -check-prefix=V6
Evan Cheng9fde6ca2009-09-26 02:41:17 +00002; RUN: llc < %s -mtriple=armv5-apple-darwin | FileCheck %s -check-prefix=V5
3; RUN: llc < %s -mtriple=armv6-eabi | FileCheck %s -check-prefix=EABI
Evan Cheng358dec52009-06-15 08:28:29 +00004; rdar://r6949835
5
Jakob Stoklund Olesenca6fd002011-03-31 22:14:03 +00006; Magic ARM pair hints works best with linearscan.
7
Evan Cheng358dec52009-06-15 08:28:29 +00008@b = external global i64*
9
10define i64 @t(i64 %a) nounwind readonly {
11entry:
Jim Grosbach9a3507f2011-04-01 20:26:57 +000012;V6: ldrd r2, r3, [r2]
Evan Cheng9fde6ca2009-09-26 02:41:17 +000013
Jakob Stoklund Olesenca6fd002011-03-31 22:14:03 +000014;V5: ldr r{{[0-9]+}}, [r2]
15;V5: ldr r{{[0-9]+}}, [r2, #4]
Evan Cheng9fde6ca2009-09-26 02:41:17 +000016
Jakob Stoklund Olesenca6fd002011-03-31 22:14:03 +000017;EABI: ldr r{{[0-9]+}}, [r2]
18;EABI: ldr r{{[0-9]+}}, [r2, #4]
Evan Cheng9fde6ca2009-09-26 02:41:17 +000019
Evan Cheng358dec52009-06-15 08:28:29 +000020 %0 = load i64** @b, align 4
21 %1 = load i64* %0, align 4
22 %2 = mul i64 %1, %a
23 ret i64 %2
24}