nv50: fix can_load check for 3rd source
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>
Thu, 9 Sep 2010 17:09:38 +0000 (19:09 +0200)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Thu, 9 Sep 2010 17:21:35 +0000 (19:21 +0200)
src/gallium/drivers/nv50/nv50_pc.c

index 637b3cf2fe3843f6e4d82a83856202746e1d8fa7..e4df742a8001f7a6f9ef3e1f65316d4a6a8b8920 100644 (file)
@@ -112,13 +112,11 @@ nv50_nvi_can_load(struct nv_instruction *nvi, int s, struct nv_value *value)
       if (s == 0 && (value->reg.file == NV_FILE_MEM_S ||
                      value->reg.file == NV_FILE_MEM_P))
          return TRUE;
-      if (s == 1 &&
-          value->reg.file >= NV_FILE_MEM_C(0) &&
-          value->reg.file <= NV_FILE_MEM_C(15))
-         return TRUE;
-      if (s == 2 && nvi->src[1]->value->reg.file == NV_FILE_GPR)
-         return TRUE;
-      return FALSE;
+      if (value->reg.file < NV_FILE_MEM_C(0) ||
+          value->reg.file > NV_FILE_MEM_C(15))
+         return FALSE;
+      return (s == 1) ||
+         ((s == 2) && (nvi->src[1]->value->reg.file == NV_FILE_GPR));
    case NV_OP_MOV:
       assert(s == 0);
       return /* TRUE */ FALSE; /* don't turn MOVs into loads */