[PATCH] D94013: [libclc] Add clspv target for libclc

Jan Vesely via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 16 19:35:17 PST 2021


jvesely added a subscriber: daniels.
jvesely added a comment.

In D94013#2566025 <https://reviews.llvm.org/D94013#2566025>, @alan-baker wrote:

> In D94013#2562727 <https://reviews.llvm.org/D94013#2562727>, @jvesely wrote:
>
>>> The FMA does pass conformance. I don't have performance numbers for the 64-bit version vs the uint2 version. It would be worse, but the whole  software FMA is already awful performance. The 64-bit version is simpler to understand, so unless you have the same restrictions as I need for clspv, then I wouldn't adopt it.
>>>
>>> Hopefully, the different target name will clarify the intent better. This is targeted for use with a cross compiler to Vulkan SPIR-V. The needs are different than the spir targets.
>>
>> There are existing `spirv` and `spirv64` targets. The new `clspv` target uses the same `spir--` triple as the `spirv` target, but doesn't use the final spv conversion step and uses `O3` optimization. The selection of files is mostly a subset of the existing `spirv` target.
>
> Is there somewhere in the repo you'd suggest I document the differences? Nothing jumped out at me that explains the various backends. In addition to fma, nextafter is also a different implementation than the spirv targets.

Adding it to the commit message is enough. On the surface it looks like the only thing preventing you from using `builtins.opt.spirv-mesa3d-.bc` is the custom implementation of fma and nextafter plus using `-O3` optimization.

The commit message should explain what the differences are and why merging fma and nextafter and just reusing existing files is not good enough, and how it is different from adding `spirv--` tripple. @daniels  should be able to answer questions about the mesa3d part.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94013/new/

https://reviews.llvm.org/D94013



More information about the llvm-commits mailing list