code: def sdot4(
      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])
  
          C[0] += T.call_llvm_pure_intrin(
              T.llvm_lookup_intrinsic_id("llvm.amdgcn.sdot4"),
              T.uint32(4),
              T.reinterpret(A.vload([0], "int8x4"), dtype="int32"),
              T.reinterpret(B.vload([0], "int8x4"), dtype="int32"),
              T.int32(0),
              T.bool(1),
              dtype="int32",
          )
  
file_path: tvm/python/tvm/tir/tensor_intrin/rocm.py
imports: from tvm.script import tir
  from tvm.runtime import convert
  from tvm.tir.expr import Cast, IntImm
  from .dot_product_common import dp4a_desc
  from ..None import TensorIntrin
label_desc: Use image node_id 1 for calling a global function with example usage: sdot4(A, B, C) without return types