intel/fs: Enable nir_op_imul_32x16 and nir_op_umul_32x16 on pre-Gfx7
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 9 Feb 2021 00:45:08 +0000 (16:45 -0800)
committerMarge Bot <emma+marge@anholt.net>
Wed, 9 Nov 2022 21:34:26 +0000 (21:34 +0000)
commit351b8c6aec55b5ec79057ff1f7fa02b796d768f1
treef4ddde215e77d6c9ec9a7c792d22b9323d7b1d0d
parent293ad13e3f32ef1090858dd9e5c7b93efdc66b3e
intel/fs: Enable nir_op_imul_32x16 and nir_op_umul_32x16 on pre-Gfx7

Even though Intel's CI doesn't test these old platforms anymore, the
validation added in "intel/eu/validate: Validate integer multiplication
source size restrictions" combined with full shader-db runs gives me
confidence in the changes.

Sandy Bridge
total instructions in shared programs: 13902341 -> 13902167 (<.01%)
instructions in affected programs: 30771 -> 30597 (-0.57%)
helped: 66 / HURT: 0

total cycles in shared programs: 741795500 -> 741791931 (<.01%)
cycles in affected programs: 987602 -> 984033 (-0.36%)
helped: 28 / HURT: 5

Iron Lake
total instructions in shared programs: 8365806 -> 8365754 (<.01%)
instructions in affected programs: 1766 -> 1714 (-2.94%)
helped: 10 / HURT: 0

total cycles in shared programs: 248542694 -> 248542378 (<.01%)
cycles in affected programs: 29836 -> 29520 (-1.06%)
helped: 9 / HURT: 0

GM45
total instructions in shared programs: 5187127 -> 5187101 (<.01%)
instructions in affected programs: 891 -> 865 (-2.92%)
helped: 5 / HURT: 0

total cycles in shared programs: 163643914 -> 163643750 (<.01%)
cycles in affected programs: 22206 -> 22042 (-0.74%)
helped: 5 / HURT: 0

Reviewed-by: Marcin Ĺšlusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19602>
src/intel/compiler/brw_fs_nir.cpp
src/intel/compiler/brw_nir.c