How to use math functions in dcompute?

Sobaya sobaya007 at gmail.com
Thu Sep 20 05:16:04 UTC 2018


On Wednesday, 19 September 2018 at 00:22:44 UTC, Nicholas Wilson 
wrote:
> On Wednesday, 19 September 2018 at 00:11:13 UTC, Nicholas 
> Wilson wrote:
>> On Tuesday, 18 September 2018 at 06:25:33 UTC, Sobaya wrote:
>>> On Tuesday, 18 September 2018 at 01:39:51 UTC, Nicholas 
>>> Wilson wrote:
>>>> On Tuesday, 18 September 2018 at 00:25:33 UTC, Sobaya wrote:
>>>>> I'm waiting for the update. How's your progress?
>>>>
>>>> I t appears I have broke SPIR-V completely somewhere along 
>>>> the line, I may release a v0.2 with out it, hopefully within 
>>>> the week.
>>>
>>> I declared like:
>>>
>>> pragma(LDC_intrinsic, "llvm.nvvm.cos.f32")
>>> T cos(T)(T val)
>>>     if (__traits(isFloating, T));
>>>
>>> It also doesn't work.
>>
>>  pragma(LDC_intrinsic, "llvm.nvvm.cos.f#") // note the # in 
>> place of 32
>> T cos(T)(T val)
>>      if (__traits(isFloating, T));
>> (Just don't use real with it.)
>>
>> OR
>>
>> pragma(LDC_intrinsic, "llvm.nvvm.cos.f32")
>>  float cos(float val)
>
> And if they don't work, use
>
>>  pragma(LDC_intrinsic, "llvm.cos.f#") // note the # in place 
>> of 32
>> T cos(T)(T val)
>>      if (__traits(isFloating, T));
>> (Just don't use real with it.)

"llvm.nvvm.cos.f#" and "llvm.nvvm.cos.f32" don't work.

And when I use "llvm.cos.f#", Another error occurred in linking.

LLVM ERROR: Cannot select: 0xe0d4798: f32 = fcos 
ConstantFP:f32<0.000000e+00>
   0xe0b9db0: f32 = ConstantFP<0.000000e+00>




More information about the Digitalmars-d-learn mailing list