xref: /aosp_15_r20/external/armnn/src/backends/neon/backend.mk (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker#
2*89c4ff92SAndroid Build Coastguard Worker# Copyright © 2017 ARM Ltd and Contributors. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker#
5*89c4ff92SAndroid Build Coastguard Worker
6*89c4ff92SAndroid Build Coastguard Worker# BACKEND_SOURCES contains the list of files to be included
7*89c4ff92SAndroid Build Coastguard Worker# in the Android build and it is picked up by the Android.mk
8*89c4ff92SAndroid Build Coastguard Worker# file in the root of ArmNN
9*89c4ff92SAndroid Build Coastguard Worker
10*89c4ff92SAndroid Build Coastguard Worker# The variable to enable/disable the NEON backend (ARMNN_COMPUTE_NEON_ENABLED is declared in android-nn-driver/Android.mk)
11*89c4ff92SAndroid Build Coastguard Workerifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
12*89c4ff92SAndroid Build Coastguard Worker
13*89c4ff92SAndroid Build Coastguard Worker# ARMNN_COMPUTE_NEON_ENABLED == 1
14*89c4ff92SAndroid Build Coastguard Worker# Include the source files for the NEON backend
15*89c4ff92SAndroid Build Coastguard Worker
16*89c4ff92SAndroid Build Coastguard WorkerBACKEND_SOURCES := \
17*89c4ff92SAndroid Build Coastguard Worker        NeonBackend.cpp \
18*89c4ff92SAndroid Build Coastguard Worker        NeonBackendModelContext.cpp \
19*89c4ff92SAndroid Build Coastguard Worker        NeonInterceptorScheduler.cpp \
20*89c4ff92SAndroid Build Coastguard Worker        NeonLayerSupport.cpp \
21*89c4ff92SAndroid Build Coastguard Worker        NeonRegistryInitializer.cpp \
22*89c4ff92SAndroid Build Coastguard Worker        NeonTensorHandleFactory.cpp \
23*89c4ff92SAndroid Build Coastguard Worker        NeonTimer.cpp \
24*89c4ff92SAndroid Build Coastguard Worker        NeonWorkloadFactory.cpp \
25*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonAbsWorkload.cpp \
26*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonActivationWorkload.cpp \
27*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonAdditionWorkload.cpp \
28*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonArgMinMaxWorkload.cpp \
29*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonBatchMatMulWorkload.cpp \
30*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonBatchNormalizationWorkload.cpp \
31*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonBatchToSpaceNdWorkload.cpp \
32*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonCastWorkload.cpp \
33*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonChannelShuffleWorkload.cpp \
34*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonComparisonWorkload.cpp \
35*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonConcatWorkload.cpp \
36*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonConstantWorkload.cpp \
37*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonConvertFp16ToFp32Workload.cpp \
38*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonConvertFp32ToFp16Workload.cpp \
39*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonConvolution2dWorkload.cpp \
40*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonConvolution3dWorkload.cpp \
41*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonDepthToSpaceWorkload.cpp \
42*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonDepthwiseConvolutionWorkload.cpp \
43*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonDequantizeWorkload.cpp \
44*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonDetectionPostProcessWorkload.cpp \
45*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonExpWorkload.cpp \
46*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonFillWorkload.cpp \
47*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonFloorFloatWorkload.cpp \
48*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonFullyConnectedWorkload.cpp \
49*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonGatherWorkload.cpp \
50*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonGatherNdWorkload.cpp \
51*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonInstanceNormalizationWorkload.cpp \
52*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonL2NormalizationFloatWorkload.cpp \
53*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonLogWorkload.cpp \
54*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonLogicalAndWorkload.cpp \
55*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonLogicalNotWorkload.cpp \
56*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonLogicalOrWorkload.cpp \
57*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonLogSoftmaxWorkload.cpp \
58*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonLstmFloatWorkload.cpp \
59*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonMaximumWorkload.cpp \
60*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonMeanWorkload.cpp \
61*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonMinimumWorkload.cpp \
62*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonMultiplicationWorkload.cpp \
63*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonDivisionWorkload.cpp \
64*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonNegWorkload.cpp \
65*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonNormalizationFloatWorkload.cpp \
66*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonPadWorkload.cpp \
67*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonPermuteWorkload.cpp \
68*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonPooling2dWorkload.cpp \
69*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonPooling3dWorkload.cpp \
70*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonPreluWorkload.cpp \
71*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonQLstmWorkload.cpp \
72*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonQuantizedLstmWorkload.cpp \
73*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonQuantizeWorkload.cpp \
74*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonReduceWorkload.cpp \
75*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonReshapeWorkload.cpp \
76*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonResizeWorkload.cpp \
77*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonRsqrtWorkload.cpp \
78*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonSinWorkload.cpp \
79*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonSliceWorkload.cpp \
80*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonSoftmaxWorkload.cpp \
81*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonSpaceToBatchNdWorkload.cpp \
82*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonSpaceToDepthWorkload.cpp \
83*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonSplitterWorkload.cpp \
84*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonSqrtWorkload.cpp \
85*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonStackWorkload.cpp \
86*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonStridedSliceWorkload.cpp \
87*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonSubtractionWorkload.cpp \
88*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonTransposeConvolution2dWorkload.cpp \
89*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonTransposeWorkload.cpp \
90*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonUnidirectionalSequenceLstmFloatWorkload.cpp \
91*89c4ff92SAndroid Build Coastguard Worker        workloads/NeonUnidirectionalSequenceLstmWorkload.cpp
92*89c4ff92SAndroid Build Coastguard Worker
93*89c4ff92SAndroid Build Coastguard Workerelse
94*89c4ff92SAndroid Build Coastguard Worker
95*89c4ff92SAndroid Build Coastguard Worker# ARMNN_COMPUTE_NEON_ENABLED == 0
96*89c4ff92SAndroid Build Coastguard Worker# No source file will be compiled for the NEON backend
97*89c4ff92SAndroid Build Coastguard Worker
98*89c4ff92SAndroid Build Coastguard WorkerBACKEND_SOURCES :=
99*89c4ff92SAndroid Build Coastguard Worker
100*89c4ff92SAndroid Build Coastguard Workerendif
101*89c4ff92SAndroid Build Coastguard Worker
102*89c4ff92SAndroid Build Coastguard Worker# BACKEND_TEST_SOURCES contains the list of files to be included
103*89c4ff92SAndroid Build Coastguard Worker# in the Android unit test build (armnn-tests) and it is picked
104*89c4ff92SAndroid Build Coastguard Worker# up by the Android.mk file in the root of ArmNN
105*89c4ff92SAndroid Build Coastguard Worker
106*89c4ff92SAndroid Build Coastguard Worker# The variable to enable/disable the NEON backend (ARMNN_COMPUTE_NEON_ENABLED is declared in android-nn-driver/Android.mk)
107*89c4ff92SAndroid Build Coastguard Workerifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
108*89c4ff92SAndroid Build Coastguard Worker
109*89c4ff92SAndroid Build Coastguard Worker# ARMNN_COMPUTE_NEON_ENABLED == 1
110*89c4ff92SAndroid Build Coastguard Worker# Include the source files for the NEON backend tests
111*89c4ff92SAndroid Build Coastguard Worker
112*89c4ff92SAndroid Build Coastguard WorkerBACKEND_TEST_SOURCES := \
113*89c4ff92SAndroid Build Coastguard Worker        test/NeonBackendTests.cpp \
114*89c4ff92SAndroid Build Coastguard Worker        test/NeonCreateWorkloadTests.cpp \
115*89c4ff92SAndroid Build Coastguard Worker        test/NeonEndToEndTests.cpp \
116*89c4ff92SAndroid Build Coastguard Worker        test/NeonJsonPrinterTests.cpp \
117*89c4ff92SAndroid Build Coastguard Worker        test/NeonLayerSupportTests.cpp \
118*89c4ff92SAndroid Build Coastguard Worker        test/NeonLayerTests.cpp \
119*89c4ff92SAndroid Build Coastguard Worker        test/NeonOptimizedNetworkTests.cpp \
120*89c4ff92SAndroid Build Coastguard Worker        test/NeonRuntimeTests.cpp \
121*89c4ff92SAndroid Build Coastguard Worker        test/NeonTimerTest.cpp
122*89c4ff92SAndroid Build Coastguard Worker
123*89c4ff92SAndroid Build Coastguard Workerifeq ($(ARMNN_REF_ENABLED),1)
124*89c4ff92SAndroid Build Coastguard WorkerBACKEND_TEST_SOURCES += \
125*89c4ff92SAndroid Build Coastguard Worker        test/NeonMemCopyTests.cpp
126*89c4ff92SAndroid Build Coastguard Workerendif # ARMNN_REF_ENABLED == 1
127*89c4ff92SAndroid Build Coastguard Worker
128*89c4ff92SAndroid Build Coastguard Workerelse
129*89c4ff92SAndroid Build Coastguard Worker
130*89c4ff92SAndroid Build Coastguard Worker# ARMNN_COMPUTE_NEON_ENABLED == 0
131*89c4ff92SAndroid Build Coastguard Worker# No source file will be compiled for the NEON backend tests
132*89c4ff92SAndroid Build Coastguard Worker
133*89c4ff92SAndroid Build Coastguard WorkerBACKEND_TEST_SOURCES :=
134*89c4ff92SAndroid Build Coastguard Worker
135*89c4ff92SAndroid Build Coastguard Workerendif
136