From cb3cd8aa56e76afa988429f0373642c53c1b4f92 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 3 Mar 2020 08:57:03 -0500 Subject: [PATCH] pan/bi: Add EXTRACT, MAKE_VEC synthetic ops These allow translating between the vector I/O and scalar ALUs, facilitated by an RA dance to ensured contiguous registers are used. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/compiler.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h index a06f9881908..654a0859fd7 100644 --- a/src/panfrost/bifrost/compiler.h +++ b/src/panfrost/bifrost/compiler.h @@ -55,12 +55,14 @@ enum bi_class { BI_CONVERT, BI_CSEL, BI_DISCARD, + BI_EXTRACT, BI_FMA, BI_FREXP, BI_LOAD, BI_LOAD_ATTR, BI_LOAD_VAR, BI_LOAD_VAR_ADDRESS, + BI_MAKE_VEC, BI_MINMAX, BI_MOV, BI_SHIFT, @@ -152,7 +154,8 @@ typedef struct { unsigned dest; unsigned src[BIR_SRC_COUNT]; - /* If one of the sources has BIR_INDEX_CONSTANT... */ + /* If one of the sources has BIR_INDEX_CONSTANT... Also, for + * BI_EXTRACT, the component index is stored here. */ union { uint64_t u64; uint32_t u32; -- 2.30.2