Skip to content

Commit e98e291

Browse files
committed
common: fix memory descriptor comparison for double blocked formats
1 parent 5eef61f commit e98e291

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

src/common/memory_desc_wrapper.hpp

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -380,18 +380,22 @@ inline bool memory_desc_wrapper::operator==(const memory_desc_wrapper &rhs)
380380
&& utils::array_cmp(dims(), rhs.dims(), ndims())
381381
&& data_type() == rhs.data_type()
382382
&& ((is_blocking_desc() && rhs.is_blocking_desc())
383-
|| (is_wino_desc() && rhs.is_wino_desc())
384-
|| (is_rnn_packed_desc() && rhs.is_rnn_packed_desc()))
385-
&& (is_blocking_desc() ? blocking_desc_is_equal(blocking_desc(),
386-
rhs.blocking_desc(), ndims()) :
387-
true)
388-
&& (is_wino_desc() ? wino_desc_is_equal(
389-
wino_desc(), rhs.wino_desc()) :
390-
true)
391-
&& (is_rnn_packed_desc() ?
392-
rnn_packed_desc_is_equal(rnn_packed_desc(),
393-
rhs.rnn_packed_desc()) :
394-
true);
383+
|| (is_wino_desc() && rhs.is_wino_desc())
384+
|| (is_rnn_packed_desc() && rhs.is_rnn_packed_desc()))
385+
&& (is_blocking_desc() ? blocking_desc_is_equal(
386+
blocking_desc(), rhs.blocking_desc(), ndims())
387+
: true)
388+
&& IMPLICATION(
389+
utils::one_of(true,
390+
types::is_format_double_blocked(format()),
391+
types::is_format_double_blocked(rhs.format())),
392+
format() == rhs.format())
393+
&& (is_wino_desc()
394+
? wino_desc_is_equal(wino_desc(), rhs.wino_desc())
395+
: true)
396+
&& (is_rnn_packed_desc() ? rnn_packed_desc_is_equal(
397+
rnn_packed_desc(), rhs.rnn_packed_desc())
398+
: true);
395399
}
396400

397401
inline bool memory_desc_wrapper::similar_to(const memory_desc_wrapper &rhs,

0 commit comments

Comments
 (0)