diff --git a/.pick_status.json b/.pick_status.json index a6f80ea740c..4a44da4f8ce 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4564,7 +4564,7 @@ "description": "nir/load_store_vectorize: Handle intrinsics with constant base", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/compiler/nir/nir_opt_load_store_vectorize.c b/src/compiler/nir/nir_opt_load_store_vectorize.c index 90abbcc179f..f175e0ec534 100644 --- a/src/compiler/nir/nir_opt_load_store_vectorize.c +++ b/src/compiler/nir/nir_opt_load_store_vectorize.c @@ -752,6 +752,8 @@ vectorize_loads(nir_builder *b, struct vectorize_ctx *ctx, nir_intrinsic_set_range_base(first->intrin, low_base); nir_intrinsic_set_range(first->intrin, MAX2(low_end, high_end) - low_base); + } else if (nir_intrinsic_has_base(first->intrin) && info->base_src == -1 && info->deref_src == -1) { + nir_intrinsic_set_base(first->intrin, nir_intrinsic_base(low->intrin)); } first->key = low->key;