Mesa (master): radeon/llvm: add missing cases for BREAK/CONTINUE
Vadim Girlin
vadimg at kemper.freedesktop.org
Mon May 7 23:56:43 UTC 2012
Module: Mesa
Branch: master
Commit: e9be193430a9c50975bc2ce4724e5cc517502467
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e9be193430a9c50975bc2ce4724e5cc517502467
Author: Vadim Girlin <vadimgirlin at gmail.com>
Date: Mon May 7 13:02:46 2012 +0400
radeon/llvm: add missing cases for BREAK/CONTINUE
Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>
---
src/gallium/drivers/radeon/AMDGPUUtil.cpp | 1 +
src/gallium/drivers/radeon/R600CodeEmitter.cpp | 2 ++
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/src/gallium/drivers/radeon/AMDGPUUtil.cpp b/src/gallium/drivers/radeon/AMDGPUUtil.cpp
index 30fa32c..d6f72b1 100644
--- a/src/gallium/drivers/radeon/AMDGPUUtil.cpp
+++ b/src/gallium/drivers/radeon/AMDGPUUtil.cpp
@@ -105,6 +105,7 @@ bool llvm::isFCOp(unsigned opcode)
case AMDIL::BREAK_LOGICALZ_f32:
case AMDIL::BREAK_LOGICALNZ_i32:
case AMDIL::BREAK_LOGICALZ_i32:
+ case AMDIL::BREAK_LOGICALNZ_f32:
case AMDIL::CONTINUE_LOGICALNZ_f32:
case AMDIL::IF_LOGICALNZ_i32:
case AMDIL::IF_LOGICALZ_f32:
diff --git a/src/gallium/drivers/radeon/R600CodeEmitter.cpp b/src/gallium/drivers/radeon/R600CodeEmitter.cpp
index 53fdd15..e0bc95b 100644
--- a/src/gallium/drivers/radeon/R600CodeEmitter.cpp
+++ b/src/gallium/drivers/radeon/R600CodeEmitter.cpp
@@ -568,6 +568,7 @@ void R600CodeEmitter::emitFCInstr(MachineInstr &MI)
case AMDIL::BREAK_LOGICALZ_f32:
instr = FC_BREAK;
break;
+ case AMDIL::BREAK_LOGICALNZ_f32:
case AMDIL::BREAK_LOGICALNZ_i32:
instr = FC_BREAK_NZ_INT;
break;
@@ -575,6 +576,7 @@ void R600CodeEmitter::emitFCInstr(MachineInstr &MI)
instr = FC_BREAK_Z_INT;
break;
case AMDIL::CONTINUE_LOGICALNZ_f32:
+ case AMDIL::CONTINUE_LOGICALNZ_i32:
instr = FC_CONTINUE;
break;
/* XXX: This assumes that all IFs will be if (x != 0). If we add
More information about the mesa-commit
mailing list