--reset
--dir=FWD_I,FWD_B

--cfg=f32
--attr-post-ops=dw_k3s1p1:f32
--batch=shapes_fused_mobilenet_stride_1

--cfg=u8s8u8,s8s8u8
--attr-oscale=per_oc:0.5
--attr-post-ops=relu+dw_k3s1p1:u8:per_oc:2.5+relu:0.5+add:s8, \
                add:f32:per_oc+dw_k3s1p1:s8:common:1.5+linear:0.5:1.5, \
                relu+dw_k3s1p1:s32+add:s32:per_oc+abs, \
                relu+add:f32+dw_k3s1p1:f32+add:f32:per_oc+pow:0.5:0.33
--batch=shapes_fused_mobilenet_stride_1

--cfg=u8s8s8,s8s8s8
--attr-post-ops=linear:2+dw_k3s1p1:u8:common:2.5+relu, \
                linear:0.5:1.5+dw_k3s1p1:s8:per_oc:2.5+relu, \
                dw_k3s1p1:s32+relu, \
                dw_k3s1p1:f32+relu
--batch=shapes_fused_mobilenet_stride_1

# dw_k3s2p1

--attr-scratchpad=user

--cfg=f32
--attr-oscale=
--attr-post-ops=relu+dw_k3s2p1:f32+tanh
--batch=shapes_fused_mobilenet_stride_2

--cfg=u8s8u8,s8s8u8
--attr-oscale=per_oc:0.5
--attr-post-ops=relu+dw_k3s2p1:u8:per_oc:2.5+relu:0.5+add:s8, \
                add:f32:per_oc+dw_k3s2p1:s8:common:1.5+linear:0.5:1.5, \
                relu+dw_k3s2p1:s32+add:s32:per_oc+abs, \
                relu+add:f32+dw_k3s2p1:f32+add:f32:per_oc+pow:0.5:0.33
--batch=shapes_fused_mobilenet_stride_2

--cfg=u8s8s8,s8s8s8
--attr-post-ops=relu:0.5+dw_k3s2p1:u8:common:2.5+relu, \
                relu:0.5+dw_k3s2p1:s8:per_oc:2.5+relu, \
                relu:0.5+dw_k3s2p1:s32+relu, \
                relu:0.5+dw_k3s2p1:f32+relu
--batch=shapes_fused_mobilenet_stride_2

# target jit kernel with large shape to overcome L2-cache heuristic

--skip-impl=ref,x64:gemm
--cfg=f32
--attr-oscale=
--attr-post-ops=dw_k3s1p1:f32
--batch=shapes_fused_large_src
--attr-post-ops=relu+dw_k3s2p1:f32+tanh
--batch=shapes_fused_large_src
--attr-oscale=per_oc:0.5
--cfg=s8s8s8
--attr-post-ops=linear:2+dw_k3s1p1:u8:per_oc:2.5+relu
--batch=shapes_fused_large_src
--cfg=u8s8u8
--attr-post-ops=relu:0.5+dw_k3s2p1:s32:per_oc:2.5+relu,dw_k3s2p1:f32:common:2
--batch=shapes_fused_large_src
