llvm
c1a01670 - [AMDGPU] Accept sext addresses when folding image ops to a16 (#203189)

Commit
3 days ago
[AMDGPU] Accept sext addresses when folding image ops to a16 (#203189) canSafelyConvertTo16Bit() only accepts a zext when narrowing image address coordinates to 16 bits. Add an opt-in AllowI16SExt flag so a sext from i16 is accepted too, and enable it for sampler-less image instructions. Coordinates of sampler-less loads/stores are unsigned, so sext and zext only disagree for a negative i16 (>= 0x8000), which is already out of bounds since the maximum image dimension is <= 0x8000. Accepting the sext therefore lets such coordinates fold to the a16 form, reducing VGPR pressure. Co-authored-by: Barbara Mitic <Barbara.Mitic@amd.com>
Author
Parents
Loading