mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-07 15:10:12 +01:00
i965/fs: Disable CSE on instructions writing to HW_REG.
CSE would otherwise combine the two mul(8) emitted by [iu]mulExtended: mul(8) acc0 x y mach(8) null x y mov(8) lsb acc0 ... mul(8) acc0 x y mach(8) msb x y Into: mul(8) temp x y mov(8) acc0 temp mach(8) null x y mov(8) lsb acc0 ... mov(8) acc0 temp mach(8) msb x y But mul(8) into the accumulator produces more than 32-bits of precision, which is required and lost if multiplying into a general register and moving to the accumulator. Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
06e41a02a3
commit
6ff8f06308
1 changed files with 2 additions and 1 deletions
|
|
@ -98,7 +98,8 @@ fs_visitor::opt_cse_local(bblock_t *block, exec_list *aeb)
|
|||
if (is_expression(inst) &&
|
||||
!inst->predicate &&
|
||||
!inst->is_partial_write() &&
|
||||
!inst->conditional_mod)
|
||||
!inst->conditional_mod &&
|
||||
inst->dst.file != HW_REG)
|
||||
{
|
||||
bool found = false;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue