-
Notifications
You must be signed in to change notification settings - Fork 249
Fix for a bunch of fixed point integer SPIR-V instructions #1213
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
|
Title comment: sincos_fixed() - is a SYCL math API. Here you bring a fix for a bunch of fixed point integer SPIR-V instructions, so the name should express it. |
MrSidims
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe, we should face the same issue for ArbitraryFloat instructions as well. I suggest to fix it simultaneously. Also some code from ArbitraryFloat can be adopted for fixed integer point instructions, but better to sync with @mlychkov about it.
MrSidims
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Functionally and test-wise LGTM, thanks!
I just have some re-wording suggestion, I'll post next.
MrSidims
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggesting in the code comment is also applicable to the PR comment.
mlychkov
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you.
…oup#1213) If the return type of an instruction is wider than 64-bit, then this instruction will return via 'sret' argument added into the arguments list. Here we reverse this, removing 'sret' argument and restoring the original return type. TODO: currently 'sret' parameter attribute is being lost during reverse translation for the mentioned case, need to fix it.
… bits (KhronosGroup#1244) This if fix for KhronosGroup#1213 This patch adds Store instructions in cases when return value is wider than 64 bits
…oup#1213) (KhronosGroup#15) If the return type of an instruction is wider than 64-bit, then this instruction will return via 'sret' argument added into the arguments list. Here we reverse this, removing 'sret' argument and restoring the original return type. TODO: currently 'sret' parameter attribute is being lost during reverse translation for the mentioned case, need to fix it.
…nstructions wi.. '"master"' -> '"xmain-web"' (26 commits) CONFLICT (content): Merge conflict in test/transcoding/capability-arbitrary-precision-fixed-point-numbers.ll CONFLICT (content): Merge conflict in lib/SPIRV/SPIRVWriter.cpp commit 7904ea9 Author: Leonid Pauzin <[email protected]> Date: Thu Oct 14 19:53:45 2021 +0300 Store result of fixed point integer SPIR-V instructions wider than 64 bits (KhronosGroup#1244) This if fix for KhronosGroup#1213 This patch adds Store instructions in cases when return value is wider than 64 bits
…er SPIR-V instructions wi.. '"master"' -> '"xmain-web"' (26 commits) (KhronosGroup#36) * Resolve of merge (conflict) 7904ea9 Store result of fixed point integer SPIR-V instructions wi.. '"master"' -> '"xmain-web"' (26 commits) CONFLICT (content): Merge conflict in test/transcoding/capability-arbitrary-precision-fixed-point-numbers.ll CONFLICT (content): Merge conflict in lib/SPIRV/SPIRVWriter.cpp commit 7904ea9 Author: Leonid Pauzin <[email protected]> Date: Thu Oct 14 19:53:45 2021 +0300 Store result of fixed point integer SPIR-V instructions wider than 64 bits (KhronosGroup#1244) This if fix for KhronosGroup#1213 This patch adds Store instructions in cases when return value is wider than 64 bits * Resolve of merge (conflict) 7904ea9 Store result of fixed point integer SPIR-V instructions wi.. '"master"' -> '"xmain-web"' (26 commits) CONFLICT (content): Merge conflict in test/transcoding/capability-arbitrary-precision-fixed-point-numbers.ll CONFLICT (content): Merge conflict in lib/SPIRV/SPIRVWriter.cpp commit 7904ea9 Author: Leonid Pauzin <[email protected]> Date: Thu Oct 14 19:53:45 2021 +0300 Store result of fixed point integer SPIR-V instructions wider than 64 bits (KhronosGroup#1244) This if fix for KhronosGroup#1213 This patch adds Store instructions in cases when return value is wider than 64 bits Co-authored-by: iclsrc <[email protected]>
…int integer SPIR-V instructions wi.. '"master"' -> '"xmain-web"' (26 commits) (KhronosGroup#36) * Resolve of merge (conflict) 7904ea9 Store result of fixed point integer SPIR-V instructions wi.. '"master"' -> '"xmain-web"' (26 commits) CONFLICT (content): Merge conflict in test/transcoding/capability-arbitrary-precision-fixed-point-numbers.ll CONFLICT (content): Merge conflict in lib/SPIRV/SPIRVWriter.cpp commit 7904ea9 Author: Leonid Pauzin <[email protected]> Date: Thu Oct 14 19:53:45 2021 +0300 Store result of fixed point integer SPIR-V instructions wider than 64 bits (KhronosGroup#1244) This if fix for KhronosGroup#1213 This patch adds Store instructions in cases when return value is wider than 64 bits * Resolve of merge (conflict) 7904ea9 Store result of fixed point integer SPIR-V instructions wi.. '"master"' -> '"xmain-web"' (26 commits) CONFLICT (content): Merge conflict in test/transcoding/capability-arbitrary-precision-fixed-point-numbers.ll CONFLICT (content): Merge conflict in lib/SPIRV/SPIRVWriter.cpp commit 7904ea9 Author: Leonid Pauzin <[email protected]> Date: Thu Oct 14 19:53:45 2021 +0300 Store result of fixed point integer SPIR-V instructions wider than 64 bits (KhronosGroup#1244) This if fix for KhronosGroup#1213 This patch adds Store instructions in cases when return value is wider than 64 bits Co-authored-by: iclsrc <[email protected]>
There could be cases when return type of intrinsic is greater than 64 moves return value into argument list as sret parameter.
TODO: currently sret parameter attribute is being lost during reverse translation for the mentioned case, need to fix it.