Issue 145370
Summary [DirectX] Indexing into TGSM flattened arrays of vectors is incorrect
Labels new issue
Assignees Icohedron
Reporter Icohedron
    Indexing into an array of vectors located in thread group shared memory are incorrect

https://godbolt.org/z/nq5Pq88eh
https://godbolt.org/z/9fesTfKre

```hlsl
// compile args: -E CSMain -T cs_6_4 -enable-16bit-types
groupshared uint2 g[2];
[numthreads(2, 1, 1)]
void CSMain(uint3 Tid: SV_GroupThreadId) {
 g[1][1] = 0;
}
```

```llvm
@g.scalarized.1dim = local_unnamed_addr addrspace(3) global [4 x i32] zeroinitializer, align 8

; Function Attrs: noinline nounwind memory(write, argmem: none, inaccessiblemem: none)
define void @CSMain() local_unnamed_addr #0 {
    #dbg_value(<3 x i32> poison, !29, !DIExpression(DW_OP_LLVM_fragment, 0, 96), !39)
  store i32 0, ptr addrspace(3) @g.scalarized.1dim, align 4, !dbg !40
  ret void
}
```

This is potentially the cause of some cases of #140417
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to