1 // 2 // Copyright © 2017 Arm Ltd. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #include "NeonBackend.hpp" 7 8 #include <armnn/BackendRegistry.hpp> 9 #include <armnn/Utils.hpp> 10 11 namespace 12 { 13 14 using namespace armnn; 15 16 static BackendRegistry::StaticRegistryInitializer g_RegisterHelper 17 { 18 BackendRegistryInstance(), 19 NeonBackend::GetIdStatic(), 20 []() __anonc6c38e500202() 21 { 22 // Check if device supports Neon. 23 if (NeonDetected()) 24 { 25 return IBackendInternalUniquePtr(new NeonBackend); 26 } 27 28 // If device does not support Neon throw exception so the Backend is not added to supportedBackends 29 ARMNN_LOG(info) << "Neon support not found on device, could not register CpuAcc Backend."; 30 throw armnn::BackendUnavailableException( 31 "Neon support not found on device, could not register CpuAcc Backend.\n"); 32 } 33 }; 34 35 } // Anonymous namespace 36