Issue |
126570
|
Summary |
[HLSL] `select` not resolving correctly for complex cases
|
Labels |
HLSL
|
Assignees |
|
Reporter |
llvm-beanz
|
HLSL currently allows much more flexible overloading of the `select` function. The following is an example of a case that DXC supports which Clang does not.
```hlsl
typedef uint32_t4 uint32_t8[2];
export void filter(inout uint32_t4 output, uint32_t predicate, uint32_t value) {
output = select(uint4(0,1,2,3) == (uint4)predicate, value, output);
}
```
[Compiler Explorer](https://godbolt.org/z/v9sqqzG5r)
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs