agx: Implement {i,u}mul_2x32_64
With support for MRT in the driver (not included here), passes: dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended.int_highp_fragment dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended.int_highp_fragment Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19590>
This commit is contained in:
committed by
Marge Bot
parent
74a884f73c
commit
44ccdca768
@@ -892,6 +892,8 @@ agx_emit_alu(agx_builder *b, nir_alu_instr *instr)
|
||||
case nir_op_isub: return agx_iadd_to(b, dst, s0, agx_neg(s1), 0);
|
||||
case nir_op_ineg: return agx_iadd_to(b, dst, agx_zero(), agx_neg(s0), 0);
|
||||
case nir_op_imul: return agx_imad_to(b, dst, s0, s1, agx_zero(), 0);
|
||||
case nir_op_umul_2x32_64: return agx_imad_to(b, dst, agx_abs(s0), agx_abs(s1), agx_zero(), 0);
|
||||
case nir_op_imul_2x32_64: return agx_imad_to(b, dst, s0, s1, agx_zero(), 0);
|
||||
case nir_op_umul_high: return agx_umul_high_to(b, dst, s0, s1);
|
||||
|
||||
case nir_op_ishl: return agx_bfi_to(b, dst, agx_zero(), s0, s1, 0);
|
||||
|
||||
Reference in New Issue
Block a user