summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mesa/pipe/llvm/llvmtgsi.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mesa/pipe/llvm/llvmtgsi.cpp b/src/mesa/pipe/llvm/llvmtgsi.cpp
index c6cf2de4fc..c934c002f0 100644
--- a/src/mesa/pipe/llvm/llvmtgsi.cpp
+++ b/src/mesa/pipe/llvm/llvmtgsi.cpp
@@ -190,7 +190,9 @@ translate_instruction(llvm::Module *module,
out = instr->mul(inputs[0], inputs[1]);
}
break;
- case TGSI_OPCODE_ADD:
+ case TGSI_OPCODE_ADD: {
+ out = instr->add(inputs[0], inputs[1]);
+ }
break;
case TGSI_OPCODE_DP3: {
out = instr->dp3(inputs[0], inputs[1]);
@@ -447,6 +449,7 @@ translate_instruction(llvm::Module *module,
case TGSI_OPCODE_KIL:
break;
case TGSI_OPCODE_END:
+ return;
break;
default:
fprintf(stderr, "ERROR: Unknown opcode %d\n",
@@ -455,6 +458,11 @@ translate_instruction(llvm::Module *module,
break;
}
+ if (!out) {
+ fprintf(stderr, "ERROR: unsupported opcode %d\n",
+ inst->Instruction.Opcode);
+ assert(!"Unsupported opcode");
+ }
switch( inst->Instruction.Saturate ) {
case TGSI_SAT_NONE: