Skip to content

Replace SPIR-V INTEL shuffles with generic version#21416

Open
frengels wants to merge 3 commits intointel:syclfrom
frengels:PR-14748
Open

Replace SPIR-V INTEL shuffles with generic version#21416
frengels wants to merge 3 commits intointel:syclfrom
frengels:PR-14748

Conversation

@frengels
Copy link

@frengels frengels commented Mar 2, 2026

continuation of #14748 (due to inactivity)

Replaced __spirv_SubgroupShuffleINTEL, __spirv_SubgroupShuffleXorINTEL, __spirv_SubgroupShuffleDownINTEL and __spirv_SubgroupShuffleUpINT with __spirv_GroupNonUniformShuffle... generic versions.
According to the OpenCL Specification, these operations only accept scalars, so we force vectorization of vectors.

Rebased and tested locally

edit: @uditagarwal97

…L, __spirv_SubgroupShuffleDownINTEL and __spirv_SubgroupShuffleUpINT with __spirv_GroupNonUniformShuffle... generic versions.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates SYCL’s SPIR-V shuffle lowering to use the generic __spirv_GroupNonUniformShuffle* builtins instead of the Intel-specific __spirv_SubgroupShuffle*INTEL ones, and adjusts type-traits so vector shuffles are scalarized (per the cited OpenCL subgroup shuffle requirements).

Changes:

  • Switch subgroup shuffle implementations to __spirv_GroupNonUniformShuffle* generic builtins.
  • Update shuffle type-traits to treat vec as non-native-shuffle and always scalarize vector shuffles.
  • Remove the previous Intel-specific “prohibited vector element types” handling and the IGC vector workaround path.

Larsen, Steffen and others added 2 commits March 4, 2026 13:09
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants