Summary: | i965: Try to use LINE instructions to perform MAD with immediate arguments | ||
---|---|---|---|
Product: | Mesa | Reporter: | Matt Turner <mattst88> |
Component: | Drivers/DRI/i965 | Assignee: | Matt Turner <mattst88> |
Status: | RESOLVED FIXED | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | enhancement | ||
Priority: | medium | CC: | juhapekka.heikkila |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 77547 |
Description
Matt Turner
2014-04-16 20:47:34 UTC
Patches sent to the mailing list. Committed: commit a28ad9d4c0d4b95aee8c3b99e9aaa59add21ea9d Author: Matt Turner <mattst88@gmail.com> Date: Thu Apr 3 14:29:30 2014 -0700 i965/fs: Perform CSE on MOV ..., VF instructions. Safe from causing optimization loops, since we don't constant propagate VF arguments. (for this and the previous patch): total instructions in shared programs: 4289075 -> 4271932 (-0.40%) instructions in affected programs: 1616779 -> 1599636 (-1.06%) Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> commit 963a3c7f90672c8d4931606d45e172792caf84ca Author: Matt Turner <mattst88@gmail.com> Date: Tue Apr 1 16:49:13 2014 -0700 i965/fs: Try to emit LINE instructions on Gen <= 5. The LINE instruction performs a multiply-add instruction (a * b + c) where b and c are scalar arguments. It reads b and c from offsets in src0 such that you can load them (it they're representable) as a vector-float immediate with a single instruction. Hurts some programs, but that'll all get better once we CSE the vector-float MOVs in the next patch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77544 Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.