James Molloy | 75afc95 | 2016-06-07 11:47:24 +0000 | [diff] [blame] | 1 | ; RUN: llc -O3 < %s | FileCheck %s |
| 2 | |
| 3 | target datalayout = "e-m:e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" |
| 4 | target triple = "armv7--linux-gnu" |
| 5 | |
| 6 | @a = global i32 0, align 4 |
| 7 | @b = global i32 0, align 4 |
| 8 | @c = global i32 0, align 4 |
| 9 | |
| 10 | ; CHECK-LABEL: bar: |
| 11 | ; CHECK: ldm r{{[0-9]}}!, {r0, r{{[0-9]}}, r{{[0-9]}}} |
| 12 | define void @bar(i32 %a1, i32 %b1, i32 %c1) minsize optsize { |
| 13 | %1 = load i32, i32* @a, align 4 |
| 14 | %2 = load i32, i32* @b, align 4 |
| 15 | %3 = load i32, i32* @c, align 4 |
| 16 | %4 = tail call i32 @baz(i32 %1, i32 %3) minsize optsize |
| 17 | %5 = tail call i32 @baz(i32 %2, i32 %3) minsize optsize |
| 18 | ret void |
| 19 | } |
| 20 | |
| 21 | declare i32 @baz(i32,i32) minsize optsize |