lima/gpir: fix alu check miss last store slot

Fixes: 92d7ca4b1c "gallium: add lima driver"
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
This commit is contained in:
Qiang Yu 2019-04-12 11:35:34 +08:00
parent 8d91cd64aa
commit b46b661f53

View file

@ -90,7 +90,7 @@ static bool gpir_instr_insert_alu_check(gpir_instr *instr, gpir_node *node)
* complex1 won't be any of this instr's store node's child,
* because it has two instr latency before store can use it.
*/
for (int i = GPIR_INSTR_SLOT_STORE0; i < GPIR_INSTR_SLOT_STORE3; i++) {
for (int i = GPIR_INSTR_SLOT_STORE0; i <= GPIR_INSTR_SLOT_STORE3; i++) {
gpir_store_node *s = gpir_node_to_store(instr->slots[i]);
if (s && s->child == node) {
/* acc node may consume 2 slots, so even it's the child of a
@ -119,7 +119,7 @@ static void gpir_instr_remove_alu(gpir_instr *instr, gpir_node *node)
{
int consume_slot = gpir_instr_get_consume_slot(instr, node);
for (int i = GPIR_INSTR_SLOT_STORE0; i < GPIR_INSTR_SLOT_STORE3; i++) {
for (int i = GPIR_INSTR_SLOT_STORE0; i <= GPIR_INSTR_SLOT_STORE3; i++) {
gpir_store_node *s = gpir_node_to_store(instr->slots[i]);
if (s && s->child == node) {
instr->alu_num_slot_needed_by_store++;