diff options
author | Ian Romanick <[email protected]> | 2018-06-20 17:18:30 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2018-12-17 13:47:06 -0800 |
commit | 440c051340669e809511c05370d6d703c70f6d0e (patch) | |
tree | a469e7857cc69b8aba42cdf420fb76b068b87f4a /src/intel/compiler/meson.build | |
parent | 111bcc8d028b5d71aacdd080671578b665a9f4ed (diff) |
i965/vec4/dce: Don't narrow the write mask if the flags are used
In an instruction sequence like
cmp(8).ge.f0.0 vgrf17:D, vgrf2.xxxx:D, vgrf9.xxxx:D
(+f0.0) sel(8) vgrf1:UD, vgrf8.xyzw:UD, vgrf1.xyzw:UD
The other fields of vgrf17 may be unused, but the CMP still needs to
generate the other flag bits.
To my surprise, nothing in shader-db or any test suite appears to hit
this. However, I have a change to brw_vec4_cmod_propagation that
creates cases where this can happen. This fix prevents a couple dozen
regressions in that patch.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Fixes: 5df88c20 ("i965/vec4: Rewrite dead code elimination to use live in/out.")
Diffstat (limited to 'src/intel/compiler/meson.build')
-rw-r--r-- | src/intel/compiler/meson.build | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/intel/compiler/meson.build b/src/intel/compiler/meson.build index 2124278cc04..69ce2eab4cf 100644 --- a/src/intel/compiler/meson.build +++ b/src/intel/compiler/meson.build @@ -146,7 +146,8 @@ if with_tests foreach t : ['fs_cmod_propagation', 'fs_copy_propagation', 'fs_saturate_propagation', 'vf_float_conversions', 'vec4_register_coalesce', 'vec4_copy_propagation', - 'vec4_cmod_propagation', 'eu_compact', 'eu_validate'] + 'vec4_cmod_propagation', 'vec4_dead_code_eliminate', + 'eu_compact', 'eu_validate'] test( t, executable( |