| Stepan Dyatkovskiy | 283baa0 | 2012-10-10 11:43:40 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=armv7-none-linux-gnueabi | FileCheck %s |
| 2 | ; Check that LDRB_POST_IMM instruction emitted properly. |
| 3 | |
| 4 | %my_struct_t = type { double, double, double } |
| 5 | @main.val = private unnamed_addr constant %my_struct_t { double 1.0, double 2.0, double 3.0 }, align 8 |
| 6 | |
| 7 | declare void @f(i32 %n1, %my_struct_t* byval %val); |
| 8 | |
| 9 | |
| 10 | ; CHECK: main: |
| 11 | define i32 @main() nounwind { |
| 12 | entry: |
| 13 | %val = alloca %my_struct_t, align 8 |
| 14 | %0 = bitcast %my_struct_t* %val to i8* |
| 15 | |
| 16 | ; CHECK: ldrb {{(r[0-9]+)}}, {{(\[r[0-9]+\])}}, #1 |
| 17 | call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* bitcast (%my_struct_t* @main.val to i8*), i32 24, i32 8, i1 false) |
| 18 | |
| 19 | call void @f(i32 555, %my_struct_t* byval %val) |
| 20 | ret i32 0 |
| 21 | } |
| 22 | |
| 23 | declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind |