From 01d66ec8206a559eb209aa406c0fa52e37dd4fac Mon Sep 17 00:00:00 2001 From: Philip Hall Date: Tue, 11 Feb 2025 11:03:33 +0000 Subject: [PATCH] MLBEDSW-10423: Fix early return on Transpose check A recent update let NPU op tests continue past the Transpose/Reverse operator check, allowing it to fail on unrelated data type criteria. This prevented INT32 transposes from being compiled. This commit inverts the check back for an early return. Signed-off-by: Philip Hall Change-Id: I404b71047aa401e4f70bb754dd9ac4f676d3d792 --- ethosu/regor/architecture/ethosu85/ethos_u85.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ethosu/regor/architecture/ethosu85/ethos_u85.cpp b/ethosu/regor/architecture/ethosu85/ethos_u85.cpp index 1f3907b7..04a3e0b2 100644 --- a/ethosu/regor/architecture/ethosu85/ethos_u85.cpp +++ b/ethosu/regor/architecture/ethosu85/ethos_u85.cpp @@ -1779,12 +1779,12 @@ bool EthosU85OpGroup::CanRunOnNPU(const ArchitectureOpGroupQuery &op) return true; } - ArchOperatorQuery query; - query.transposeMask = op.ofm.transpose; - query.reverseMask = op.ofm.reverse; - if ( !_arch->_constraints->OperatorQuery(OpType::MemoryCopy, &query, nullptr).Any(QueryResult::Native) ) + if ( op.type == OpType::Transpose || op.type == OpType::Reverse ) { - return false; + ArchOperatorQuery query; + query.transposeMask = op.ofm.transpose; + query.reverseMask = op.ofm.reverse; + return _arch->_constraints->OperatorQuery(OpType::MemoryCopy, &query, nullptr).Any(QueryResult::Native); } auto map = s_opDataTypeSupport.find(npuOp); -- GitLab