diff options
-rw-r--r-- | src/panfrost/bifrost/bifrost_compile.c | 2 | ||||
-rw-r--r-- | src/panfrost/bifrost/bifrost_compile.h | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index a6a70cc0311..dc9b6f9d706 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -2162,6 +2162,8 @@ bi_optimize_nir(nir_shader *nir) NIR_PASS(progress, nir, nir_opt_algebraic); NIR_PASS(progress, nir, nir_opt_constant_folding); + NIR_PASS(progress, nir, nir_lower_alu); + if (lower_flrp != 0) { bool lower_flrp_progress = false; NIR_PASS(lower_flrp_progress, diff --git a/src/panfrost/bifrost/bifrost_compile.h b/src/panfrost/bifrost/bifrost_compile.h index 9c94087dba2..e424a23a91e 100644 --- a/src/panfrost/bifrost/bifrost_compile.h +++ b/src/panfrost/bifrost/bifrost_compile.h @@ -69,6 +69,9 @@ static const nir_shader_compiler_options bifrost_nir_options = { .lower_doubles_options = nir_lower_dmod, /* TODO: Don't lower supported 64-bit operations */ .lower_int64_options = ~0, + /* TODO: Use IMULD on v7 */ + .lower_mul_high = true, + .lower_uadd_carry = true, .lower_bitfield_extract_to_shifts = true, .has_fsub = true, |