microsoft / microsoft/DirectXShaderCompiler
QuadReadAcross(bool) Fails to Compile
Open
@llvm-beanz is already working on this.
Since May 20, 2024.
bug
needs-triage
- Dominant language
- C++
- Stars
- 3.7k
- Forks
- 900
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 44
Description
Description
QuadReadAcross(bool) fails to compile with many strange error messages. However, ReadWaveLaneAt(bool, lane) successfully compiles. This looks like a compiler bug because the capabilities of QuadReadAcross and ReadWaveLaneAt should be similar.
Steps to Reproduce
https://godbolt.org/z/8qqdTq45T
Actual Behavior
TranslationUnitDecl 0x5cf7cd6ef0a0 <<invalid sloc>> <invalid sloc>
`-FunctionDecl 0x5cf7cd72ba48 <<source>:1:1, line:3:1> line:1:13 fn 'bool (bool)'
|-ParmVarDecl 0x5cf7cd72b950 <col:17, col:22> col:22 used B 'bool'
|-CompoundStmt 0x5cf7cd734818 <col:25, line:3:1>
| `-ReturnStmt 0x5cf7cd734800 <line:2:3, col:27>
| `-ImplicitCastExpr 0x5cf7cd72bed8 <col:10, col:27> 'bool' <FloatingToBoolean>
| `-CallExpr 0x5cf7cd72be60 <col:10, col:27> 'float'
| |-ImplicitCastExpr 0x5cf7cd72be48 <col:10> 'float (*)(float)' <FunctionToPointerDecay>
| | `-DeclRefExpr 0x5cf7cd72bde0 <col:10> 'float (float)' lvalue Function 0x5cf7cd72bc50 'QuadReadAcrossX' 'float (float)'
| `-ImplicitCastExpr 0x5cf7cd72bec0 <col:26> 'float' <IntegralToFloating>
| `-ImplicitCastExpr 0x5cf7cd72bea8 <col:26> 'bool' <LValueToRValue>
| `-DeclRefExpr 0x5cf7cd72bbe8 <col:26> 'bool' lvalue ParmVar 0x5cf7cd72b950 'B' 'bool'
`-HLSLExportAttr 0x5cf7cd72bb08 <line:1:1>
Environment
- DXC version
libdxcompiler.so: 1.8(dev;1-11e1318c)anddxcompiler.dll: 1.7 - 1.7.2212.12 (8c9d92be7); dxil.dll: 1.7(1.01.7.2212.14) - Host Operating System Linux and Windows 10 Enterprise 22H2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.