# test for run-time specified values and dimensions

# 1. testing `jit:uni`
#    requirements: no runtime-dims, no zero-points

--reset
--runtime-dim-mask=0

# f32 <-> s32 <-> s8 <-> u8
--sdt=f32,s32,s8,u8
--ddt=f32,s32,s8,u8

--attr-scales=src:per_dim_1:0*+dst:per_dim_1:0*
--stag=abx,axb,aBx4b,aBx8b,aBx16b
--dtag=abx,axb,aBx8b,aBx16b
2x64x3x3

--attr-post-ops=sum
--attr-scales=src:per_dim_1:0*+dst:per_dim_1:0*
--stag=abx,axb,aBx16b
--dtag=abx,axb,aBx16b
2x64x1x1

--attr-post-ops=
--attr-scales=src:per_dim_0:0*+dst:per_dim_0:0*
--stag=abx,xba
--dtag=abx,xba
2x64x3x3

--attr-scales=src:per_dim_01:0*+dst:per_dim_01:0*
--stag=abx,gOIhw16i16o
--dtag=abx,gOIhw16i16o
3x32x32x2x2

--attr-scales=src:common:0*+dst:common:0*
--stag=abx,axb
--dtag=abx,axb
2x8x8 # special 8x8 kernel

# 2. testing `simple:any`
#    requirements: none

--reset
--runtime-dim-mask=63 # all dims are run-time defined

#
# f32 <-> s32 <-> s8 <-> u8
#
--sdt=f32,s32,s8,u8
--ddt=f32,s32,s8,u8

--attr-zero-points=,src:common:-1*+dst:common:2*
--attr-scales=,src:per_dim_1:0.*+dst:per_dim_1:0.*
--stag=abx,axb,aBx4b,aBx8b,aBx16b
--dtag=abx,axb,aBx8b,aBx16b
2x64x3x3

--attr-scales=,src:per_dim_0:0.*+dst:per_dim_0:0.*
--stag=abx,xba
--dtag=abx,xba
2x64x3x3

--attr-scales=,src:per_dim_01:0.*+dst:per_dim_01:0.*
--stag=abx,gOIhw16i16o
--dtag=abx,gOIhw16i16o
3x32x32x2x2

--attr-scales=,src:common:0.*+dst:common:0.*
--stag=abx,axb
--dtag=abx,axb
2x8x8 # special 8x8 kernel

# f16
--reset
--runtime-dim-mask=63 # all dims are run-time defined

--stag=abx,xba
--dtag=abx,xba
--attr-zero-points=,src:common:-1*+dst:common:2*
--attr-scales=,src:per_dim_1:0*+dst:per_dim_1:0*
--sdt=f32 --ddt=f16 3x5x7x11
--sdt=f16 --ddt=f32 3x5x7x11

# sanity checks for nhm & snb machines
--reset
--sdt=s32
--ddt=s32
--attr-zero-points=,src:common:-1*+dst:common:2*
--stag=abx
--dtag=abx
2x16x3x4 1x17x5x3
