Bug 102344

Summary: ASSERTION FAILED: sel.hasDoubleType()
Product: Beignet Reporter: Chris Cummins <chrisc.101>
Component: BeignetAssignee: Zhigang Gong <zhigang.gong>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Debug log

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.