From 78a195f252d558c828c20bebda4bd9252534f53d Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Fri, 12 May 2023 02:21:03 -0700 Subject: [PATCH] intel/compiler: Postpone most int64 lowering to brw_postprocess_nir Float conversions continue to be lowered early at the same time as nir_lower_doubles, which we run early so we don't have to run it for every shader key variant. However, all other int64 lowering is now done late, after nir_opt_load_store_vectorize(), allowing it to comprehend basic arithmetic on 64-bit addresses. Reviewed-by: Ian Romanick Part-of: --- src/intel/compiler/brw_nir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c index 755cbd6aca9..45c5df4562f 100644 --- a/src/intel/compiler/brw_nir.c +++ b/src/intel/compiler/brw_nir.c @@ -982,7 +982,7 @@ brw_preprocess_nir(const struct brw_compiler *compiler, nir_shader *nir, brw_nir_optimize(nir, compiler, is_scalar); OPT(nir_lower_doubles, opts->softfp64, nir->options->lower_doubles_options); - if (OPT(nir_lower_int64)) { + if (OPT(nir_lower_int64_float_conversions)) { OPT(nir_opt_algebraic); OPT(nir_lower_doubles, opts->softfp64, nir->options->lower_doubles_options);