You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
when using a cl_ulong4, the following compiler note shows up:
/home/rabijl/Projects/pocl-2/pocld/../include/hpp/CL/opencl.hpp: In member function ‘cl_int cl::CommandQueue::enqueueFillBuffer(const cl::Buffer&, PatternType, cl::size_type, cl::size_type, cl::vector<cl::Event>*, cl::Event*) const [with PatternType = cl_ulong4]’:
/home/rabijl/Projects/pocl-2/pocld/../include/hpp/CL/opencl.hpp:7679:12: note: the ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
7679 | cl_int enqueueFillBuffer(
| ^~~~~~~~~~~~~~~~~
The text was updated successfully, but these errors were encountered:
We removed the alignment information from the scalar OpenCL types a very long time ago (see KhronosGroup/OpenCL-Headers#40), but we didn't remove the alignment information from the vector types. I wonder if that was a mistake. Removing __attribute__ ((aligned(_x))) will fix this warning.
I played around a bit with the short version and I notice that it does not complain if the alignment is set from 32 to 16 or if it is compiled with some form of -mavx. I don't know if the complexity added by checking for x86 (the arm and risc-v gcc compilers did not show any notes) and a whitelisted set of extension attributes (link) is worth the effort, but I could make make a pr like that and test it against godbolt.
when using a cl_ulong4, the following compiler note shows up:
The text was updated successfully, but these errors were encountered: