freedreno/a3xx/compiler: fix neg mov's
authorRob Clark <robclark@freedesktop.org>
Wed, 9 Apr 2014 13:01:32 +0000 (09:01 -0400)
committerRob Clark <robclark@freedesktop.org>
Wed, 9 Apr 2014 14:59:18 +0000 (10:59 -0400)
commit9604e31dc9b43529a17b823b9cb9ddb7492bb317
tree10d574c338db8ba8abb98498fee609f6eaf7c3c1
parent4d641803e8f8763dcf4a262c6bcf2d1ba0431ca2
freedreno/a3xx/compiler: fix neg mov's

create_mov() was fixed up to handle neg/abs properly for interal mov's,
using absneg.f, but forgot to fix it for TGSI MOV's.  The problem with
using add.f to handle negated mov's is that we can only take a single
const reg src.  So:

  MOV TEMP[n], -CONST[m]

would turn into:

  add.f Rdst, (neg)CONST[m], 0.0

which would not work.  Anyways, just remove the extra code and always
use create_mov() which DTRT.

This fixes piglit vs-op-neg-int test.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/a3xx/fd3_compiler.c