intel / intel/intel-graphics-compiler

__opencl_c_integer_dot_product_input_4x8bit / __opencl_c_integer_dot_product_input_4x8bit_packed feature macros are always enabled, even on unsupported devices

Open
#394 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
718
Forks
191
PR merge metrics
No merged PRs in 30d

Description

[`isDotIntegerProductExtensionSupported()` always returns true](https://github.com/intel/compute-runtime/blob/master/shared/source/helpers/compiler_product_helper_tgllp_and_later.inl#L12-L14), which is incorrect. It leads to the [`__opencl_c_integer_dot_product_input_4x8bit` / `__opencl_c_integer_dot_product_input_4x8bit_packed` feature macros always being present](https://github.com/intel/compute-runtime/blob/master/shared/source/compiler_interface/oclc_extensions.cpp#L111-L117), even on unsupported devices.

This means: If any OpenCL application implements dp4a with checks for `__opencl_c_integer_dot_product_input_4x8bit` / `__opencl_c_integer_dot_product_input_4x8bit_packed` feature macros to see of `dot()`/`dot_acc_sat()` functions are available, the application will instantly be broken on all older unsupported Intel platforms - compiling will just fail because `dot()`/`dot_acc_sat()` functions will be exposed by false feature macros but are not actually supported by compiler.

This is especially important to fix on legacy driver too.

Please fix!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.