pan/bi: Add T0/T1 constraint check

Not visible on real shaders yet, but it will be when we schedule
out-of-order (or implement 64-bit multiplication).

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354>
This commit is contained in:
Alyssa Rosenzweig
2021-01-06 16:16:37 -05:00
committed by Marge Bot
parent 0349181e40
commit fb27baa35a
+16
View File
@@ -650,6 +650,22 @@ bi_has_staging_passthrough_hazard(bi_index fma, bi_instr *add)
return false;
}
/* Likewise for cross-tuple passthrough (reads_temps) */
static bool
bi_has_cross_passthrough_hazard(bi_tuple *succ, bi_instr *ins)
{
bi_foreach_instr_in_tuple(succ, pins) {
bi_foreach_src(pins, s) {
if (bi_is_word_equiv(ins->dest[0], pins->src[s]) &&
!bi_reads_temps(pins, s))
return true;
}
}
return false;
}
#ifndef NDEBUG
static bi_builder *