Skip to content

Implement SPV_INTEL_ternary_bitwise_function #3104

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

steffenlarsen
Copy link
Contributor

This commit implements support for bi-directional translation of the BitwiseFunctionINTEL operation added in
https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html together with the corresponding capability.

This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in
https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
@CLAassistant
Copy link

CLAassistant commented Apr 2, 2025

CLA assistant check
All committers have signed the CLA.

Copy link
Contributor

@MrSidims MrSidims left a comment

Choose a reason for hiding this comment

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

Thanks! Do you have plans to implement it in SPIR-V backend?

@@ -118,7 +119,8 @@ enum InternalCapability {
ICapabilityJointMatrixPackedInt4ComponentTypeINTEL = 6439,
ICapabilityCacheControlsINTEL = 6441,
ICapabilitySubgroupRequirementsINTEL = 6445,
ICapabilityBindlessImagesINTEL = 6528
ICapabilityBindlessImagesINTEL = 6528,
ICapabilityTernaryBitwiseFunctionINTEL = 6241
Copy link
Contributor

Choose a reason for hiding this comment

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

Was the extension up-streamed to SPIR-V Headers? If so, lets use definitions from there.

@steffenlarsen
Copy link
Contributor Author

Thanks! Do you have plans to implement it in SPIR-V backend?

Was the extension up-streamed to SPIR-V Headers?

I admit, I've fallen a little behind on the SPIR-V translator and constituent projects. Where do these live? 😄

@MrSidims
Copy link
Contributor

MrSidims commented Apr 4, 2025

@steffenlarsen here you are: https://github.com/llvm/llvm-project/tree/main/llvm/lib/Target/SPIRV for the backend and https://github.com/KhronosGroup/SPIRV-Headers for the headers. Unified spirv headers is taken from the latter by default by the translator, so may be what you need to do, if definitions for the extension present there, is to update names and remove internal::.

@steffenlarsen
Copy link
Contributor Author

steffenlarsen commented Apr 8, 2025

Looks like the header changes have already been made in KhronosGroup/SPIRV-Headers#504 and my local testing just didn't reflect that. Should be addressed now!

Edit: Looks like the SPIR-V headers tag need an update. Can I do that as part of this patch or does it have to be separate?

@MrSidims
Copy link
Contributor

MrSidims commented Apr 8, 2025

Looks like the header changes have already been made in KhronosGroup/SPIRV-Headers#504 and my local testing just didn't reflect that. Should be addressed now!

Edit: Looks like the SPIR-V headers tag need an update. Can I do that as part of this patch or does it have to be separate?

You can to it in this PR.

Signed-off-by: Larsen, Steffen <[email protected]>
@steffenlarsen
Copy link
Contributor Author

SPIR-V backend implementation patch: llvm/llvm-project#134866

@MrSidims MrSidims merged commit f646fce into KhronosGroup:main Apr 9, 2025
6 of 9 checks passed
@MrSidims
Copy link
Contributor

/backport llvm_release_200

Copy link

Attempting to create backport to llvm_release_200...

github-actions bot pushed a commit that referenced this pull request May 19, 2025
This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
Copy link

Success. Backport PR created: #3182

@MrSidims
Copy link
Contributor

/backport llvm_release_190

@MrSidims
Copy link
Contributor

/backport llvm_release_180

Copy link

Attempting to create backport to llvm_release_190...

@MrSidims
Copy link
Contributor

/backport llvm_release_170

Copy link

Backport to llvm_release_190 failed due to conflicts on commit f646fce01daaaaf3c4776b8253490c50d0da4bb1. Please backport manually.

Copy link

Attempting to create backport to llvm_release_180...

Copy link

Backport to llvm_release_180 failed due to conflicts on commit f646fce01daaaaf3c4776b8253490c50d0da4bb1. Please backport manually.

Copy link

Attempting to create backport to llvm_release_170...

Copy link

Backport to llvm_release_170 failed due to conflicts on commit f646fce01daaaaf3c4776b8253490c50d0da4bb1. Please backport manually.

MrSidims pushed a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request May 27, 2025
…sGroup#3104)

This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
vmaksimo pushed a commit that referenced this pull request May 28, 2025
This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
vmaksimo pushed a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Jun 4, 2025
…sGroup#3104)

This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
vmaksimo pushed a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Jun 4, 2025
…sGroup#3104)

This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
vmaksimo pushed a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Jun 4, 2025
…sGroup#3104)

This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
vmaksimo pushed a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Jun 4, 2025
…sGroup#3104)

This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
vmaksimo pushed a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Jun 5, 2025
…sGroup#3104)

This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
vmaksimo pushed a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Jun 5, 2025
…sGroup#3104)

This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
vmaksimo pushed a commit that referenced this pull request Jun 6, 2025
This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
vmaksimo pushed a commit that referenced this pull request Jun 6, 2025
This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
vmaksimo pushed a commit that referenced this pull request Jun 6, 2025
This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
vmaksimo pushed a commit that referenced this pull request Jun 6, 2025
This commit implements support for bi-directional translation of the
`BitwiseFunctionINTEL` operation added in

https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html
together with the corresponding capability.

Signed-off-by: Larsen, Steffen <[email protected]>
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.

4 participants