From 40bf6da4a420adaee2aa67e8d6df9fbfa2ecd9a5 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 22 Jul 2022 14:22:16 -0400 Subject: [PATCH] pan/bi: Model [IF]CMP_{OR,AND,MULTI} ops Valhall-style comparisons are 3-source, allowing multiple comparisons to be combined without bitwise arithmetic. For example, the sequence FCMP.f32.eq t, z, w FCMP_AND.f32.eq dest, x, y, t calculates (z == w) && (y == t) in 2 instructions (would be 3 on Bifrost). Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/ISA.xml | 452 +++++++++++++++++++++++++++++++++++ 1 file changed, 452 insertions(+) diff --git a/src/panfrost/bifrost/ISA.xml b/src/panfrost/bifrost/ISA.xml index 4241deab2c1..b89d411cce2 100644 --- a/src/panfrost/bifrost/ISA.xml +++ b/src/panfrost/bifrost/ISA.xml @@ -8841,4 +8841,456 @@ + + + + + + none + h0 + h1 + + + none + h0 + h1 + + + + + + + eq + gt + ge + ne + lt + le + gtlt + total + + + i1 + f1 + m1 + + + + + + + + + + + eq + gt + ge + ne + lt + le + gtlt + total + + + + + h00 + h10 + h01 + h11 + + + h00 + h10 + h01 + h11 + + + i1 + f1 + m1 + + + + + + + + + none + h0 + h1 + + + none + h0 + h1 + + + + + + + eq + gt + ge + ne + lt + le + gtlt + total + + + i1 + f1 + m1 + + + + + + + + + + + eq + gt + ge + ne + lt + le + gtlt + total + + + + + h00 + h10 + h01 + h11 + + + h00 + h10 + h01 + h11 + + + i1 + f1 + m1 + + + + + + + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + h00 + h10 + h01 + h11 + + + h00 + h10 + h01 + h11 + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + h00 + h10 + h01 + h11 + + + h00 + h10 + h01 + h11 + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + + + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + h00 + h10 + h01 + h11 + + + h00 + h10 + h01 + h11 + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + h00 + h10 + h01 + h11 + + + h00 + h10 + h01 + h11 + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + + + + + + + + + + + + i1 + m1 + + + eq + ne + gt + ge + lt + le + + +