If I had to guess, it’s probably a compiler bug…maybe threadIdx.x isn’t being converted to an int when it’s used as an index value, but the generated binary is still reading an int from wherever the value is stored (and thus, the top 2 bytes of the value used as the index aren’t zero, but something else).
If I had to guess, it’s probably a compiler bug…maybe threadIdx.x isn’t being converted to an int when it’s used as an index value, but the generated binary is still reading an int from wherever the value is stored (and thus, the top 2 bytes of the value used as the index aren’t zero, but something else).