Jakob Stoklund Olesen | ca6fd00 | 2011-03-31 22:14:03 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=armv6-apple-darwin -regalloc=linearscan | FileCheck %s -check-prefix=V6 |
Jakob Stoklund Olesen | d5b679c | 2011-04-30 01:37:52 +0000 | [diff] [blame] | 2 | ; RUN: llc < %s -mtriple=armv5-apple-darwin -regalloc=linearscan | FileCheck %s -check-prefix=V5 |
| 3 | ; RUN: llc < %s -mtriple=armv6-eabi -regalloc=linearscan | FileCheck %s -check-prefix=EABI |
Evan Cheng | 358dec5 | 2009-06-15 08:28:29 +0000 | [diff] [blame] | 4 | ; rdar://r6949835 |
| 5 | |
Jakob Stoklund Olesen | ca6fd00 | 2011-03-31 22:14:03 +0000 | [diff] [blame] | 6 | ; Magic ARM pair hints works best with linearscan. |
| 7 | |
Evan Cheng | 358dec5 | 2009-06-15 08:28:29 +0000 | [diff] [blame] | 8 | @b = external global i64* |
| 9 | |
| 10 | define i64 @t(i64 %a) nounwind readonly { |
| 11 | entry: |
Jim Grosbach | 9a3507f | 2011-04-01 20:26:57 +0000 | [diff] [blame] | 12 | ;V6: ldrd r2, r3, [r2] |
Evan Cheng | 9fde6ca | 2009-09-26 02:41:17 +0000 | [diff] [blame] | 13 | |
Jakob Stoklund Olesen | ca6fd00 | 2011-03-31 22:14:03 +0000 | [diff] [blame] | 14 | ;V5: ldr r{{[0-9]+}}, [r2] |
| 15 | ;V5: ldr r{{[0-9]+}}, [r2, #4] |
Evan Cheng | 9fde6ca | 2009-09-26 02:41:17 +0000 | [diff] [blame] | 16 | |
Jakob Stoklund Olesen | ca6fd00 | 2011-03-31 22:14:03 +0000 | [diff] [blame] | 17 | ;EABI: ldr r{{[0-9]+}}, [r2] |
| 18 | ;EABI: ldr r{{[0-9]+}}, [r2, #4] |
Evan Cheng | 9fde6ca | 2009-09-26 02:41:17 +0000 | [diff] [blame] | 19 | |
Evan Cheng | 358dec5 | 2009-06-15 08:28:29 +0000 | [diff] [blame] | 20 | %0 = load i64** @b, align 4 |
| 21 | %1 = load i64* %0, align 4 |
| 22 | %2 = mul i64 %1, %a |
| 23 | ret i64 %2 |
| 24 | } |