You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been adding SPIR-V 1.4 CTS testing and testing for OpCopyLogical specifically and I'd like to confirm how this instruction is supposed to behave. If helpful, my WIP tests are here:
It essentially copies a structure with an integer and a float, then stores it to memory. This was inspired by a similar existing test that uses OpCopyObject instead of OpCopyLogical.
After SPIR-V to LLVM translation, this case generates:
Is this the expected behavior? Should SPIR-V consumers need to provide an implementation of __spirv_CopyLogical? Or, could/should we translate this to something like llvm.memcpy instead?
For reference, a similar test using OpCopyObject instead of OpCopyLogical generates:
Presumably the SPIR-V reader should be able to lower OpCopyLogical to llvm.memcpy; it might mean that we cannot easily retain OpCopyLogical on a SPIR-V -> LLVM -> SPIR-V round trip but that shouldn't be a major issue.
@vmaksimo you did the implementation in #2484 , any thoughts from your side?
Possibly related to #2460 and #2484.
I've been adding SPIR-V 1.4 CTS testing and testing for
OpCopyLogical
specifically and I'd like to confirm how this instruction is supposed to behave. If helpful, my WIP tests are here:KhronosGroup/OpenCL-CTS@main...bashbaug:OpenCL-CTS:spirv-14-part5
The SPIR-V file I am using for this test is:
It essentially copies a structure with an integer and a float, then stores it to memory. This was inspired by a similar existing test that uses
OpCopyObject
instead ofOpCopyLogical
.After SPIR-V to LLVM translation, this case generates:
Is this the expected behavior? Should SPIR-V consumers need to provide an implementation of
__spirv_CopyLogical
? Or, could/should we translate this to something likellvm.memcpy
instead?For reference, a similar test using
OpCopyObject
instead ofOpCopyLogical
generates:The text was updated successfully, but these errors were encountered: