I have a few questions:
- If IOC reports that private memory is being used then does that always imply that it's being spilled or can it reside in the remaining registers?
- How do I detect or analyze my kernel to see if spilling is occurring?
- Should an auto struct multidimensional array of registers (some dimensions are 1) that is always indexed with constants be automatically fully unrolled (and not appear as private memory)?
I'm seeing a lot of mov and send operations in the .asm dump -- more than I would expect -- and would like to understand what's happening in the kernel and how to get the auto variable struct to be "stationary" in the register file since all the accesses are constant.
This is on GEN9 / Win10/x64 and the latest driver.
One high point: half floats seem to work OK!
Thanks,
Allan