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

Reply via email to