Issue |
125754
|
Summary |
[HLSL] `[branch]` attribute support for `switch` statements
|
Labels |
HLSL
|
Assignees |
|
Reporter |
llvm-beanz
|
HLSL supports the `branch` attribute on `switch` statements. Clang currently errors if you apply the `[branch]` attribute to a switch statement.
```hlsl
RWBuffer<uint4> Buf;
[numthreads(8,1,1)]
void main(uint GI : SV_GroupIndex) {
uint4 Val = Buf[GI];
[branch]
switch (Val.x) {
case 0:
Buf[GI] = Val.xxxx;
break;
case 1:
Buf[GI] = Val.yyyy;
break;
case 2:
Buf[GI] = Val.zzzz;
break;
default:
Buf[GI] = Val.wwww;
break;
}
}
```
[Godbolt](https://godbolt.org/z/fs45qn8x1)
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs