Skip to content

Commit aee4e57

Browse files
committed
Precommit tests
1 parent 8c43588 commit aee4e57

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 4
2+
; RUN: opt < %s -mtriple=x86_64-apple-darwin10.0.0 -passes="print<cost-model>" 2>&1 -disable-output | FileCheck %s
3+
4+
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
5+
6+
target triple = "x86_64-apple-darwin10.0.0"
7+
8+
@.memset_pattern = private unnamed_addr constant [4 x i32] [i32 2, i32 2, i32 2, i32 2], align 16
9+
10+
define void @via_libcall(ptr %p) nounwind ssp {
11+
; CHECK-LABEL: 'via_libcall'
12+
; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: call void @memset_pattern4(ptr %p, ptr @.memset_pattern, i64 200)
13+
; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: call void @memset_pattern8(ptr %p, ptr @.memset_pattern, i64 200)
14+
; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: call void @memset_pattern16(ptr %p, ptr @.memset_pattern, i64 200)
15+
; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
16+
;
17+
call void @memset_pattern4(ptr %p, ptr @.memset_pattern, i64 200)
18+
call void @memset_pattern8(ptr %p, ptr @.memset_pattern, i64 200)
19+
call void @memset_pattern16(ptr %p, ptr @.memset_pattern, i64 200)
20+
ret void
21+
}
22+
23+
declare void @memset_pattern4(ptr, ptr, i64)
24+
declare void @memset_pattern8(ptr, ptr, i64)
25+
declare void @memset_pattern16(ptr, ptr, i64)
26+
27+
define void @via_intrinsic(ptr %p) {
28+
; CHECK-LABEL: 'via_intrinsic'
29+
; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: call void @llvm.experimental.memset.pattern.p0.i16.i64(ptr align 4 %p, i16 2, i64 100, i1 false)
30+
; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: call void @llvm.experimental.memset.pattern.p0.i32.i64(ptr align 4 %p, i32 2, i64 50, i1 false)
31+
; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: call void @llvm.experimental.memset.pattern.p0.i64.i64(ptr align 4 %p, i64 2, i64 25, i1 false)
32+
; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: call void @llvm.experimental.memset.pattern.p0.i128.i64(ptr align 4 %p, i128 2, i64 12, i1 false)
33+
; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
34+
;
35+
call void @llvm.experimental.memset.pattern(ptr align 4 %p, i16 2, i64 100, i1 false)
36+
call void @llvm.experimental.memset.pattern(ptr align 4 %p, i32 2, i64 50, i1 false)
37+
call void @llvm.experimental.memset.pattern(ptr align 4 %p, i64 2, i64 25, i1 false)
38+
call void @llvm.experimental.memset.pattern(ptr align 4 %p, i128 2, i64 12, i1 false)
39+
ret void
40+
}

0 commit comments

Comments
 (0)