libclc: Add clspv target to libclcAdd clspv as a new target for libclc. clspv is an open-source compiler that compiles OpenCL C to Vulkan SPIR-V. Compiles for the spir target.The clspv target dif
libclc: Add clspv target to libclcAdd clspv as a new target for libclc. clspv is an open-source compiler that compiles OpenCL C to Vulkan SPIR-V. Compiles for the spir target.The clspv target differs from the the spirv target in the following ways:* fma is modified to use uint2 instead of ulong for mantissas. This results in lower performance fma, but provides a implementation that can be used on more Vulkan devices where 64-bit integer support is less common.* Use of a software implementation of nextafter because the generic implementation depends on nextafter being a defined builtin function for which clspv has no definition.* Full optimization of the library (-O3) and no conversion to SPIR-VThis library is close to what would be produced by running opt -O3 < builtins.opt.spirv-mesa3d-.bc > builtins.opt.clspv--.bc and continuing the build from that point.Reviewer: jveselyDifferential Revision: https://reviews.llvm.org/D94013
show more ...