diff options
Diffstat (limited to 'test/Instrumentation/MemorySanitizer/msan_basic.ll')
-rw-r--r-- | test/Instrumentation/MemorySanitizer/msan_basic.ll | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/test/Instrumentation/MemorySanitizer/msan_basic.ll b/test/Instrumentation/MemorySanitizer/msan_basic.ll index 4b208d64427b..334e00dabf40 100644 --- a/test/Instrumentation/MemorySanitizer/msan_basic.ll +++ b/test/Instrumentation/MemorySanitizer/msan_basic.ll @@ -617,70 +617,6 @@ declare i32 @llvm.bswap.i32(i32) nounwind readnone ; CHECK-NOT: call void @__msan_warning ; CHECK: ret i32 - -; Store intrinsic. - -define void @StoreIntrinsic(i8* %p, <4 x float> %x) nounwind uwtable sanitize_memory { - call void @llvm.x86.sse.storeu.ps(i8* %p, <4 x float> %x) - ret void -} - -declare void @llvm.x86.sse.storeu.ps(i8*, <4 x float>) nounwind - -; CHECK-LABEL: @StoreIntrinsic -; CHECK-NOT: br -; CHECK-NOT: = or -; CHECK: store <4 x i32> {{.*}} align 1 -; CHECK: store <4 x float> %{{.*}}, <4 x float>* %{{.*}}, align 1{{$}} -; CHECK: ret void - - -; Load intrinsic. - -define <16 x i8> @LoadIntrinsic(i8* %p) nounwind uwtable sanitize_memory { - %call = call <16 x i8> @llvm.x86.sse3.ldu.dq(i8* %p) - ret <16 x i8> %call -} - -declare <16 x i8> @llvm.x86.sse3.ldu.dq(i8* %p) nounwind - -; CHECK-LABEL: @LoadIntrinsic -; CHECK: load <16 x i8>, <16 x i8>* {{.*}} align 1 -; CHECK-ORIGINS: [[ORIGIN:%[01-9a-z]+]] = load i32, i32* {{.*}} -; CHECK-NOT: br -; CHECK-NOT: = or -; CHECK: call <16 x i8> @llvm.x86.sse3.ldu.dq -; CHECK: store <16 x i8> {{.*}} @__msan_retval_tls -; CHECK-ORIGINS: store i32 {{.*}}[[ORIGIN]], i32* @__msan_retval_origin_tls -; CHECK: ret <16 x i8> - - -; Simple NoMem intrinsic -; Check that shadow is OR'ed, and origin is Select'ed -; And no shadow checks! - -define <8 x i16> @Paddsw128(<8 x i16> %a, <8 x i16> %b) nounwind uwtable sanitize_memory { - %call = call <8 x i16> @llvm.x86.sse2.padds.w(<8 x i16> %a, <8 x i16> %b) - ret <8 x i16> %call -} - -declare <8 x i16> @llvm.x86.sse2.padds.w(<8 x i16> %a, <8 x i16> %b) nounwind - -; CHECK-LABEL: @Paddsw128 -; CHECK-NEXT: load <8 x i16>, <8 x i16>* {{.*}} @__msan_param_tls -; CHECK-ORIGINS: load i32, i32* {{.*}} @__msan_param_origin_tls -; CHECK-NEXT: load <8 x i16>, <8 x i16>* {{.*}} @__msan_param_tls -; CHECK-ORIGINS: load i32, i32* {{.*}} @__msan_param_origin_tls -; CHECK-NEXT: = or <8 x i16> -; CHECK-ORIGINS: = bitcast <8 x i16> {{.*}} to i128 -; CHECK-ORIGINS-NEXT: = icmp ne i128 {{.*}}, 0 -; CHECK-ORIGINS-NEXT: = select i1 {{.*}}, i32 {{.*}}, i32 -; CHECK-NEXT: call <8 x i16> @llvm.x86.sse2.padds.w -; CHECK-NEXT: store <8 x i16> {{.*}} @__msan_retval_tls -; CHECK-ORIGINS: store i32 {{.*}} @__msan_retval_origin_tls -; CHECK-NEXT: ret <8 x i16> - - ; Test handling of vectors of pointers. ; Check that shadow of such vector is a vector of integers. |