message: dil: fix in-place binary
diff: @@ -14,14 +14,20 @@ struct binary : public dnnl::binary {
  const engine& aengine = engine::cpu_engine()) {
  auto src0_desc = src0.get_desc();
  auto src1_desc = src1.get_desc();
  - auto dst_desc = src0_desc.to_format_any();
  - auto pd = primitive_desc(
  - {aalgorithm, src0_desc, src1_desc, dst_desc}, aengine);
  + primitive_desc pd;
  + if (src0.shares_same_memory_with(dst)) {
  + // in-place
  + pd = primitive_desc(
  + {aalgorithm, src0_desc, src1_desc, dst.get_desc()}, aengine);
  + } else {
  + pd = primitive_desc(
  + {aalgorithm, src0_desc, src1_desc, src0_desc.to_format_any()}, aengine);
  + dst.reinit_if_possible(pd.dst_desc());
  + }
  auto expected_src0 = src0.reorder_if_differ_in(pd.src0_desc());
  auto expected_src1 = src1.reorder_if_differ_in(pd.src1_desc());
  - dst.reinit_if_possible(pd.dst_desc());
  super(pd).execute(stream::default_stream(),
  {{DNNL_ARG_SRC_0, expected_src0},
  