From: Chris Forbes Date: Sun, 26 Jul 2020 18:37:42 +0000 (-0700) Subject: bifrost: Add support for nir_op_inot X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=539ea0873688da083a0e5ae3e4f887c48070ce31;p=mesa.git bifrost: Add support for nir_op_inot Signed-off-by: Chris Forbes Reviewed-by: Alyssa Rosenzweig Part-of: --- 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: