intel/fs: Lower dword integer multiplies on XeHP.
From the BSpec: "When multiplying DW X DW, resulting dst can only be QW precision. If DW precision is required at output than MUL/MACH macro must be used." So for now simply lower it. We might want to revisit it later. Reviewed-by: Francisco Jerez <currojerez@riseup.net> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10000>
This commit is contained in:

committed by
Marge Bot

parent
3f50dde8b3
commit
49b2d9f428
@@ -4231,7 +4231,8 @@ fs_visitor::lower_integer_multiplication()
|
|||||||
} else if (!inst->dst.is_accumulator() &&
|
} else if (!inst->dst.is_accumulator() &&
|
||||||
(inst->dst.type == BRW_REGISTER_TYPE_D ||
|
(inst->dst.type == BRW_REGISTER_TYPE_D ||
|
||||||
inst->dst.type == BRW_REGISTER_TYPE_UD) &&
|
inst->dst.type == BRW_REGISTER_TYPE_UD) &&
|
||||||
!devinfo->has_integer_dword_mul) {
|
(!devinfo->has_integer_dword_mul ||
|
||||||
|
devinfo->verx10 >= 125)) {
|
||||||
lower_mul_dword_inst(inst, block);
|
lower_mul_dword_inst(inst, block);
|
||||||
inst->remove(block);
|
inst->remove(block);
|
||||||
progress = true;
|
progress = true;
|
||||||
|
Reference in New Issue
Block a user