aco: run nir_lower_int64() before nir_lower_idiv()
nir_lower_idiv() asserts on 64-bit integers. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
This commit is contained in:
@@ -1307,9 +1307,6 @@ setup_isel_context(Program* program,
|
||||
nir_lower_pack(nir);
|
||||
|
||||
/* lower ALU operations */
|
||||
nir_opt_idiv_const(nir, 32);
|
||||
nir_lower_idiv(nir); // TODO: use the LLVM path once !1239 is merged
|
||||
|
||||
// TODO: implement logic64 in aco, it's more effective for sgprs
|
||||
nir_lower_int64(nir, (nir_lower_int64_options) (nir_lower_imul64 |
|
||||
nir_lower_imul_high64 |
|
||||
@@ -1320,6 +1317,9 @@ setup_isel_context(Program* program,
|
||||
nir_lower_iabs64 |
|
||||
nir_lower_ineg64));
|
||||
|
||||
nir_opt_idiv_const(nir, 32);
|
||||
nir_lower_idiv(nir); // TODO: use the LLVM path once !1239 is merged
|
||||
|
||||
/* optimize the lowered ALU operations */
|
||||
nir_copy_prop(nir);
|
||||
nir_opt_constant_folding(nir);
|
||||
|
||||
Reference in New Issue
Block a user