aboutsummaryrefslogtreecommitdiffstats
path: root/src/freedreno
diff options
context:
space:
mode:
authorJonathan Marek <[email protected]>2019-12-15 14:18:13 -0500
committerJonathan Marek <[email protected]>2019-12-16 13:37:09 -0500
commitb936143327cb223ec4d20af349778c56af4101ec (patch)
tree2b4104cae3e01c5e0b3fb59303e4be2f58413d8a /src/freedreno
parentd4676d7a166ab7e01f62c7453a80aa74d80ab5f9 (diff)
freedreno/ir3: lower mul_2x32_64
lower_mul_2x32_64 generates mul_high opcodes, and lower_mul_high is done by nir_lower_alu, so call nir_lower_alu after nir_opt_algebraic. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/freedreno')
-rw-r--r--src/freedreno/ir3/ir3_nir.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/freedreno/ir3/ir3_nir.c b/src/freedreno/ir3/ir3_nir.c
index 17db07616e8..4a45a15ba50 100644
--- a/src/freedreno/ir3/ir3_nir.c
+++ b/src/freedreno/ir3/ir3_nir.c
@@ -48,6 +48,7 @@ static const nir_shader_compiler_options options = {
.lower_uadd_carry = true,
.lower_usub_borrow = true,
.lower_mul_high = true,
+ .lower_mul_2x32_64 = true,
.fuse_ffma = true,
.vertex_id_zero_based = true,
.lower_extract_byte = true,
@@ -77,6 +78,7 @@ static const nir_shader_compiler_options options_a6xx = {
.lower_uadd_carry = true,
.lower_usub_borrow = true,
.lower_mul_high = true,
+ .lower_mul_2x32_64 = true,
.fuse_ffma = true,
.vertex_id_zero_based = false,
.lower_extract_byte = true,
@@ -150,6 +152,7 @@ ir3_optimize_loop(nir_shader *s)
progress |= OPT(s, nir_opt_peephole_select, 16, true, true);
progress |= OPT(s, nir_opt_intrinsics);
progress |= OPT(s, nir_opt_algebraic);
+ progress |= OPT(s, nir_lower_alu);
progress |= OPT(s, nir_opt_constant_folding);
if (lower_flrp != 0) {