diff --git a/src/intel/compiler/jay/jay_nir.c b/src/intel/compiler/jay/jay_nir.c index b50b98248fd..b2c32667328 100644 --- a/src/intel/compiler/jay/jay_nir.c +++ b/src/intel/compiler/jay/jay_nir.c @@ -10,6 +10,7 @@ #include "jay_private.h" #include "nir.h" #include "nir_builder.h" +#include "nir_intrinsics.h" /* * Jay-to-NIR relies on a careful indexing of defs: every 32-bit word has @@ -100,6 +101,12 @@ jay_nir_lower_simd(nir_builder *b, nir_intrinsic_instr *intr, void *simd_) return true; } + /* Just a constant */ + if (intr->intrinsic == nir_intrinsic_load_simd_width_intel) { + nir_def_replace(&intr->def, nir_imm_int(b, *simd_width)); + return true; + } + /* Note: we don't treat read_invocation specially because there's little * benefit but doing so would require expensive uniformizing in some cases. */