intel/fs: No need to copy null destinations in lower_simd_width.
The copy would be discarded immediately. Until now we were relying on DCE to eliminate these, but it seems like in some cases MOVs into the null register emitted by lower_simd_width() are never eliminated, likely because a lower_simd_width() call has been introduced close to the bottom of optimize() which isn't follow by any additional DCE passes. Reviewed-by: Caio Oliveira <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26585>
This commit is contained in:
committed by
Marge Bot
parent
5e0760a993
commit
09ea840987
@@ -5238,6 +5238,9 @@ emit_unzip(const fs_builder &lbld, fs_inst *inst, unsigned i)
|
||||
static inline bool
|
||||
needs_dst_copy(const fs_builder &lbld, const fs_inst *inst)
|
||||
{
|
||||
if (inst->dst.is_null())
|
||||
return false;
|
||||
|
||||
/* If the instruction writes more than one component we'll have to shuffle
|
||||
* the results of multiple lowered instructions in order to make sure that
|
||||
* they end up arranged correctly in the original destination region.
|
||||
|
||||
Reference in New Issue
Block a user