[Libclc-dev] [PATCH] Fix definition of INFINITY and add NAN/HUGE_VAL[F]

Matt Arsenault Matthew.Arsenault at amd.com
Mon Jun 16 14:46:01 PDT 2014


On 06/16/2014 02:43 PM, Aaron Watry wrote:
> Does anyone mind if I commit the infinify/huge_val[f] change now while
> we continue discussing the NAN change? The infinity/huge_valf changes
> are simple in comparison to the requirements of nan, and I've tested
> that the __builtin_inff() and __builtin_huge_valf() implementations
> work with the attached CL-based test (runnable via piglit).
>
> --Aaron
Sure, I would even commit the broken __builtin_nanf("") for NAN. It's 
better than nothing and it is a problem to fix in clang anyway


>
> On Mon, Jun 16, 2014 at 4:33 AM, Jeroen Ketema <j.ketema at imperial.ac.uk> wrote:
>> Hi,
>>
>> Changing the 2 to a 0 works for me with the NVPTX target:
>>
>> #define NAN __builtin_nanf((const __attribute__((address_space(0))) char
>> *)(""))
>>
>> However, clang turns the builtin into a call into the C math library, which
>> is not what we want...
>>
>> Jeroen
>>
>> On 15 Jun 2014, at 23:38, Matt Arsenault <arsenm2 at gmail.com> wrote:
>>
>>
>> On Jun 15, 2014, at 3:33 PM, Jeroen Ketema <j.ketema at imperial.ac.uk> wrote:
>>
>> Hi Matt,
>>
>> This needs to be replaced with:
>>
>> :#define NAN __builtin_nanf((const __attribute__((address_space(2))) char
>> *)(""))
>>
>>
>> This won't work with the NVPTX target. It uses 4 as its constant address
>> space and not 2 like r600.
>>
>> Jeroen
>>
>>
>> It turns out this doesn't really work either. This is what the OS X headers
>> use, and the public version of clang this seems to be broken
>>
>>
>>
>>
>> _______________________________________________
>> Libclc-dev mailing list
>> Libclc-dev at pcc.me.uk
>> http://www.pcc.me.uk/cgi-bin/mailman/listinfo/libclc-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libclc-dev/attachments/20140616/3b723aac/attachment.html>


More information about the Libclc-dev mailing list