diff options
author | Jonathan Marek <[email protected]> | 2019-12-15 14:18:13 -0500 |
---|---|---|
committer | Jonathan Marek <[email protected]> | 2019-12-16 13:37:09 -0500 |
commit | b936143327cb223ec4d20af349778c56af4101ec (patch) | |
tree | 2b4104cae3e01c5e0b3fb59303e4be2f58413d8a /src/freedreno | |
parent | d4676d7a166ab7e01f62c7453a80aa74d80ab5f9 (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.c | 3 |
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) { |