freedreno/ir3: don't cp absneg into meta:fi
authorRob Clark <robdclark@gmail.com>
Mon, 4 Jun 2018 17:31:47 +0000 (13:31 -0400)
committerRob Clark <robdclark@gmail.com>
Mon, 11 Jun 2018 13:06:03 +0000 (09:06 -0400)
commitcf5dda334945e2cbfaf5f83fd32c3fa01f436d81
tree25f86e5b2c1c6d44b64487b19ac7b1fb45f7ff19
parent39e7a39e9131d99058e206b5b9cee1a5843e6219
freedreno/ir3: don't cp absneg into meta:fi

If using a fanin (collect) to collect of consecutive registers together,
we can CP mov's into the fanin, but not (abs) or (neg).  No places that
allow those modifiers are consuming a fanin anyways.  But this caused an
absneg to be lost between a ldgb and stgb for shaders like:

  outputs[n] = abs(input[n])

Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/ir3/ir3_cp.c