i965/vec4: keep original type when dealing with null registers
authorJuan A. Suarez Romero <jasuarez@igalia.com>
Mon, 12 Sep 2016 16:06:22 +0000 (16:06 +0000)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 14 Apr 2017 21:56:08 +0000 (14:56 -0700)
Keep the original type when dealing with null registers. Especially
because we do no want to introduce an implicit conversion between
types that could affect the conditional flags.

This affects especially when the original type is DF, and we are working
on Ivybridge/Baytrail.

v2 (Curro)
- Fix typo.
- Use retype() instead of applying the type directly.
- Remove unneeded retype.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/intel/compiler/brw_vec4.cpp

index adbd85036e058fb141e9f9dc9470933687b54deb..386057e3e3c6dda0ee8878fda5153c75144dd519 100644 (file)
@@ -1984,6 +1984,7 @@ vec4_visitor::convert_to_hw_regs()
          case BAD_FILE:
             /* Probably unused. */
             reg = brw_null_reg();
+            reg = retype(reg, src.type);
             break;
 
          case MRF:
@@ -2034,6 +2035,7 @@ vec4_visitor::convert_to_hw_regs()
 
       case BAD_FILE:
          reg = brw_null_reg();
+         reg = retype(reg, dst.type);
          break;
 
       case IMM: