gussmith23 commented on a change in pull request #5812:
URL: https://github.com/apache/incubator-tvm/pull/5812#discussion_r470710164



##########
File path: tests/python/unittest/test_custom_datatypes_change_dtype.py
##########
@@ -81,163 +81,109 @@ def setup():
     # You can pick a code for your datatype arbitrarily, as long as it is
     # greater than 128 and has not already been chosen.
 
-    register("posit32", 131)
-
-    register_op(create_lower_func("FloatToPosit32es2"), "Cast", "llvm",
-                "posit32", "float")
-    register_op(create_lower_func("Posit32es2ToFloat"), "Cast", "llvm",
-                "float", "posit32")
-    register_op(create_lower_func("IntToPosit32es2"), "Cast", "llvm",
-                "posit32", "int")
-    register_op(create_lower_func("Posit32es2Add"), "Add", "llvm", "posit32")
-    register_op(create_lower_func("Posit32es2Sub"), "Sub", "llvm", "posit32")
-    register_op(create_lower_func("FloatToPosit32es2"), "FloatImm", "llvm",
-                "posit32")
-    register_op(create_lower_func("Posit32es2Mul"), "Mul", "llvm", "posit32")
-    register_op(create_lower_func("Posit32es2Div"), "Div", "llvm", "posit32")
-    register_op(create_lower_func("Posit32es2Max"), "Max", "llvm", "posit32")
-    register_op(create_lower_func("Posit32es2Sqrt"),
-                "Call",
-                "llvm",
-                "posit32",
-                intrinsic_name="sqrt")
-    # TODO(gus) not sure if this will work...
-    register_op(lower_ite,
-                "Call",
-                "llvm",
-                "posit32",
-                intrinsic_name="tvm_if_then_else")
-    register_op(create_lower_func("Posit32es2Exp"),
-                "Call",
-                "llvm",
-                "posit32",
-                intrinsic_name="exp")
-    register_op(create_lower_func("Posit32es2Log"),
-                "Call",
-                "llvm",
-                "posit32",
-                intrinsic_name="log")
-    register_op(create_lower_func("Posit32es2Sigmoid"),
-                "Call",
-                "llvm",
-                "posit32",
-                intrinsic_name="sigmoid")
-    register_op(create_lower_func("Posit32es2Tanh"),
-                "Call",
-                "llvm",
-                "posit32",
-                intrinsic_name="tanh")
-    register_min_func(lambda num_bits: 
-1.329227995784915872903807060280344576e36, "posit32")
-
-    register("posit8", 132)
-    register_op(create_lower_func("FloatToPosit8es2"), "Cast", "llvm",
-                "posit8", "float")
-    register_op(create_lower_func("Posit8es2ToFloat"), "Cast", "llvm", "float",
-                "posit8")
-    register_op(create_lower_func("IntToPosit8es2"), "Cast", "llvm", "posit8",
-                "int")
-    register_op(create_lower_func("Posit8es2Add"), "Add", "llvm", "posit8")
-    register_op(create_lower_func("Posit8es2Sub"), "Sub", "llvm", "posit8")
-    register_op(create_lower_func("FloatToPosit8es2"), "FloatImm", "llvm",
-                "posit8")
-    register_op(create_lower_func("Posit8es2Mul"), "Mul", "llvm", "posit8")
-    register_op(create_lower_func("Posit8es2Div"), "Div", "llvm", "posit8")
-    register_op(create_lower_func("Posit8es2Max"), "Max", "llvm", "posit8")
-    register_op(create_lower_func("Posit8es2Sqrt"),
-                "Call",
-                "llvm",
-                "posit8",
-                intrinsic_name="sqrt")
-    # TODO(gus) not sure if this will work...
-    register_op(lower_ite,
-                "Call",
-                "llvm",
-                "posit8",
-                intrinsic_name="tvm_if_then_else")
-    register_op(create_lower_func("Posit8es2Exp"),
-                "Call",
-                "llvm",
-                "posit8",
-                intrinsic_name="exp")
-    register_op(create_lower_func("Posit8es2Log"),
-                "Call",
-                "llvm",
-                "posit8",
-                intrinsic_name="log")
-    register_op(create_lower_func("Posit8es2Sigmoid"),
-                "Call",
-                "llvm",
-                "posit8",
-                intrinsic_name="sigmoid")
-    register_op(create_lower_func("Posit8es2Tanh"),
-                "Call",
-                "llvm",
-                "posit8",
-                intrinsic_name="tanh")
-    register_min_func(lambda num_bits: -16777216, "posit8")
-
-    register("posit16", 133)
-    register_op(create_lower_func("FloatToPosit16es2"), "Cast", "llvm",
-                "posit16", "float")
-    register_op(create_lower_func("Posit16es2ToFloat"), "Cast", "llvm",
-                "float", "posit16")
-    register_op(create_lower_func("IntToPosit16es2"), "Cast", "llvm",
-                "posit16", "int")
-    register_op(create_lower_func("Posit16es2Add"), "Add", "llvm", "posit16")
-    register_op(create_lower_func("Posit16es2Sub"), "Sub", "llvm", "posit16")
-    register_op(create_lower_func("FloatToPosit16es2"), "FloatImm", "llvm",
-                "posit16")
-    register_op(create_lower_func("Posit16es2Mul"), "Mul", "llvm", "posit16")
-    register_op(create_lower_func("Posit16es2Div"), "Div", "llvm", "posit16")
-    register_op(create_lower_func("Posit16es2Max"), "Max", "llvm", "posit16")
-    register_op(create_lower_func("Posit16es2Sqrt"),
-                "Call",
-                "llvm",
-                "posit16",
-                intrinsic_name="sqrt")
-    # TODO(gus) not sure if this will work...
+    register("posites2", 131)
+
+    register_op(create_lower_func(
+        {
+            (32, 32): "FloatToPosit32es2",
+            (32, 16): "FloatToPosit16es2",
+            (32, 8): 'FloatToPosit8es2',
+        }), 
+        "Cast", "llvm", "posites2", "float")

Review comment:
       Thanks! If this is complete, you can just hit "Resolve conversation"




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to