[Beignet] Does LLVM 3.6 still hit a bug?

Zou, Nanhai nanhai.zou at intel.com
Sun Nov 1 22:55:30 PST 2015


We found that it's a miss understanding of a corner case in type conversion, not a llvm bug.
In that case the cl kernel try to convert an overflowed float value to ulong

e.g. 
ulong dst = (ulong)1.8446744073709552e+19f; // this is an overflowed ulong value

with llvm3.5 the result value is ULONG_MAX
with llvm3.6 the result value is undef. 

This cause one of the conformance sub test report error with llvm 3.6

Please check the patch for the fix.

[Beignet] [PATCH] LibOcl: Fix float convert to long/ulong bug. 
We will merge the patch soon

Thanks
Zou Nanhai

> -----Original Message-----
> From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of
> Rebecca N. Palmer
> Sent: Monday, November 02, 2015 6:23 AM
> To: beignet at lists.freedesktop.org
> Subject: Re: [Beignet] Does LLVM 3.6 still hit a bug?
> 
> When was this workaround done (in particular, is beignet 1.1.1 affected)?  As
> the Khronos test suite is non-public, I can't test this myself.
> 
> Debian have now announced an intention to remove LLVM 3.5
> (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803643).
> 
> An alternative option (which I haven't tested yet but appears to be working in
> Fedora) would be to apply 27522f9..2af7dea and go straight to LLVM 3.7.
> 
> On 09/10/15 06:56, Zou, Nanhai wrote:
> > It's a bug related to conditional compare.
> > The bug will affect the float saturate implementation in Beignet, we have
> worked around it.
> > The bug was exposed by a subcase in Khronos OpenCL conformance test, we
> will try to isolate the bug to report to llvm.
> >
> > Thanks
> > Zou Nanhai
> >
> >
> >> -----Original Message-----
> >> From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On
> >> Behalf Of Rebecca N. Palmer
> >> Sent: Thursday, October 01, 2015 1:32 AM
> >> To: beignet at lists.freedesktop.org
> >> Subject: [Beignet] Does LLVM 3.6 still hit a bug?
> >>
> >> Debian are planning to switch their default LLVM/Clang to 3.6 soon.
> >> Is it still the case that
> >>> The recommended LLVM/CLANG version is 3.5 and/or 3.6. Based on our
> >>> test
> >> result, LLVM 3.5 has best pass rate on all the test suites. Compare
> >> to LLVM 3.5, LLVM 3.6 has slightly lower pass rate(caused by one
> >> front end bug at clang 3.6) but has better performance (3% to 5% up).
> >> (http://www.freedesktop.org/wiki/Software/Beignet/)?  Where can I
> >> find code to test for this bug (the test suite doesn't)?
> >>
> >> _______________________________________________
> >> Beignet mailing list
> >> Beignet at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/beignet
> 
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list