blob: 30b9f59a8b3d0fc3da237c7cdbfc008068d68226 [file] [log] [blame]
Andrew Trick87896d92011-04-13 00:38:32 +00001; RUN: llc < %s -mtriple=thumbv7-apple-darwin -regalloc=linearscan -disable-post-ra | FileCheck %s
Evan Cheng4102eb52007-10-22 22:11:27 +00002
Jakob Stoklund Olesenca6fd002011-03-31 22:14:03 +00003; The ARM magic hinting works best with linear scan.
Andrew Trick87896d92011-04-13 00:38:32 +00004; CHECK: ldrd
5; CHECK: strd
Jakob Stoklund Olesenca6fd002011-03-31 22:14:03 +00006; CHECK: ldrb
7
8%struct.x = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }
Chris Lattnerb85e4eb2011-06-18 06:05:24 +00009
Evan Cheng4102eb52007-10-22 22:11:27 +000010@src = external global %struct.x
11@dst = external global %struct.x
12
13define i32 @t() {
14entry:
Chris Lattnerb85e4eb2011-06-18 06:05:24 +000015 call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds (%struct.x* @dst, i32 0, i32 0), i8* getelementptr inbounds (%struct.x* @src, i32 0, i32 0), i32 11, i32 8, i1 false)
16 ret i32 0
Evan Cheng4102eb52007-10-22 22:11:27 +000017}
18
Chris Lattnerb85e4eb2011-06-18 06:05:24 +000019declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind