code: def dp4a_desc(
      A: T.Buffer(
          (4,), "int8", offset_factor=1, align=4, scope="shared"
      ),
      B: T.Buffer(
          (4,), "int8", offset_factor=1, align=4, scope="shared"
      ),
      C: T.Buffer(
          (1,), "int32", offset_factor=1, align=4, scope="local"
      ),
  ) -> None:
      with T.block("root"):
          T.reads(C[0], A[0:4], B[0:4])
          T.writes(C[0])
          for i in range(0, 4):
              with T.block("update"):
                  vi = T.axis.remap("R", [i])
                  C[0] = C[0] + T.cast(A[vi], "int32") * T.cast(
                      B[vi], "int32"
                  )
  
imports: from tvm.script import tir
  from ..None import TensorIntrin
label_desc: Use image node_id 1 for calling a global function with example usage: dp4a_desc(A, B, C) without return types