[Bug 80037] New: i965: Figure out how to remove copy-propagated MOV x, (abs)x
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sat Jun 14 14:28:22 PDT 2014
https://bugs.freedesktop.org/show_bug.cgi?id=80037
Priority: medium
Bug ID: 80037
Assignee: idr at freedesktop.org
Blocks: 77547
Summary: i965: Figure out how to remove copy-propagated MOV x,
(abs)x
QA Contact: intel-3d-bugs at lists.freedesktop.org
Severity: normal
Classification: Unclassified
OS: All
Reporter: mattst88 at gmail.com
Hardware: Other
Status: NEW
Version: unspecified
Component: Drivers/DRI/i965
Product: Mesa
Some psychonauts shaders do pow(abs(x), y), which generates
mov vgrf10:F, |vgrf10|:F
pow vgrf53:F, vgrf10:F, vgrf55:F
We copy propagate from the MOV into the POW:
mov vgrf10:F, |vgrf10|:F
pow vgrf53:F, |vgrf10|:F, vgrf55:F
but since vgrf10 is used after the MOV, dead code elimination isn't able to
recognize that it's no longer used and so we can't remove it.
We could probably handle this in copy-propagation. After copy-propagating a MOV
x, (abs)x instruction we'd check if its value has been propagated into all uses
of the MOV's destination, and if so remove the MOV.
--
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20140614/afe74f90/attachment.html>
More information about the intel-3d-bugs
mailing list