GPUOpen-Tools / radeon_gpu_profiler

Radeon GPU Profiler (RGP) is a tool from AMD that allows for deep inspection of GPU workloads.
396 stars 41 forks source link

Disassembly of SMEM instructions is missing const offset when both const and SGPR offset are used #65

Closed Venemo closed 2 years ago

Venemo commented 2 years ago

For example, consider the following lines:

    s_load_dwordx8 s[48:55], s[30:31], s1                                                               // 000000001440: F40C0C0F 020004A0                                                                  
    s_load_dwordx8 s[56:63], s[30:31], s1                                                               // 000000001448: F40C0E0F 02000420                                                                  
    s_load_dwordx8 s[64:71], s[30:31], s1                                                               // 000000001450: F40C100F 02000460                                                                  
    s_load_dwordx8 s[72:79], s[30:31], s1                                                               // 000000001458: F40C120F 020003A0                                                                  
    s_load_dwordx8 s[80:87], s[30:31], s1                                                               // 000000001460: F40C140F 020003E0 

These SMEM instructions differ by their const offset, but RGP only prints the SGPR offset and not the const offset.

kosarev commented 2 years ago

Addressed in

[AMDGPU][GFX10] Support base+soffset+offset SMEM loads. https://reviews.llvm.org/D125117

and

[AMDGPU][MC][GFX11] Support base+soffset+offset SMEM loads. https://reviews.llvm.org/D126207

chesik-amd commented 2 years ago

This has been fixed in RGP 1.13.1