brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · a2e08c0 Raw
53 lines · plain
1; RUN: not llvm-as < %s 2>&1 | FileCheck %s2 3target datalayout = "p1:64:64:64:32"4 5declare float @llvm.ptrmask.f32.i64(float, i64)6declare ptr @llvm.ptrmask.p0.v4i64(ptr, <4 x i64>)7declare <2 x ptr> @llvm.ptrmask.v2p0.i64(<2 x ptr>, i64)8declare <2 x ptr> @llvm.ptrmask.v2p0.v4i64(<2 x ptr>, <4 x i64>)9declare ptr @llvm.ptrmask.p0.i32(ptr, i32)10declare ptr addrspace(1) @llvm.ptrmask.p1.i64(ptr addrspace(1), i64)11 12; CHECK: llvm.ptrmask intrinsic first argument must be pointer or vector of pointers13; CHECK-NEXT:  %1 = call float @llvm.ptrmask.f32.i64(float 0.000000e+00, i64 0)14define void @not_ptr() {15  call float @llvm.ptrmask.f32.i64(float 0.0, i64 0)16  ret void17}18 19; CHECK: llvm.ptrmask intrinsic arguments must be both scalars or both vectors20; CHECK: %1 = call ptr @llvm.ptrmask.p0.v4i64(ptr null, <4 x i64> zeroinitializer)21define void @scalar_vector_mismatch_1() {22  call ptr @llvm.ptrmask.p0.v4i64(ptr null, <4 x i64> zeroinitializer)23  ret void24}25 26; CHECK: llvm.ptrmask intrinsic arguments must be both scalars or both vectors27; CHECK: %1 = call <2 x ptr> @llvm.ptrmask.v2p0.i64(<2 x ptr> zeroinitializer, i64 0)28define void @scalar_vector_mismatch_2() {29  call <2 x ptr> @llvm.ptrmask.v2p0.i64(<2 x ptr> zeroinitializer, i64 0)30  ret void31}32 33; CHECK: llvm.ptrmask intrinsic arguments must have the same number of elements34; CHECK: %1 = call <2 x ptr> @llvm.ptrmask.v2p0.v4i64(<2 x ptr> zeroinitializer, <4 x i64> zeroinitializer)35define void @vector_size_mismatch() {36  call <2 x ptr> @llvm.ptrmask.v2p0.v4i64(<2 x ptr> zeroinitializer, <4 x i64> zeroinitializer)37  ret void38}39 40; CHECK: llvm.ptrmask intrinsic second argument bitwidth must match pointer index type size of first argument41; CHECK: %1 = call ptr @llvm.ptrmask.p0.i32(ptr null, i32 0)42define void @wrong_size_1() {43  call ptr @llvm.ptrmask.p0.i32(ptr null, i32 0)44  ret void45}46 47; CHECK: llvm.ptrmask intrinsic second argument bitwidth must match pointer index type size of first argument48; CHECK: %1 = call ptr addrspace(1) @llvm.ptrmask.p1.i64(ptr addrspace(1) null, i64 0)49define void @wrong_size_2() {50  call ptr addrspace(1) @llvm.ptrmask.p1.i64(ptr addrspace(1) null, i64 0)51  ret void52}53