Bug 102344 - ASSERTION FAILED: sel.hasDoubleType()
Summary: ASSERTION FAILED: sel.hasDoubleType()
Alias: None
Product: Beignet
Classification: Unclassified
Component: Beignet (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Zhigang Gong
QA Contact:
Depends on:
Reported: 2017-08-21 19:50 UTC by Chris Cummins
Modified: 2017-09-26 06:06 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Debug log (7.33 KB, text/plain)
2017-08-21 19:50 UTC, Chris Cummins

Description Chris Cummins 2017-08-21 19:50:29 UTC
Created attachment 133652 [details]
Debug log

Compilation of the following kernel fails with assertion 'sel.hasDoubleType()':

kernel void A(global double2* a) {
  a[0] = get_global_id(0);

ASSERTION FAILED: sel.hasDoubleType()
  at file ../backend/src/backend/gen_insn_selection.cpp, function void gbe::ConvertInstructionPattern::convertSmallIntsToDouble(gbe::Selection::Opaque&, const gbe::ir::ConvertInstruction&, bool&) const, line 6366

Device: Intel(R) HD Graphics Haswell GT2 Desktop
Beignet version: 1.3

Full debug log attached.
Comment 1 Rebecca Palmer 2017-09-24 08:25:21 UTC
This is expected (though the error message could be more explicit): double precision is not supported on Haswell (and is disabled by default even on hardware that does support it).
Comment 2 Chris Cummins 2017-09-26 06:06:15 UTC
Sure, I can agree that the code may not be expected to compile. The reason I filed a bug however is because a compiler assertion, whether or not it contains a meaningful assertion message, does not seem like the appropriate response to an input. An error diagnostic and CL_BUILD_PROGRAM_FAILURE is the expected outcome.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.