code: def schedule_pool_arm_cpu(attrs, outs, target):
      """schedule pooling ops arm cpu"""
      layout = attrs.layout
      avg_pool = isinstance(attrs, relay.op.op_attrs.AvgPool2DAttrs)
      with target:
          if (
              avg_pool
              and target.features.has_dsp
              and layout in ("NCW", "NCHW")
              or not avg_pool
              and target.features.has_dsp
              and layout in ("NWC", "NHWC")
          ):
              return topi.arm_cpu.schedule_pool(outs, layout)
          return topi.x86.schedule_pool(outs, layout)
  
imports: from functools import reduce
  import logging
  import re
  from tvm import relay, topi, tir
  from ....auto_scheduler import is_auto_scheduler_enabled
  from ....meta_schedule import is_meta_schedule_enabled
  from ....topi.generic import conv2d
  from ..None import op
  from .generic import *
label_desc: Use image node_id 4 for calling a global function with example usage: schedule_pool_arm_cpu(attrs, outs, target) and returns: topi, topi