intel/compiler: compute int64_options based on devinfo->has_64bit_int

Don't compute it based on devinfo->has_64bit_float. Othwerwise we may
end up emitting 64bit-int (Q) instructions on platforms with 64bit
floats but not 64bit integers.

Right now, the only platforms where has_64bit_int is different from
has_64bit_float are the platforms that use GFX7_FEATURES.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15835>
This commit is contained in:
Paulo Zanoni
2022-03-09 16:56:08 -08:00
committed by Marge Bot
parent 26bb81f3f6
commit 8f02e6cb19

View File

@@ -146,10 +146,10 @@ brw_compiler_create(void *mem_ctx, const struct intel_device_info *devinfo)
nir_lower_dsub |
nir_lower_ddiv;
if (!devinfo->has_64bit_float || INTEL_DEBUG(DEBUG_SOFT64)) {
int64_options |= (nir_lower_int64_options)~0;
if (!devinfo->has_64bit_float || INTEL_DEBUG(DEBUG_SOFT64))
fp64_options |= nir_lower_fp64_full_software;
}
if (!devinfo->has_64bit_int)
int64_options |= (nir_lower_int64_options)~0;
/* The Bspec's section tittled "Instruction_multiply[DevBDW+]" claims that
* destination type can be Quadword and source type Doubleword for Gfx8 and