nv50/ir: allow movs with TYPE_F64 destinations to be split
authorIlia Mirkin <imirkin@alum.mit.edu>
Fri, 6 Nov 2015 22:18:01 +0000 (17:18 -0500)
committerIlia Mirkin <imirkin@alum.mit.edu>
Fri, 6 Nov 2015 23:13:31 +0000 (18:13 -0500)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_build_util.cpp

index 19418c0e0f16d2e751cc1536269183f83ddb9d59..ece6ce40643ab59debb2bebf6f7cbf78d87c3899 100644 (file)
@@ -555,6 +555,12 @@ BuildUtil::split64BitOpPostRA(Function *fn, Instruction *i,
    switch (i->dType) {
    case TYPE_U64: hTy = TYPE_U32; break;
    case TYPE_S64: hTy = TYPE_S32; break;
+   case TYPE_F64:
+      if (i->op == OP_MOV) {
+         hTy = TYPE_U32;
+         break;
+      }
+      /* fallthrough */
    default:
       return NULL;
    }