brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 9bec9b5 Raw
44 lines · plain
1; RUN: opt -passes='require<profile-summary>,function(codegenprepare)' -mtriple=arm7-unknown-unknown -S < %s | FileCheck %s2 3declare void @llvm.memcpy.p0.p0.i32(ptr, ptr, i32, i1) nounwind4declare void @llvm.memmove.p0.p0.i32(ptr, ptr, i32, i1) nounwind5declare void @llvm.memset.p0.i32(ptr, i8, i32, i1) nounwind6 7define void @test_memcpy(ptr align 4 %dst, ptr align 8 %src, i32 %N) {8; CHECK-LABEL: @test_memcpy9; CHECK: call void @llvm.memcpy.p0.p0.i32(ptr align 4 %dst, ptr align 8 %src, i32 %N, i1 false)10; CHECK: call void @llvm.memcpy.p0.p0.i32(ptr align 4 %dst, ptr align 8 %src, i32 %N, i1 false)11; CHECK: call void @llvm.memcpy.p0.p0.i32(ptr align 8 %dst, ptr align 16 %src, i32 %N, i1 false)12entry:13  call void @llvm.memcpy.p0.p0.i32(ptr %dst, ptr %src, i32 %N, i1 false)14  call void @llvm.memcpy.p0.p0.i32(ptr align 2 %dst, ptr align 2 %src, i32 %N, i1 false)15  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %dst, ptr align 16 %src, i32 %N, i1 false)16  ret void17}18 19define void @test_memmove(ptr align 4 %dst, ptr align 8 %src, i32 %N) {20; CHECK-LABEL: @test_memmove21; CHECK: call void @llvm.memmove.p0.p0.i32(ptr align 4 %dst, ptr align 8 %src, i32 %N, i1 false)22; CHECK: call void @llvm.memmove.p0.p0.i32(ptr align 4 %dst, ptr align 8 %src, i32 %N, i1 false)23; CHECK: call void @llvm.memmove.p0.p0.i32(ptr align 8 %dst, ptr align 16 %src, i32 %N, i1 false)24entry:25  call void @llvm.memmove.p0.p0.i32(ptr %dst, ptr %src, i32 %N, i1 false)26  call void @llvm.memmove.p0.p0.i32(ptr align 2 %dst, ptr align 2 %src, i32 %N, i1 false)27  call void @llvm.memmove.p0.p0.i32(ptr align 8 %dst, ptr align 16 %src, i32 %N, i1 false)28  ret void29}30 31define void @test_memset(ptr align 4 %dst, i8 %val, i32 %N) {32; CHECK-LABEL: @test_memset33; CHECK: call void @llvm.memset.p0.i32(ptr align 4 %dst, i8 %val, i32 %N, i1 false)34; CHECK: call void @llvm.memset.p0.i32(ptr align 4 %dst, i8 %val, i32 %N, i1 false)35; CHECK: call void @llvm.memset.p0.i32(ptr align 8 %dst, i8 %val, i32 %N, i1 false)36entry:37  call void @llvm.memset.p0.i32(ptr %dst, i8 %val, i32 %N, i1 false)38  call void @llvm.memset.p0.i32(ptr align 2 %dst, i8 %val, i32 %N, i1 false)39  call void @llvm.memset.p0.i32(ptr align 8 %dst, i8 %val, i32 %N, i1 false)40  ret void41}42 43 44