Skip to content

Commit 06cfbe3

Browse files
authored
[AMDPU] Add support for idxen and bothen buffer load/store merging in SILoadStoreOptimizer (#86285)
Added more buffer instruction merging support
1 parent bea17ff commit 06cfbe3

File tree

4 files changed

+2328
-0
lines changed

4 files changed

+2328
-0
lines changed

llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,19 +399,35 @@ static InstClassEnum getInstClass(unsigned Opc, const SIInstrInfo &TII) {
399399
switch (AMDGPU::getMUBUFBaseOpcode(Opc)) {
400400
default:
401401
return UNKNOWN;
402+
case AMDGPU::BUFFER_LOAD_DWORD_BOTHEN:
403+
case AMDGPU::BUFFER_LOAD_DWORD_BOTHEN_exact:
404+
case AMDGPU::BUFFER_LOAD_DWORD_IDXEN:
405+
case AMDGPU::BUFFER_LOAD_DWORD_IDXEN_exact:
402406
case AMDGPU::BUFFER_LOAD_DWORD_OFFEN:
403407
case AMDGPU::BUFFER_LOAD_DWORD_OFFEN_exact:
404408
case AMDGPU::BUFFER_LOAD_DWORD_OFFSET:
405409
case AMDGPU::BUFFER_LOAD_DWORD_OFFSET_exact:
410+
case AMDGPU::BUFFER_LOAD_DWORD_VBUFFER_BOTHEN:
411+
case AMDGPU::BUFFER_LOAD_DWORD_VBUFFER_BOTHEN_exact:
412+
case AMDGPU::BUFFER_LOAD_DWORD_VBUFFER_IDXEN:
413+
case AMDGPU::BUFFER_LOAD_DWORD_VBUFFER_IDXEN_exact:
406414
case AMDGPU::BUFFER_LOAD_DWORD_VBUFFER_OFFEN:
407415
case AMDGPU::BUFFER_LOAD_DWORD_VBUFFER_OFFEN_exact:
408416
case AMDGPU::BUFFER_LOAD_DWORD_VBUFFER_OFFSET:
409417
case AMDGPU::BUFFER_LOAD_DWORD_VBUFFER_OFFSET_exact:
410418
return BUFFER_LOAD;
419+
case AMDGPU::BUFFER_STORE_DWORD_BOTHEN:
420+
case AMDGPU::BUFFER_STORE_DWORD_BOTHEN_exact:
421+
case AMDGPU::BUFFER_STORE_DWORD_IDXEN:
422+
case AMDGPU::BUFFER_STORE_DWORD_IDXEN_exact:
411423
case AMDGPU::BUFFER_STORE_DWORD_OFFEN:
412424
case AMDGPU::BUFFER_STORE_DWORD_OFFEN_exact:
413425
case AMDGPU::BUFFER_STORE_DWORD_OFFSET:
414426
case AMDGPU::BUFFER_STORE_DWORD_OFFSET_exact:
427+
case AMDGPU::BUFFER_STORE_DWORD_VBUFFER_BOTHEN:
428+
case AMDGPU::BUFFER_STORE_DWORD_VBUFFER_BOTHEN_exact:
429+
case AMDGPU::BUFFER_STORE_DWORD_VBUFFER_IDXEN:
430+
case AMDGPU::BUFFER_STORE_DWORD_VBUFFER_IDXEN_exact:
415431
case AMDGPU::BUFFER_STORE_DWORD_VBUFFER_OFFEN:
416432
case AMDGPU::BUFFER_STORE_DWORD_VBUFFER_OFFEN_exact:
417433
case AMDGPU::BUFFER_STORE_DWORD_VBUFFER_OFFSET:

0 commit comments

Comments
 (0)