code: def test_ethosu_right_shift_binary_elemwise(
      ifm_shape, ifm2_shape, reversed_operands, accel_type, ofm_dtype
  ):
      np.random.seed(0)
      dtype = "int32"
  
      def create_model():
          ifm = relay.var("ifm", shape=ifm_shape, dtype=dtype)
          ifm2 = relay.var("ifm2", shape=ifm2_shape, dtype=dtype)
          shr_op = infra.make_ethosu_binary_elementwise(
              ifm,
              ifm2,
              ifm_shape[3],
              ifm2_shape[3],
              "SHR",
              ofm_dtype,
              reversed_operands,
          )
          return tvm.IRModule.from_expr(
              relay.Function([ifm, ifm2], shr_op)
          )
  
      def generate_output_data(input_data):
          lhs = input_data["ifm"]
          rhs = input_data["ifm2"]
          if reversed_operands:
              lhs = np.broadcast_to(lhs, ifm2_shape)
              lhs, rhs = rhs, lhs
          else:
              rhs = np.broadcast_to(rhs, ifm_shape)
  
          def rounding_right_shift(lhs, rhs):
              r = 1 << (rhs - 1)
              return (lhs + r) >> rhs
  
          return [
              np.array(
                  [
                      rounding_right_shift(x[0], x[1])
                      for x in zip(lhs.flat, rhs.flat)
                  ]
              ).astype(ofm_dtype)
          ]
  
      cpu_mod = create_model()
  
      # Generate reference data
      in_min, in_max = util.get_range_for_dtype_str(dtype)
      in_min, in_max = 18, 19
      lhs = np.random.randint(
          in_min, high=in_max, size=ifm_shape, dtype=dtype
      )
      rhs = np.random.randint(1, high=2, size=ifm2_shape, dtype=dtype)
      input_data = {
          "ifm": lhs,
          "ifm2": rhs,
      }
      output_data = {"output": generate_output_data(input_data)[0]}
      ethosu_mod = infra.create_ethosu_partition(cpu_mod)
  
      infra.compare_ethosu_with_reference(
          ethosu_mod, input_data, output_data, accel_type
      )
  
imports: import pytest
  import numpy
  import tflite.Model
  import tvm
  import tensorflow
  from tvm import relay
  from tvm.relay.backend.contrib.ethosu import util
  from tvm.relay.op.contrib.ethosu import partition_for_ethosu
  from tvm.testing.aot import generate_ref_data
  from .None import infra
label_desc: Use image node_id 21 for calling a global function with example usage: test_ethosu_right_shift_binary_elemwise(ifm_shape, ifm2_shape, reversed_operands, accel_type, ofm_dtype) and returns: tvm, list, unknown