diff options
author | Kenneth Graunke <[email protected]> | 2014-02-23 16:29:46 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2014-02-26 02:16:53 -0800 |
commit | 56879a7ac41b8c7513a97cc02921f76a2ec8407c (patch) | |
tree | dc834fc03c10e78a90def8df14c54ff82f894096 /src/glsl/ir_optimization.h | |
parent | ffde483f3c4da547f2823f72554cea1d1ff25e48 (diff) |
i965/vec4: Handle ir_triop_lrp on Gen4-5 as well.
When the vec4 backend encountered an ir_triop_lrp, it always emitted an
actual LRP instruction, which only exists on Gen6+. Gen4-5 used
lower_instructions() to decompose ir_triop_lrp at the IR level.
Since commit 8d37e9915a3b21 ("glsl: Optimize open-coded lrp into lrp."),
we've had an bug where lower_instructions translates ir_triop_lrp into
arithmetic, but opt_algebraic reassembles it back into a lrp.
To avoid this ordering concern, just handle ir_triop_lrp in the backend.
The FS backend already does this, so we may as well do likewise.
v2: Add a comment reminding us that we could emit better assembly if we
implemented the infrastructure necessary to support using MAC.
(Assembly code provided by Eric Anholt).
Cc: "10.1" <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75253
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
Acked-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/glsl/ir_optimization.h')
0 files changed, 0 insertions, 0 deletions