From 69d086c6c41ad0efbced984684b3a09075d48553 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Fri, 21 Jul 2023 17:01:35 -0700 Subject: [PATCH] nir/builder: Add nir_extract_i8_imm and nir_extract_u8_imm helpers v2: Fix problems with 16-bit src0. Reviewed-by: Alyssa Rosenzweig Part-of: --- src/compiler/nir/nir_builder.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/compiler/nir/nir_builder.h b/src/compiler/nir/nir_builder.h index 879fd538431..54c812fae5e 100644 --- a/src/compiler/nir/nir_builder.h +++ b/src/compiler/nir/nir_builder.h @@ -1020,6 +1020,18 @@ nir_ubitfield_extract_imm(nir_builder *build, nir_def *x, uint32_t offset, uint3 return nir_ubitfield_extract(build, x, nir_imm_int(build, offset), nir_imm_int(build, size)); } +static inline nir_def * +nir_extract_u8_imm(nir_builder *b, nir_def *a, unsigned i) +{ + return nir_extract_u8(b, a, nir_imm_intN_t(b, i, a->bit_size)); +} + +static inline nir_def * +nir_extract_i8_imm(nir_builder *b, nir_def *a, unsigned i) +{ + return nir_extract_i8(b, a, nir_imm_intN_t(b, i, a->bit_size)); +} + static inline nir_def * nir_fclamp(nir_builder *b, nir_def *x, nir_def *min_val, nir_def *max_val)