blob: e01609f3b1e4ada359ea977653f7955665d954ce [file] [log] [blame]
Akira Hatanaka2ef5bd32012-10-24 02:10:54 +00001; RUN: llc -march=mips64el -mcpu=mips64r2 -mattr=n64 -O3 < %s | FileCheck %s
Akira Hatanaka30580ce2012-10-19 22:11:40 +00002
3%struct.S = type { [8 x i32] }
4
5@g = common global %struct.S zeroinitializer, align 4
6
7define void @f(%struct.S* noalias sret %agg.result) nounwind {
8entry:
Akira Hatanaka1ae08e02013-03-04 22:25:01 +00009; CHECK: move $2, $4
Akira Hatanaka2ef5bd32012-10-24 02:10:54 +000010
Akira Hatanaka30580ce2012-10-19 22:11:40 +000011 %0 = bitcast %struct.S* %agg.result to i8*
12 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* bitcast (%struct.S* @g to i8*), i64 32, i32 4, i1 false)
13 ret void
14}
15
16declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind