--reset

--inplace=true,false
--alg=SOFTMAX,LOGSOFTMAX

# Forward training
--dir=FWD_D
--sdt=f32
--ddt=f32
--stag=abx
--axis=0,1
--batch=set_0d
--axis=1,3
--batch=shapes_2d
--axis=1,4
--batch=shapes_3d

--stag=axb
--axis=1
--batch=shapes_2d
--axis=1
--batch=shapes_3d

# Forward inference
--dir=FWD_I
--sdt=f32,s8,u8
--ddt=s8,u8
--stag=axb
--attr-scales=,src:common:128,dst:common:0.125,src:common:64+dst:common:0.5
--attr-post-ops=,add:f32:per_oc,mul:f32:per_tensor,linear:0.5:2,add:f32:common+linear:0.5:2
--axis=1
--batch=set_0d
--batch=shapes_2d

--sdt=s8,u8
--ddt=f32
--stag=axb
--attr-scales=,src:common:128
--attr-post-ops=,add:f32:per_oc,mul:f32:per_tensor,linear:0.5:2,add:f32:common+linear:0.5:2
--axis=1
--batch=set_0d
--batch=shapes_2d

# Backward training
--reset
--inplace=true,false
--alg=SOFTMAX,LOGSOFTMAX
--dir=BWD_D
--sdt=f32
--ddt=f32
--stag=abx
--axis=0
--batch=shapes_0d
--axis=1
--batch=set_0d
--axis=3
--batch=shapes_2d
--axis=4
--batch=shapes_3d

--stag=axb
--axis=1
--batch=shapes_2d
--axis=1
--batch=shapes_3d

# Blocked cases target ARM-SVE
--reset
--inplace=true,false
--alg=SOFTMAX,LOGSOFTMAX
--dir=FWD_D,BWD_D
--sdt=f32
--ddt=f32
--stag=aBx4b,aBx8b,aBx16b
--axis=1
--batch=shapes_2d
--batch=shapes_3d

--reset --stag=acbd --dtag=acbd --sdt=f32 --ddt=f32 --axis=3 1x16x384x384_n"neighbor_dim_to_axis_has_larger_stride"

--batch=test_softmax_bfloat16

--batch=test_softmax_float16
