Mercurial > hg > CbC > CbC_llvm
comparison test/Assembler/auto_upgrade_intrinsics.ll @ 120:1172e4bd9c6f
update 4.0.0
author | mir3636 |
---|---|
date | Fri, 25 Nov 2016 19:14:25 +0900 |
parents | afa8332a0e37 |
children | 803732b1fca8 |
comparison
equal
deleted
inserted
replaced
101:34baf5011add | 120:1172e4bd9c6f |
---|---|
52 @a = private global [60 x i8] zeroinitializer, align 1 | 52 @a = private global [60 x i8] zeroinitializer, align 1 |
53 | 53 |
54 define i32 @test.objectsize() { | 54 define i32 @test.objectsize() { |
55 ; CHECK-LABEL: @test.objectsize( | 55 ; CHECK-LABEL: @test.objectsize( |
56 ; CHECK: @llvm.objectsize.i32.p0i8 | 56 ; CHECK: @llvm.objectsize.i32.p0i8 |
57 ; CHECK-DAG: declare i32 @llvm.objectsize.i32.p0i8 | |
58 %s = call i32 @llvm.objectsize.i32(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @a, i32 0, i32 0), i1 false) | 57 %s = call i32 @llvm.objectsize.i32(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @a, i32 0, i32 0), i1 false) |
59 ret i32 %s | 58 ret i32 %s |
60 } | 59 } |
60 | |
61 declare <2 x double> @llvm.masked.load.v2f64(<2 x double>* %ptrs, i32, <2 x i1> %mask, <2 x double> %src0) | |
62 | |
63 define <2 x double> @tests.masked.load(<2 x double>* %ptr, <2 x i1> %mask, <2 x double> %passthru) { | |
64 ; CHECK-LABEL: @tests.masked.load( | |
65 ; CHECK: @llvm.masked.load.v2f64.p0v2f64 | |
66 %res = call <2 x double> @llvm.masked.load.v2f64(<2 x double>* %ptr, i32 1, <2 x i1> %mask, <2 x double> %passthru) | |
67 ret <2 x double> %res | |
68 } | |
69 | |
70 declare void @llvm.masked.store.v2f64(<2 x double> %val, <2 x double>* %ptrs, i32, <2 x i1> %mask) | |
71 | |
72 define void @tests.masked.store(<2 x double>* %ptr, <2 x i1> %mask, <2 x double> %val) { | |
73 ; CHECK-LABEL: @tests.masked.store( | |
74 ; CHECK: @llvm.masked.store.v2f64.p0v2f64 | |
75 call void @llvm.masked.store.v2f64(<2 x double> %val, <2 x double>* %ptr, i32 3, <2 x i1> %mask) | |
76 ret void | |
77 } | |
78 | |
79 | |
80 declare {}* @llvm.invariant.start(i64, i8* nocapture) nounwind readonly | |
81 declare void @llvm.invariant.end({}*, i64, i8* nocapture) nounwind | |
82 | |
83 define void @tests.invariant.start.end() { | |
84 ; CHECK-LABEL: @tests.invariant.start.end( | |
85 %a = alloca i8 | |
86 %i = call {}* @llvm.invariant.start(i64 1, i8* %a) | |
87 ; CHECK: call {}* @llvm.invariant.start.p0i8 | |
88 store i8 0, i8* %a | |
89 call void @llvm.invariant.end({}* %i, i64 1, i8* %a) | |
90 ; CHECK: call void @llvm.invariant.end.p0i8 | |
91 ret void | |
92 } | |
93 | |
94 @__stack_chk_guard = external global i8* | |
95 declare void @llvm.stackprotectorcheck(i8**) | |
96 | |
97 define void @test.stackprotectorcheck() { | |
98 ; CHECK-LABEL: @test.stackprotectorcheck( | |
99 ; CHECK-NEXT: ret void | |
100 call void @llvm.stackprotectorcheck(i8** @__stack_chk_guard) | |
101 ret void | |
102 } | |
103 | |
104 ; This is part of @test.objectsize(), since llvm.objectsize declaration gets | |
105 ; emitted at the end. | |
106 ; CHECK: declare i32 @llvm.objectsize.i32.p0i8 |