From 539ea0873688da083a0e5ae3e4f887c48070ce31 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sun, 26 Jul 2020 11:37:42 -0700 Subject: [PATCH] bifrost: Add support for nir_op_inot Signed-off-by: Chris Forbes Reviewed-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/bifrost_compile.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index bee11a440bb..2aef98fde6d 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -515,6 +515,7 @@ bi_class_for_nir_alu(nir_op op) case nir_op_iand: case nir_op_ior: case nir_op_ixor: + case nir_op_inot: return BI_BITWISE; BI_CASE_CMP(nir_op_flt) @@ -801,6 +802,12 @@ emit_alu(bi_context *ctx, nir_alu_instr *instr) case nir_op_isub: alu.op.imath = BI_IMATH_SUB; break; + case nir_op_inot: + /* no dedicated bitwise not, but we can invert sources. convert to ~a | 0 */ + alu.op.bitwise = BI_BITWISE_OR; + alu.bitwise.src_invert[0] = true; + alu.src[1] = BIR_INDEX_ZERO; + break; case nir_op_fmax: case nir_op_imax: case nir_op_umax: -- 2.30.2