From: Alyssa Rosenzweig Date: Tue, 3 Mar 2020 13:57:03 +0000 (-0500) Subject: pan/bi: Add EXTRACT, MAKE_VEC synthetic ops X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cb3cd8aa56e76afa988429f0373642c53c1b4f92;p=mesa.git 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: --- 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;