aco: reorder VMEM operands in ACO IR
For all VMEM instructions, the resource constant is now in operands[0]. For MIMG instructions, the sampler shares operands[1] with write data in case this instruction writes memory. Moving the VADDR to be the last operand for MIMG is the first step to support Navi NSA encoding. Reviewed-by:Rhys Perry <pendingchaos02@gmail.com> Part-of: <mesa/mesa!3602>
- src/amd/compiler/aco_assembler.cpp 10 additions, 10 deletionssrc/amd/compiler/aco_assembler.cpp
- src/amd/compiler/aco_builder_h.py 1 addition, 1 deletionsrc/amd/compiler/aco_builder_h.py
- src/amd/compiler/aco_insert_NOPs.cpp 6 additions, 11 deletionssrc/amd/compiler/aco_insert_NOPs.cpp
- src/amd/compiler/aco_insert_waitcnt.cpp 10 additions, 1 deletionsrc/amd/compiler/aco_insert_waitcnt.cpp
- src/amd/compiler/aco_instruction_selection.cpp 75 additions, 71 deletionssrc/amd/compiler/aco_instruction_selection.cpp
- src/amd/compiler/aco_ir.h 9 additions, 8 deletionssrc/amd/compiler/aco_ir.h
- src/amd/compiler/aco_optimizer.cpp 10 additions, 15 deletionssrc/amd/compiler/aco_optimizer.cpp
- src/amd/compiler/aco_register_allocation.cpp 7 additions, 4 deletionssrc/amd/compiler/aco_register_allocation.cpp
- src/amd/compiler/aco_scheduler.cpp 1 addition, 1 deletionsrc/amd/compiler/aco_scheduler.cpp
- src/amd/compiler/aco_spill.cpp 4 additions, 4 deletionssrc/amd/compiler/aco_spill.cpp
- src/amd/compiler/aco_validate.cpp 20 additions, 6 deletionssrc/amd/compiler/aco_validate.cpp