On Fri, Mar 23, 2018 at 11:35 AM, Jason Ekstrand wrote:
> Otherwise we may end up trying to coalesce in a case such as
>
> ssa_1 = fadd r1, r2
> r3.x = fneg(r2);
> r3 = vec4(ssa_1, ssa_1.y, ...)
>
> and that would cause us to move the writes to r3 from the vec to the
> fadd
Tested on Haswell. Patch works well for me, thanks!
Tested-by: Vadym Shovkoplias
On Fri, Mar 23, 2018 at 8:35 PM, Jason Ekstrand
wrote:
> Otherwise we may end up trying to coalesce in a case such as
>
> ssa_1 = fadd r1, r2
> r3.x =
Otherwise we may end up trying to coalesce in a case such as
ssa_1 = fadd r1, r2
r3.x = fneg(r2);
r3 = vec4(ssa_1, ssa_1.y, ...)
and that would cause us to move the writes to r3 from the vec to the
fadd which would re-order them with respect to the write from the fneg.
In order to solve this, we