r600g: Fix instruction group merge when there are predicated insts.

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
This commit is contained in:
Vincent Lejeune
2012-08-01 22:52:54 +02:00
committed by Tom Stellard
parent 56227f875b
commit 72f7632c6b
+18
View File
@@ -1047,9 +1047,27 @@ static int merge_inst_groups(struct r600_bytecode *bc, struct r600_bytecode_alu
if (r)
return r;
for (i = 0; i < max_slots; ++i) {
if (prev[i]) {
if (prev[i]->pred_sel)
return 0;
if (is_alu_once_inst(bc, prev[i]))
return 0;
}
if (slots[i]) {
if (slots[i]->pred_sel)
return 0;
if (is_alu_once_inst(bc, slots[i]))
return 0;
}
}
for (i = 0; i < max_slots; ++i) {
struct r600_bytecode_alu *alu;
if (num_once_inst > 0)
return 0;
/* check number of literals */
if (prev[i]) {
if (r600_bytecode_alu_nliterals(bc, prev[i], literal, &nliteral))