google / google/clspv

Invalid SPIR-V for some phi nodes/selects

Open
#1,020 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
LLVM
Stars
729
Forks
110
Avg merge
17h 51m
Merged PRs (30d)
23

Description

I noticed this for at least physical storage buffer.

```
constant int b[5] = {1,2,3,4,5};
__attribute__((noinline))
int foo(constant int* p, int x) {
return p[x];
}
kernel void test(global int* out, constant int* other, int x) {
int gid = get_global_id(0);
out[gid] = foo(x > 5 ? other : p, gid);
}
```

The geps generated for the selection of pointers has differing types due to the module scope constant vs the kernel argument.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.