summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/radeon/SICodeEmitter.cpp4
-rw-r--r--src/gallium/drivers/radeon/SIInstrInfo.cpp1
2 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeon/SICodeEmitter.cpp b/src/gallium/drivers/radeon/SICodeEmitter.cpp
index d2ea1fb5dec..1d247061e41 100644
--- a/src/gallium/drivers/radeon/SICodeEmitter.cpp
+++ b/src/gallium/drivers/radeon/SICodeEmitter.cpp
@@ -172,6 +172,10 @@ bool SICodeEmitter::runOnMachineFunction(MachineFunction &MF)
}
}
}
+ // Emit S_END_PGM
+ MachineInstr * End = BuildMI(MF, DebugLoc(),
+ TM->getInstrInfo()->get(AMDIL::S_ENDPGM));
+ emitInstr(*End);
return false;
}
diff --git a/src/gallium/drivers/radeon/SIInstrInfo.cpp b/src/gallium/drivers/radeon/SIInstrInfo.cpp
index 40a1891b1a6..4c7a92075c6 100644
--- a/src/gallium/drivers/radeon/SIInstrInfo.cpp
+++ b/src/gallium/drivers/radeon/SIInstrInfo.cpp
@@ -100,7 +100,6 @@ unsigned SIInstrInfo::getISAOpcode(unsigned AMDILopcode) const
{
switch (AMDILopcode) {
//XXX We need a better way of detecting end of program
- case AMDIL::RETURN: return AMDIL::S_ENDPGM;
case AMDIL::MOVE_f32: return AMDIL::V_MOV_B32_e32;
default: return AMDILopcode;
}