llvm icon indicating copy to clipboard operation
llvm copied to clipboard

Replaced __spirv_SubgroupShuffleINTEL, __spirv_SubgroupShuffleXorINTEL, __spirv_SubgroupShuffleDownINTEL and __spirv_SubgroupShuffleUpINT with __spirv_GroupNonUniformShuffle... generic versions.

Open al3x-jp opened this issue 1 year ago • 2 comments

Replaced __spirv_SubgroupShuffleINTEL, __spirv_SubgroupShuffleXorINTEL, __spirv_SubgroupShuffleDownINTEL and __spirv_SubgroupShuffleUpINT with __spirv_GroupNonUniformShuffle... generic versions.

al3x-jp avatar Jul 24 '24 14:07 al3x-jp

Hi @al3x-jp! I took the liberty of rebasing this patch, applying clang-format, and fixing the test issues. Hope is that the CI should be green shortly.

steffenlarsen avatar Aug 09 '24 12:08 steffenlarsen

Seems to be some unexpected failures on Gen12. I will look into this ASAP.

steffenlarsen avatar Aug 15 '24 06:08 steffenlarsen

Seems that OpenCL doesn't allow vectors in SPIR-V shuffle operations. By scalarizing the vectors we can work around this, expecting the device-compiler to vectorize the operation if it sees fit.

The remaining failure in syclcompat om CPU seems like a bug in the CPU device compiler which shuffles in the wrong direction under certain circumstances. It has been reported to the CPU device-compiler team.

steffenlarsen avatar Jan 06 '25 14:01 steffenlarsen