radeon/llvm: add missing cases for BREAK/CONTINUE

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
This commit is contained in:
Vadim Girlin 2012-05-07 13:02:46 +04:00
parent e740b60845
commit e9be193430
2 changed files with 3 additions and 0 deletions

View File

@ -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:

View File

@ -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