broadcom/vc5: Move the umul macro to a header.
authorEric Anholt <eric@anholt.net>
Tue, 13 Mar 2018 23:23:33 +0000 (16:23 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 19 Mar 2018 23:42:59 +0000 (16:42 -0700)
Anywhere we want to multiply, we probably want this.

src/broadcom/compiler/nir_to_vir.c
src/broadcom/compiler/v3d_compiler.h

index a8098fc320903f0223dd72be9a9acb3614bd5eb2..61486870dcfc2758a8c2ef3c0e5534b41ffbf69f 100644 (file)
@@ -255,13 +255,6 @@ vir_SAT(struct v3d_compile *c, struct qreg val)
                         vir_uniform_f(c, 0.0));
 }
 
-static struct qreg
-ntq_umul(struct v3d_compile *c, struct qreg src0, struct qreg src1)
-{
-        vir_MULTOP(c, src0, src1);
-        return vir_UMUL24(c, src0, src1);
-}
-
 static struct qreg
 ntq_minify(struct v3d_compile *c, struct qreg size, struct qreg level)
 {
@@ -765,7 +758,7 @@ ntq_emit_alu(struct v3d_compile *c, nir_alu_instr *instr)
                 break;
 
         case nir_op_imul:
-                result = ntq_umul(c, src[0], src[1]);
+                result = vir_UMUL(c, src[0], src[1]);
                 break;
 
         case nir_op_seq:
index 94cbd0523cb0306b1a3452b1a46fbf06e87514d4..f777cfcd87bd25b23a4e967e76a0bb460c4b4721 100644 (file)
@@ -916,6 +916,13 @@ vir_LDTMU(struct v3d_compile *c)
         }
 }
 
+static inline struct qreg
+vir_UMUL(struct v3d_compile *c, struct qreg src0, struct qreg src1)
+{
+        vir_MULTOP(c, src0, src1);
+        return vir_UMUL24(c, src0, src1);
+}
+
 /*
 static inline struct qreg
 vir_LOAD_IMM(struct v3d_compile *c, uint32_t val)