@@ -5081,17 +5081,17 @@ AMDGPURegisterBankInfo::getInstrMapping(const MachineInstr &MI) const {
50815081 unsigned MinNumRegsRequired = DstSize / 32 ;
50825082
50835083 const SIMachineFunctionInfo *Info = MF.getInfo <SIMachineFunctionInfo>();
5084+ bool UseAGPRForm = Info->selectAGPRFormMFMA (MinNumRegsRequired);
5085+
50845086 OpdsMapping[0 ] =
5085- Info->getMinNumAGPRs () >= MinNumRegsRequired
5086- ? getAGPROpMapping (MI.getOperand (0 ).getReg (), MRI, *TRI)
5087- : getVGPROpMapping (MI.getOperand (0 ).getReg (), MRI, *TRI);
5087+ UseAGPRForm ? getAGPROpMapping (MI.getOperand (0 ).getReg (), MRI, *TRI)
5088+ : getVGPROpMapping (MI.getOperand (0 ).getReg (), MRI, *TRI);
50885089
50895090 OpdsMapping[2 ] = getVGPROpMapping (MI.getOperand (2 ).getReg (), MRI, *TRI);
50905091 OpdsMapping[3 ] = getVGPROpMapping (MI.getOperand (3 ).getReg (), MRI, *TRI);
50915092 OpdsMapping[4 ] =
5092- Info->getMinNumAGPRs () >= MinNumRegsRequired
5093- ? getAGPROpMapping (MI.getOperand (4 ).getReg (), MRI, *TRI)
5094- : getVGPROpMapping (MI.getOperand (4 ).getReg (), MRI, *TRI);
5093+ UseAGPRForm ? getAGPROpMapping (MI.getOperand (4 ).getReg (), MRI, *TRI)
5094+ : getVGPROpMapping (MI.getOperand (4 ).getReg (), MRI, *TRI);
50955095
50965096 OpdsMapping[8 ] = getVGPROpMapping (MI.getOperand (8 ).getReg (), MRI, *TRI);
50975097 OpdsMapping[10 ] = getVGPROpMapping (MI.getOperand (10 ).getReg (), MRI, *TRI);
0 commit comments