radeon/llvm: Do not use PV/PS if PRED_SEL does not match

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
This commit is contained in:
Vincent Lejeune 2012-08-01 22:52:53 +02:00 committed by Tom Stellard
parent da676eab93
commit 56227f875b

View file

@ -927,7 +927,8 @@ static int replace_gpr_with_pv_ps(struct r600_bytecode *bc,
if (bc->chip_class < CAYMAN) {
if (alu->src[src].sel == gpr[4] &&
alu->src[src].chan == chan[4]) {
alu->src[src].chan == chan[4] &&
alu_prev->pred_sel == alu->pred_sel) {
alu->src[src].sel = V_SQ_ALU_SRC_PS;
alu->src[src].chan = 0;
continue;
@ -936,7 +937,8 @@ static int replace_gpr_with_pv_ps(struct r600_bytecode *bc,
for (j = 0; j < 4; ++j) {
if (alu->src[src].sel == gpr[j] &&
alu->src[src].chan == j) {
alu->src[src].chan == j &&
alu_prev->pred_sel == alu->pred_sel) {
alu->src[src].sel = V_SQ_ALU_SRC_PV;
alu->src[src].chan = chan[j];
break;