Closed
Description
Issue:
subgroup.load fails for non-integral types like float and double. Using bit_cast seems to fail too.
Expected behavior:
load shouldn't care about the data type, just the width.
auto vals = ;// read-capable access to buffer of doubles
const int o = ;// some positive integer
const double v = sg.load<1>(vals.get_pointer()+o);
Details:
I would expect bit_cast to work here, but it does not:
const double v = detail::sub_group::bit_cast<const double>(sgr.load<1>(detail::sub_group::bit_cast<multi_ptr<unsigned long, access::address_space::global_space>>(vals.get_pointer()+o)));