brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · fa9e2ce Raw
26 lines · cpp
1// RUN: %clang_cc1 -Wno-unused-value -O0 -internal-isystem %S/../../lib/Headers -include __clang_spirv_builtins.h -triple spirv64 -emit-llvm %s -fsycl-is-device -o - | FileCheck %s -check-prefixes=SPV2// RUN: %clang_cc1 -Wno-unused-value -O0 -internal-isystem %S/../../lib/Headers -include __clang_spirv_builtins.h -triple nvptx64 -emit-llvm %s -fsycl-is-device -o - | FileCheck %s -check-prefixes=NV3 4 5// SPV: void @_Z9test_castPi6// SPV: call noundef ptr addrspace(1) @llvm.spv.generic.cast.to.ptr.explicit.p17// SPV: call noundef ptr addrspace(3) @llvm.spv.generic.cast.to.ptr.explicit.p38// SPV: call noundef ptr @llvm.spv.generic.cast.to.ptr.explicit.p09// SPV: addrspacecast ptr addrspace(4) %{{.*}} to ptr addrspace(1)10// SPV: addrspacecast ptr addrspace(4) %{{.*}} to ptr addrspace(3)11// SPV: addrspacecast ptr addrspace(4) %{{.*}} to ptr12// NV: void @_Z9test_castPi13// NV: call noundef ptr addrspace(1) @_Z41__spirv_GenericCastToPtrExplicit_ToGlobalPvi14// NV: call noundef ptr addrspace(3) @_Z40__spirv_GenericCastToPtrExplicit_ToLocalPvi15// NV: call noundef ptr @_Z42__spirv_GenericCastToPtrExplicit_ToPrivatePvi16// NV: addrspacecast ptr %{{.*}} to ptr addrspace(1)17// NV: addrspacecast ptr %{{.*}} to ptr addrspace(3)18[[clang::sycl_external]] void test_cast(int* p) {19  __spirv_GenericCastToPtrExplicit_ToGlobal(p, 5);20  __spirv_GenericCastToPtrExplicit_ToLocal(p, 4);21  __spirv_GenericCastToPtrExplicit_ToPrivate(p, 7);22  __spirv_GenericCastToPtr_ToGlobal(p, 5);23  __spirv_GenericCastToPtr_ToLocal(p, 4);24  __spirv_GenericCastToPtr_ToPrivate(p, 7);25}26