From d31df8416bbabf50460dfd6b08f55f399f0a9288 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Wed, 17 Feb 2021 14:45:44 -0500 Subject: [PATCH] pan/bi: Allow @rNULL with tied operands Will enable DCE of atomics. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/bi_pack.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/panfrost/bifrost/bi_pack.c b/src/panfrost/bifrost/bi_pack.c index b43e5a8..d9f28fc 100644 --- a/src/panfrost/bifrost/bi_pack.c +++ b/src/panfrost/bifrost/bi_pack.c @@ -330,9 +330,10 @@ bi_pack_tuple(bi_clause *clause, bi_tuple *tuple, bi_tuple *prev, bool first_tup if (tuple->add) { bi_instr *add = tuple->add; - bool sr_write = bi_opcode_props[add->op].sr_write; + bool sr_write = bi_opcode_props[add->op].sr_write && + !bi_is_null(add->dest[0]); - if (sr_read) { + if (sr_read && !bi_is_null(add->src[0])) { assert(add->src[0].type == BI_INDEX_REGISTER); clause->staging_register = add->src[0].value; -- 2.7.4