`InterlockedCompareStoreFloatBitwise` intrinsic function unimplemented

Open
#8,864 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
55/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
cpp
Domain
compilers

Research direction

Start with the Godbolt reproduction and compare -spirv compilation against DXIL for shader models cs_6_5 and cs_6_6. Trace handling of the InterlockedCompareStoreFloatBitwise free-function and RWByteAddressBuffer method forms, using the existing exchange variant issue DXC #7782 as context. Done means the intrinsic no longer reports unimplemented during SPIR-V compilation and the relevant forms behave consistently.

Written by the indexing model from the issue text.

Description

error: InterlockedCompareStoreFloatBitwise intrinsic function unimplemented.
Only happens in SPIR-V compilation.

The diagnostic appears for the free-function form. The method form on
RWByteAddressBuffer gives a different text:

error: intrinsic 'InterlockedCompareStoreFloatBitwise' method unimplemented

DXIL compiles without an error at  cs_6_5  and  cs_6_6 . Only  -spirv  fails.
Measured with dxc 1.10(5369-d6e0ca4a).

This matches the shape of DXC #7782, which covers the exchange variant.
godbolt link: https://godbolt.org/z/7jTdnTT3j

Dominant language
C++
Stars
3.7k
Forks
900
Avg merge
2d 14h
Merged PRs (30d)
39

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/DirectXShaderCompiler

All issues in microsoft/DirectXShaderCompiler

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.