blob: 19d0811a18be502299cf0ef51d041b5a7967bc76 [file] [log] [blame]
David Beckbc392452018-09-10 14:47:28 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Matthew Benthamd80a7122019-01-08 17:52:37 +00008#include <backendsCommon/Workload.hpp>
9
10#include <arm_compute/core/Error.h>
Mike Kelly07810fc2020-11-12 10:58:48 +000011#include <arm_compute/core/Types.h>
Matthew Benthamd80a7122019-01-08 17:52:37 +000012#include <arm_compute/runtime/IFunction.h>
13
14#include <memory>
David Beckbc392452018-09-10 14:47:28 +010015
16namespace armnn
17{
18
19arm_compute::Status NeonSubtractionWorkloadValidate(const TensorInfo& input0,
20 const TensorInfo& input1,
Mike Kelly07810fc2020-11-12 10:58:48 +000021 const TensorInfo& output,
22 const ActivationDescriptor* activationDescriptor = nullptr);
David Beckbc392452018-09-10 14:47:28 +010023
Conor Kennedyb99480b2019-03-08 08:24:41 +000024class NeonSubtractionWorkload : public BaseWorkload<SubtractionQueueDescriptor>
David Beckbc392452018-09-10 14:47:28 +010025{
26public:
Conor Kennedyb99480b2019-03-08 08:24:41 +000027 NeonSubtractionWorkload(const SubtractionQueueDescriptor& descriptor, const WorkloadInfo& info);
David Beckbc392452018-09-10 14:47:28 +010028 virtual void Execute() const override;
29
30private:
Matthew Benthamd80a7122019-01-08 17:52:37 +000031 std::unique_ptr<arm_compute::IFunction> m_SubLayer;
David Beckbc392452018-09-10 14:47:28 +010032};
33
34} //namespace armnn