summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Girlin <[email protected]>2012-05-07 13:02:46 +0400
committerVadim Girlin <[email protected]>2012-05-08 01:18:22 +0400
commite9be193430a9c50975bc2ce4724e5cc517502467 (patch)
tree91090e089ba530f8f9a4b873c6849c93e7c9cbce
parente740b60845b56f9bb08ae751d80b058a27c73d5a (diff)
radeon/llvm: add missing cases for BREAK/CONTINUE
Signed-off-by: Vadim Girlin <[email protected]>
-rw-r--r--src/gallium/drivers/radeon/AMDGPUUtil.cpp1
-rw-r--r--src/gallium/drivers/radeon/R600CodeEmitter.cpp2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/AMDGPUUtil.cpp b/src/gallium/drivers/radeon/AMDGPUUtil.cpp
index 30fa32ce98a..d6f72b19050 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 53fdd1592c4..e0bc95b9465 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