freedreno/a3xx/compiler: fix p0 (kill, etc)
authorRob Clark <robclark@freedesktop.org>
Wed, 23 Jul 2014 19:08:40 +0000 (15:08 -0400)
committerRob Clark <robclark@freedesktop.org>
Wed, 23 Jul 2014 19:10:53 +0000 (15:10 -0400)
Don't assert (debug builds) or assign random uninitialized value for
predicate register (p0).. that screws up kill, etc.

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

index a9a510f3bc22d2db25c4a5b5c00f9815b5280125..67f92e670e9e3070ef8af75217efd26282f8b35e 100644 (file)
@@ -576,7 +576,8 @@ static void ir3_instr_ra(struct ir3_ra_ctx *ctx,
                dst->flags &= ~IR3_REG_ADDR;
                num = regid(REG_A0, 0) | REG_HALF;
        } else {
-               assert(0);
+               /* predicate register (p0).. etc */
+               return;
        }
 
        ra_assign(ctx, instr, num);