1*da0073e9SAndroid Build Coastguard Workerload("//tools/build_defs:fb_xplat_cxx_library.bzl", "fb_xplat_cxx_library") 2*da0073e9SAndroid Build Coastguard Workerload("//tools/build_defs:fbsource_utils.bzl", "is_arvr_mode") 3*da0073e9SAndroid Build Coastguard Workerload("//tools/build_defs:glob_defs.bzl", "subdir_glob") 4*da0073e9SAndroid Build Coastguard Workerload("//tools/build_defs:platform_defs.bzl", "ANDROID", "APPLE", "APPLETVOS", "CXX", "IOS", "MACOSX", "WINDOWS") 5*da0073e9SAndroid Build Coastguard Workerload( 6*da0073e9SAndroid Build Coastguard Worker ":xnnpack_src_defs.bzl", 7*da0073e9SAndroid Build Coastguard Worker "JIT_SRCS", 8*da0073e9SAndroid Build Coastguard Worker "LOGGING_SRCS", 9*da0073e9SAndroid Build Coastguard Worker "OPERATOR_SRCS", 10*da0073e9SAndroid Build Coastguard Worker "SUBGRAPH_SRCS", 11*da0073e9SAndroid Build Coastguard Worker "TABLE_SRCS", 12*da0073e9SAndroid Build Coastguard Worker "XNNPACK_SRCS", 13*da0073e9SAndroid Build Coastguard Worker) 14*da0073e9SAndroid Build Coastguard Workerload( 15*da0073e9SAndroid Build Coastguard Worker ":xnnpack_wrapper_defs.bzl", 16*da0073e9SAndroid Build Coastguard Worker "AARCH32_ASM_MICROKERNEL_SRCS", 17*da0073e9SAndroid Build Coastguard Worker "AARCH64_ASM_MICROKERNEL_SRCS", 18*da0073e9SAndroid Build Coastguard Worker "PROD_ARMSIMD32_MICROKERNEL_SRCS", 19*da0073e9SAndroid Build Coastguard Worker "PROD_AVX2_MICROKERNEL_SRCS", 20*da0073e9SAndroid Build Coastguard Worker "PROD_AVX512F_MICROKERNEL_SRCS", 21*da0073e9SAndroid Build Coastguard Worker "PROD_AVX512SKX_MICROKERNEL_SRCS", 22*da0073e9SAndroid Build Coastguard Worker "PROD_AVX512VBMI_MICROKERNEL_SRCS", 23*da0073e9SAndroid Build Coastguard Worker "PROD_AVX512VNNI_MICROKERNEL_SRCS", 24*da0073e9SAndroid Build Coastguard Worker "PROD_AVX512VNNIGFNI_MICROKERNEL_SRCS", 25*da0073e9SAndroid Build Coastguard Worker "PROD_AVXVNNI_MICROKERNEL_SRCS", 26*da0073e9SAndroid Build Coastguard Worker "PROD_AVX_MICROKERNEL_SRCS", 27*da0073e9SAndroid Build Coastguard Worker "PROD_F16C_MICROKERNEL_SRCS", 28*da0073e9SAndroid Build Coastguard Worker "PROD_FMA3_MICROKERNEL_SRCS", 29*da0073e9SAndroid Build Coastguard Worker "PROD_FP16ARITH_MICROKERNEL_SRCS", 30*da0073e9SAndroid Build Coastguard Worker "PROD_NEONDOTFP16ARITH_AARCH64_MICROKERNEL_SRCS", 31*da0073e9SAndroid Build Coastguard Worker "PROD_NEONDOTFP16ARITH_MICROKERNEL_SRCS", 32*da0073e9SAndroid Build Coastguard Worker "PROD_NEONDOT_AARCH64_MICROKERNEL_SRCS", 33*da0073e9SAndroid Build Coastguard Worker "PROD_NEONDOT_MICROKERNEL_SRCS", 34*da0073e9SAndroid Build Coastguard Worker "PROD_NEONFMA_MICROKERNEL_SRCS", 35*da0073e9SAndroid Build Coastguard Worker "PROD_NEONFP16ARITH_AARCH64_MICROKERNEL_SRCS", 36*da0073e9SAndroid Build Coastguard Worker "PROD_NEONFP16ARITH_MICROKERNEL_SRCS", 37*da0073e9SAndroid Build Coastguard Worker "PROD_NEONFP16_MICROKERNEL_SRCS", 38*da0073e9SAndroid Build Coastguard Worker "PROD_NEONI8MM_MICROKERNEL_SRCS", 39*da0073e9SAndroid Build Coastguard Worker "PROD_NEONV8_MICROKERNEL_SRCS", 40*da0073e9SAndroid Build Coastguard Worker "PROD_NEON_AARCH64_MICROKERNEL_SRCS", 41*da0073e9SAndroid Build Coastguard Worker "PROD_NEON_MICROKERNEL_SRCS", 42*da0073e9SAndroid Build Coastguard Worker "PROD_SCALAR_MICROKERNEL_SRCS", 43*da0073e9SAndroid Build Coastguard Worker "PROD_SSE2_MICROKERNEL_SRCS", 44*da0073e9SAndroid Build Coastguard Worker "PROD_SSE41_MICROKERNEL_SRCS", 45*da0073e9SAndroid Build Coastguard Worker "PROD_SSE_MICROKERNEL_SRCS", 46*da0073e9SAndroid Build Coastguard Worker "PROD_SSSE3_MICROKERNEL_SRCS", 47*da0073e9SAndroid Build Coastguard Worker "PROD_XOP_MICROKERNEL_SRCS", 48*da0073e9SAndroid Build Coastguard Worker) 49*da0073e9SAndroid Build Coastguard Worker 50*da0073e9SAndroid Build Coastguard Worker# This defines XNNPACK targets for both fbsource BUCK and OSS BUCK 51*da0073e9SAndroid Build Coastguard Worker# Note that the file path is relative to the BUCK file that called from, not to this bzl file. 52*da0073e9SAndroid Build Coastguard Worker# So for fbsource build it points to xplat/third-party/XNNPACK/XNNPACK, 53*da0073e9SAndroid Build Coastguard Worker# and for OSS it points to pytorch/third_party/XNNPACK 54*da0073e9SAndroid Build Coastguard Workerdef define_xnnpack(third_party, labels = [], XNNPACK_WINDOWS_AVX512F_ENABLED = False): 55*da0073e9SAndroid Build Coastguard Worker WINDOWS_FLAGS = [ 56*da0073e9SAndroid Build Coastguard Worker "/D__x86_64__", 57*da0073e9SAndroid Build Coastguard Worker "/EHsc", 58*da0073e9SAndroid Build Coastguard Worker "/wd4090", # 'function': different 'const' qualifiers 59*da0073e9SAndroid Build Coastguard Worker "/wd4146", # unary minus operator applied to unsigned type, result still unsigned 60*da0073e9SAndroid Build Coastguard Worker ] + ([ 61*da0073e9SAndroid Build Coastguard Worker "/D__AVX512F__", # needed to avoid linkage errors 62*da0073e9SAndroid Build Coastguard Worker "-mavx2", 63*da0073e9SAndroid Build Coastguard Worker "/D__builtin_clz=__lzcnt", # Intrinsics are spelled differently in MSVC 64*da0073e9SAndroid Build Coastguard Worker "/Drestrict=", # MSVC doesn't understand [restrict XNN_NUM_ELEMENTS(N)] syntax 65*da0073e9SAndroid Build Coastguard Worker ] if XNNPACK_WINDOWS_AVX512F_ENABLED else []) 66*da0073e9SAndroid Build Coastguard Worker 67*da0073e9SAndroid Build Coastguard Worker WINDOWS_CLANG_COMPILER_FLAGS = [ 68*da0073e9SAndroid Build Coastguard Worker "-Wno-error", 69*da0073e9SAndroid Build Coastguard Worker "-Wno-error=undef", 70*da0073e9SAndroid Build Coastguard Worker "-Wno-error=incompatible-pointer-types", 71*da0073e9SAndroid Build Coastguard Worker "-Wno-error=incompatible-pointer-types-discards-qualifiers", 72*da0073e9SAndroid Build Coastguard Worker ] 73*da0073e9SAndroid Build Coastguard Worker 74*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 75*da0073e9SAndroid Build Coastguard Worker name = "interface", 76*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 77*da0073e9SAndroid Build Coastguard Worker exported_headers = { 78*da0073e9SAndroid Build Coastguard Worker "xnnpack.h": "XNNPACK/include/xnnpack.h", 79*da0073e9SAndroid Build Coastguard Worker }, 80*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 81*da0073e9SAndroid Build Coastguard Worker labels = labels, 82*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 83*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 84*da0073e9SAndroid Build Coastguard Worker ], 85*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 86*da0073e9SAndroid Build Coastguard Worker exported_deps = [ 87*da0073e9SAndroid Build Coastguard Worker # Dependency only on pthreadpool interface 88*da0073e9SAndroid Build Coastguard Worker third_party("pthreadpool_header"), 89*da0073e9SAndroid Build Coastguard Worker ], 90*da0073e9SAndroid Build Coastguard Worker ) 91*da0073e9SAndroid Build Coastguard Worker 92*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 93*da0073e9SAndroid Build Coastguard Worker name = "subgraph", 94*da0073e9SAndroid Build Coastguard Worker srcs = SUBGRAPH_SRCS, 95*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 96*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 97*da0073e9SAndroid Build Coastguard Worker ]), 98*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 99*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 100*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 101*da0073e9SAndroid Build Coastguard Worker "-O2", 102*da0073e9SAndroid Build Coastguard Worker ], 103*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 104*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 105*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 106*da0073e9SAndroid Build Coastguard Worker ], 107*da0073e9SAndroid Build Coastguard Worker labels = labels, 108*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 109*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 110*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 111*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_JIT=0", 112*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_SPARSE=0", 113*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_MEMOPT", 114*da0073e9SAndroid Build Coastguard Worker ], 115*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 116*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 117*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 118*da0073e9SAndroid Build Coastguard Worker deps = [ 119*da0073e9SAndroid Build Coastguard Worker ":interface", 120*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 121*da0073e9SAndroid Build Coastguard Worker third_party("FXdiv"), 122*da0073e9SAndroid Build Coastguard Worker third_party("clog"), 123*da0073e9SAndroid Build Coastguard Worker ], 124*da0073e9SAndroid Build Coastguard Worker ) 125*da0073e9SAndroid Build Coastguard Worker 126*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 127*da0073e9SAndroid Build Coastguard Worker name = "tables", 128*da0073e9SAndroid Build Coastguard Worker srcs = TABLE_SRCS, 129*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 130*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 131*da0073e9SAndroid Build Coastguard Worker ]), 132*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 133*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 134*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 135*da0073e9SAndroid Build Coastguard Worker "-O2", 136*da0073e9SAndroid Build Coastguard Worker ], 137*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 138*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 139*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 140*da0073e9SAndroid Build Coastguard Worker ], 141*da0073e9SAndroid Build Coastguard Worker labels = labels, 142*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 143*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 144*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 145*da0073e9SAndroid Build Coastguard Worker ], 146*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 147*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 148*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 149*da0073e9SAndroid Build Coastguard Worker deps = [ 150*da0073e9SAndroid Build Coastguard Worker ":interface", 151*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 152*da0073e9SAndroid Build Coastguard Worker third_party("FXdiv"), 153*da0073e9SAndroid Build Coastguard Worker third_party("clog"), 154*da0073e9SAndroid Build Coastguard Worker ], 155*da0073e9SAndroid Build Coastguard Worker ) 156*da0073e9SAndroid Build Coastguard Worker 157*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 158*da0073e9SAndroid Build Coastguard Worker name = "jit_memory", 159*da0073e9SAndroid Build Coastguard Worker # srcs have to include HOT_SRCS to be able to build on ARVR 160*da0073e9SAndroid Build Coastguard Worker srcs = JIT_SRCS, 161*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 162*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 163*da0073e9SAndroid Build Coastguard Worker ]), 164*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 165*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 166*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 167*da0073e9SAndroid Build Coastguard Worker "-Oz", 168*da0073e9SAndroid Build Coastguard Worker ], 169*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 170*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 171*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 172*da0073e9SAndroid Build Coastguard Worker ], 173*da0073e9SAndroid Build Coastguard Worker labels = labels, 174*da0073e9SAndroid Build Coastguard Worker platforms = (APPLE, ANDROID, CXX, WINDOWS), 175*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 176*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 177*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 178*da0073e9SAndroid Build Coastguard Worker ], 179*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 180*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 181*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 182*da0073e9SAndroid Build Coastguard Worker deps = [ 183*da0073e9SAndroid Build Coastguard Worker ":interface", 184*da0073e9SAndroid Build Coastguard Worker third_party("clog"), 185*da0073e9SAndroid Build Coastguard Worker ], 186*da0073e9SAndroid Build Coastguard Worker ) 187*da0073e9SAndroid Build Coastguard Worker 188*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 189*da0073e9SAndroid Build Coastguard Worker name = "ukernels_scalar", 190*da0073e9SAndroid Build Coastguard Worker srcs = PROD_SCALAR_MICROKERNEL_SRCS, 191*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 192*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 193*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 194*da0073e9SAndroid Build Coastguard Worker ]), 195*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 196*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 197*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 198*da0073e9SAndroid Build Coastguard Worker "-O2", 199*da0073e9SAndroid Build Coastguard Worker "-fno-fast-math", 200*da0073e9SAndroid Build Coastguard Worker "-fno-math-errno", 201*da0073e9SAndroid Build Coastguard Worker "-ffp-contract=off", 202*da0073e9SAndroid Build Coastguard Worker ], 203*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 204*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 205*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 206*da0073e9SAndroid Build Coastguard Worker ], 207*da0073e9SAndroid Build Coastguard Worker labels = labels, 208*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 209*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 210*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 211*da0073e9SAndroid Build Coastguard Worker ], 212*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 213*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 214*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 215*da0073e9SAndroid Build Coastguard Worker deps = [ 216*da0073e9SAndroid Build Coastguard Worker ":interface", 217*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 218*da0073e9SAndroid Build Coastguard Worker third_party("FXdiv"), 219*da0073e9SAndroid Build Coastguard Worker ], 220*da0073e9SAndroid Build Coastguard Worker ) 221*da0073e9SAndroid Build Coastguard Worker 222*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 223*da0073e9SAndroid Build Coastguard Worker name = "ukernels_sse", 224*da0073e9SAndroid Build Coastguard Worker srcs = PROD_SSE_MICROKERNEL_SRCS if is_arvr_mode() else [], 225*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 226*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 227*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 228*da0073e9SAndroid Build Coastguard Worker ]), 229*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 230*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 231*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 232*da0073e9SAndroid Build Coastguard Worker "-O2", 233*da0073e9SAndroid Build Coastguard Worker ], 234*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 235*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 236*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 237*da0073e9SAndroid Build Coastguard Worker ], 238*da0073e9SAndroid Build Coastguard Worker labels = labels, 239*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 240*da0073e9SAndroid Build Coastguard Worker ( 241*da0073e9SAndroid Build Coastguard Worker "x86", 242*da0073e9SAndroid Build Coastguard Worker [ 243*da0073e9SAndroid Build Coastguard Worker "-msse", 244*da0073e9SAndroid Build Coastguard Worker ], 245*da0073e9SAndroid Build Coastguard Worker ), 246*da0073e9SAndroid Build Coastguard Worker ], 247*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 248*da0073e9SAndroid Build Coastguard Worker ( 249*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 250*da0073e9SAndroid Build Coastguard Worker PROD_SSE_MICROKERNEL_SRCS, 251*da0073e9SAndroid Build Coastguard Worker ), 252*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 253*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 254*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 255*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 256*da0073e9SAndroid Build Coastguard Worker ], 257*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 258*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-msse"], 259*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-msse"], 260*da0073e9SAndroid Build Coastguard Worker deps = [ 261*da0073e9SAndroid Build Coastguard Worker ":interface", 262*da0073e9SAndroid Build Coastguard Worker ], 263*da0073e9SAndroid Build Coastguard Worker ) 264*da0073e9SAndroid Build Coastguard Worker 265*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 266*da0073e9SAndroid Build Coastguard Worker name = "ukernels_sse_ovr_win32", 267*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 268*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 269*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 270*da0073e9SAndroid Build Coastguard Worker ]), 271*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 272*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 273*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 274*da0073e9SAndroid Build Coastguard Worker "-O2", 275*da0073e9SAndroid Build Coastguard Worker ], 276*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 277*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 278*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 279*da0073e9SAndroid Build Coastguard Worker ], 280*da0073e9SAndroid Build Coastguard Worker labels = labels, 281*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 282*da0073e9SAndroid Build Coastguard Worker ( 283*da0073e9SAndroid Build Coastguard Worker "x86", 284*da0073e9SAndroid Build Coastguard Worker [ 285*da0073e9SAndroid Build Coastguard Worker "-msse", 286*da0073e9SAndroid Build Coastguard Worker ], 287*da0073e9SAndroid Build Coastguard Worker ), 288*da0073e9SAndroid Build Coastguard Worker ], 289*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 290*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 291*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 292*da0073e9SAndroid Build Coastguard Worker ], 293*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 294*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-msse"], 295*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-msse"], 296*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_SSE_MICROKERNEL_SRCS, 297*da0073e9SAndroid Build Coastguard Worker deps = [ 298*da0073e9SAndroid Build Coastguard Worker ":interface", 299*da0073e9SAndroid Build Coastguard Worker ], 300*da0073e9SAndroid Build Coastguard Worker ) 301*da0073e9SAndroid Build Coastguard Worker 302*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 303*da0073e9SAndroid Build Coastguard Worker name = "ukernels_sse2", 304*da0073e9SAndroid Build Coastguard Worker srcs = PROD_SSE2_MICROKERNEL_SRCS if is_arvr_mode() else [], 305*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 306*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 307*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 308*da0073e9SAndroid Build Coastguard Worker ]), 309*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 310*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 311*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 312*da0073e9SAndroid Build Coastguard Worker "-O2", 313*da0073e9SAndroid Build Coastguard Worker ], 314*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 315*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 316*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 317*da0073e9SAndroid Build Coastguard Worker ], 318*da0073e9SAndroid Build Coastguard Worker labels = labels, 319*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 320*da0073e9SAndroid Build Coastguard Worker ( 321*da0073e9SAndroid Build Coastguard Worker "x86", 322*da0073e9SAndroid Build Coastguard Worker [ 323*da0073e9SAndroid Build Coastguard Worker "-msse2", 324*da0073e9SAndroid Build Coastguard Worker ], 325*da0073e9SAndroid Build Coastguard Worker ), 326*da0073e9SAndroid Build Coastguard Worker ], 327*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 328*da0073e9SAndroid Build Coastguard Worker ( 329*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 330*da0073e9SAndroid Build Coastguard Worker PROD_SSE2_MICROKERNEL_SRCS, 331*da0073e9SAndroid Build Coastguard Worker ), 332*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 333*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 334*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 335*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 336*da0073e9SAndroid Build Coastguard Worker ], 337*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 338*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-msse2"], 339*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-msse2"], 340*da0073e9SAndroid Build Coastguard Worker deps = [ 341*da0073e9SAndroid Build Coastguard Worker ":interface", 342*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 343*da0073e9SAndroid Build Coastguard Worker ], 344*da0073e9SAndroid Build Coastguard Worker ) 345*da0073e9SAndroid Build Coastguard Worker 346*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 347*da0073e9SAndroid Build Coastguard Worker name = "ukernels_sse2_ovr_win32", 348*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 349*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 350*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 351*da0073e9SAndroid Build Coastguard Worker ]), 352*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 353*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 354*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 355*da0073e9SAndroid Build Coastguard Worker "-O2", 356*da0073e9SAndroid Build Coastguard Worker ], 357*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 358*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 359*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 360*da0073e9SAndroid Build Coastguard Worker ], 361*da0073e9SAndroid Build Coastguard Worker labels = labels, 362*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 363*da0073e9SAndroid Build Coastguard Worker ( 364*da0073e9SAndroid Build Coastguard Worker "x86", 365*da0073e9SAndroid Build Coastguard Worker [ 366*da0073e9SAndroid Build Coastguard Worker "-msse2", 367*da0073e9SAndroid Build Coastguard Worker ], 368*da0073e9SAndroid Build Coastguard Worker ), 369*da0073e9SAndroid Build Coastguard Worker ], 370*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 371*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 372*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 373*da0073e9SAndroid Build Coastguard Worker ], 374*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 375*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-msse2"], 376*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-msse2"], 377*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_SSE2_MICROKERNEL_SRCS, 378*da0073e9SAndroid Build Coastguard Worker deps = [ 379*da0073e9SAndroid Build Coastguard Worker ":interface", 380*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 381*da0073e9SAndroid Build Coastguard Worker ], 382*da0073e9SAndroid Build Coastguard Worker ) 383*da0073e9SAndroid Build Coastguard Worker 384*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 385*da0073e9SAndroid Build Coastguard Worker name = "ukernels_ssse3", 386*da0073e9SAndroid Build Coastguard Worker srcs = PROD_SSSE3_MICROKERNEL_SRCS if is_arvr_mode() else [], 387*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 388*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 389*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 390*da0073e9SAndroid Build Coastguard Worker ]), 391*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 392*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 393*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 394*da0073e9SAndroid Build Coastguard Worker "-O2", 395*da0073e9SAndroid Build Coastguard Worker ], 396*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 397*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 398*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 399*da0073e9SAndroid Build Coastguard Worker ], 400*da0073e9SAndroid Build Coastguard Worker labels = labels, 401*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 402*da0073e9SAndroid Build Coastguard Worker ( 403*da0073e9SAndroid Build Coastguard Worker "x86", 404*da0073e9SAndroid Build Coastguard Worker [ 405*da0073e9SAndroid Build Coastguard Worker "-mssse3", 406*da0073e9SAndroid Build Coastguard Worker ], 407*da0073e9SAndroid Build Coastguard Worker ), 408*da0073e9SAndroid Build Coastguard Worker ], 409*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 410*da0073e9SAndroid Build Coastguard Worker ( 411*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 412*da0073e9SAndroid Build Coastguard Worker PROD_SSSE3_MICROKERNEL_SRCS, 413*da0073e9SAndroid Build Coastguard Worker ), 414*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 415*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 416*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 417*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 418*da0073e9SAndroid Build Coastguard Worker ], 419*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 420*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mssse3"], 421*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mssse3"], 422*da0073e9SAndroid Build Coastguard Worker deps = [ 423*da0073e9SAndroid Build Coastguard Worker ":interface", 424*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 425*da0073e9SAndroid Build Coastguard Worker ], 426*da0073e9SAndroid Build Coastguard Worker ) 427*da0073e9SAndroid Build Coastguard Worker 428*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 429*da0073e9SAndroid Build Coastguard Worker name = "ukernels_ssse3_ovr_win32", 430*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 431*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 432*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 433*da0073e9SAndroid Build Coastguard Worker ]), 434*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 435*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 436*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 437*da0073e9SAndroid Build Coastguard Worker "-O2", 438*da0073e9SAndroid Build Coastguard Worker ], 439*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 440*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 441*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 442*da0073e9SAndroid Build Coastguard Worker ], 443*da0073e9SAndroid Build Coastguard Worker labels = labels, 444*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 445*da0073e9SAndroid Build Coastguard Worker ( 446*da0073e9SAndroid Build Coastguard Worker "x86", 447*da0073e9SAndroid Build Coastguard Worker [ 448*da0073e9SAndroid Build Coastguard Worker "-mssse3", 449*da0073e9SAndroid Build Coastguard Worker ], 450*da0073e9SAndroid Build Coastguard Worker ), 451*da0073e9SAndroid Build Coastguard Worker ], 452*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 453*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 454*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 455*da0073e9SAndroid Build Coastguard Worker ], 456*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 457*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mssse3"], 458*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mssse3"], 459*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_SSSE3_MICROKERNEL_SRCS, 460*da0073e9SAndroid Build Coastguard Worker deps = [ 461*da0073e9SAndroid Build Coastguard Worker ":interface", 462*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 463*da0073e9SAndroid Build Coastguard Worker ], 464*da0073e9SAndroid Build Coastguard Worker ) 465*da0073e9SAndroid Build Coastguard Worker 466*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 467*da0073e9SAndroid Build Coastguard Worker name = "ukernels_sse41", 468*da0073e9SAndroid Build Coastguard Worker srcs = PROD_SSE41_MICROKERNEL_SRCS if is_arvr_mode() else [], 469*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 470*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 471*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 472*da0073e9SAndroid Build Coastguard Worker ]), 473*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 474*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 475*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 476*da0073e9SAndroid Build Coastguard Worker "-O2", 477*da0073e9SAndroid Build Coastguard Worker ], 478*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 479*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 480*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 481*da0073e9SAndroid Build Coastguard Worker ], 482*da0073e9SAndroid Build Coastguard Worker labels = labels, 483*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 484*da0073e9SAndroid Build Coastguard Worker ( 485*da0073e9SAndroid Build Coastguard Worker "x86", 486*da0073e9SAndroid Build Coastguard Worker [ 487*da0073e9SAndroid Build Coastguard Worker "-msse4.1", 488*da0073e9SAndroid Build Coastguard Worker ], 489*da0073e9SAndroid Build Coastguard Worker ), 490*da0073e9SAndroid Build Coastguard Worker ], 491*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 492*da0073e9SAndroid Build Coastguard Worker ( 493*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 494*da0073e9SAndroid Build Coastguard Worker PROD_SSE41_MICROKERNEL_SRCS, 495*da0073e9SAndroid Build Coastguard Worker ), 496*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 497*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 498*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 499*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 500*da0073e9SAndroid Build Coastguard Worker ], 501*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 502*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-msse4.1"], 503*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-msse4.1"], 504*da0073e9SAndroid Build Coastguard Worker deps = [ 505*da0073e9SAndroid Build Coastguard Worker ":interface", 506*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 507*da0073e9SAndroid Build Coastguard Worker ], 508*da0073e9SAndroid Build Coastguard Worker ) 509*da0073e9SAndroid Build Coastguard Worker 510*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 511*da0073e9SAndroid Build Coastguard Worker name = "ukernels_sse41_ovr_win32", 512*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 513*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 514*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 515*da0073e9SAndroid Build Coastguard Worker ]), 516*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 517*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 518*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 519*da0073e9SAndroid Build Coastguard Worker "-O2", 520*da0073e9SAndroid Build Coastguard Worker ], 521*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 522*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 523*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 524*da0073e9SAndroid Build Coastguard Worker ], 525*da0073e9SAndroid Build Coastguard Worker labels = labels, 526*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 527*da0073e9SAndroid Build Coastguard Worker ( 528*da0073e9SAndroid Build Coastguard Worker "x86", 529*da0073e9SAndroid Build Coastguard Worker [ 530*da0073e9SAndroid Build Coastguard Worker "-msse4.1", 531*da0073e9SAndroid Build Coastguard Worker ], 532*da0073e9SAndroid Build Coastguard Worker ), 533*da0073e9SAndroid Build Coastguard Worker ], 534*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 535*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 536*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 537*da0073e9SAndroid Build Coastguard Worker ], 538*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 539*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-msse4.1"], 540*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-msse4.1"], 541*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_SSE41_MICROKERNEL_SRCS, 542*da0073e9SAndroid Build Coastguard Worker deps = [ 543*da0073e9SAndroid Build Coastguard Worker ":interface", 544*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 545*da0073e9SAndroid Build Coastguard Worker ], 546*da0073e9SAndroid Build Coastguard Worker ) 547*da0073e9SAndroid Build Coastguard Worker 548*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 549*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx", 550*da0073e9SAndroid Build Coastguard Worker srcs = PROD_AVX_MICROKERNEL_SRCS if is_arvr_mode() else [], 551*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 552*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 553*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 554*da0073e9SAndroid Build Coastguard Worker ]), 555*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 556*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 557*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 558*da0073e9SAndroid Build Coastguard Worker "-O2", 559*da0073e9SAndroid Build Coastguard Worker ] + select({ 560*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 561*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_32": [ 562*da0073e9SAndroid Build Coastguard Worker "-mavx", 563*da0073e9SAndroid Build Coastguard Worker ], 564*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_64": [ 565*da0073e9SAndroid Build Coastguard Worker "-mavx", 566*da0073e9SAndroid Build Coastguard Worker ], 567*da0073e9SAndroid Build Coastguard Worker }), 568*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 569*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 570*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 571*da0073e9SAndroid Build Coastguard Worker ], 572*da0073e9SAndroid Build Coastguard Worker labels = labels, 573*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 574*da0073e9SAndroid Build Coastguard Worker ( 575*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 576*da0073e9SAndroid Build Coastguard Worker [ 577*da0073e9SAndroid Build Coastguard Worker "-mavx", 578*da0073e9SAndroid Build Coastguard Worker ], 579*da0073e9SAndroid Build Coastguard Worker ), 580*da0073e9SAndroid Build Coastguard Worker ], 581*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 582*da0073e9SAndroid Build Coastguard Worker ( 583*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 584*da0073e9SAndroid Build Coastguard Worker PROD_AVX_MICROKERNEL_SRCS, 585*da0073e9SAndroid Build Coastguard Worker ), 586*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 587*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 588*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 589*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 590*da0073e9SAndroid Build Coastguard Worker ], 591*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 592*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mavx"], 593*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mavx"], 594*da0073e9SAndroid Build Coastguard Worker deps = [ 595*da0073e9SAndroid Build Coastguard Worker ":interface", 596*da0073e9SAndroid Build Coastguard Worker ], 597*da0073e9SAndroid Build Coastguard Worker ) 598*da0073e9SAndroid Build Coastguard Worker 599*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 600*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx_ovr_win32", 601*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 602*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 603*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 604*da0073e9SAndroid Build Coastguard Worker ]), 605*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 606*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 607*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 608*da0073e9SAndroid Build Coastguard Worker "-O2", 609*da0073e9SAndroid Build Coastguard Worker "-mavx", 610*da0073e9SAndroid Build Coastguard Worker ], 611*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 612*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 613*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 614*da0073e9SAndroid Build Coastguard Worker ], 615*da0073e9SAndroid Build Coastguard Worker labels = labels, 616*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 617*da0073e9SAndroid Build Coastguard Worker ( 618*da0073e9SAndroid Build Coastguard Worker "x86", 619*da0073e9SAndroid Build Coastguard Worker [ 620*da0073e9SAndroid Build Coastguard Worker "-mavx", 621*da0073e9SAndroid Build Coastguard Worker ], 622*da0073e9SAndroid Build Coastguard Worker ), 623*da0073e9SAndroid Build Coastguard Worker ], 624*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 625*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 626*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 627*da0073e9SAndroid Build Coastguard Worker ], 628*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 629*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mavx"], 630*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mavx"], 631*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_AVX_MICROKERNEL_SRCS, 632*da0073e9SAndroid Build Coastguard Worker deps = [ 633*da0073e9SAndroid Build Coastguard Worker ":interface", 634*da0073e9SAndroid Build Coastguard Worker ], 635*da0073e9SAndroid Build Coastguard Worker ) 636*da0073e9SAndroid Build Coastguard Worker 637*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 638*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx512vnnigfni", 639*da0073e9SAndroid Build Coastguard Worker srcs = PROD_AVX512VNNIGFNI_MICROKERNEL_SRCS if is_arvr_mode() else [], 640*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 641*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 642*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 643*da0073e9SAndroid Build Coastguard Worker ]), 644*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 645*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 646*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 647*da0073e9SAndroid Build Coastguard Worker "-O2", 648*da0073e9SAndroid Build Coastguard Worker ] + select({ 649*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 650*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_32": [ 651*da0073e9SAndroid Build Coastguard Worker "-mavx", 652*da0073e9SAndroid Build Coastguard Worker "-mgfni", 653*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 654*da0073e9SAndroid Build Coastguard Worker "-mavx512vnni", 655*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 656*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 657*da0073e9SAndroid Build Coastguard Worker ], 658*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_64": [ 659*da0073e9SAndroid Build Coastguard Worker "-mavx", 660*da0073e9SAndroid Build Coastguard Worker "-mgfni", 661*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 662*da0073e9SAndroid Build Coastguard Worker "-mavx512vnni", 663*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 664*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 665*da0073e9SAndroid Build Coastguard Worker ], 666*da0073e9SAndroid Build Coastguard Worker }), 667*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 668*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 669*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 670*da0073e9SAndroid Build Coastguard Worker ], 671*da0073e9SAndroid Build Coastguard Worker labels = labels, 672*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 673*da0073e9SAndroid Build Coastguard Worker ( 674*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 675*da0073e9SAndroid Build Coastguard Worker [ 676*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 677*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 678*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 679*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 680*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 681*da0073e9SAndroid Build Coastguard Worker "-mavx512vnni", 682*da0073e9SAndroid Build Coastguard Worker "-mgfni", 683*da0073e9SAndroid Build Coastguard Worker ], 684*da0073e9SAndroid Build Coastguard Worker ), 685*da0073e9SAndroid Build Coastguard Worker ], 686*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 687*da0073e9SAndroid Build Coastguard Worker ( 688*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 689*da0073e9SAndroid Build Coastguard Worker PROD_AVX512VNNIGFNI_MICROKERNEL_SRCS, 690*da0073e9SAndroid Build Coastguard Worker ), 691*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 692*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 693*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 694*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 695*da0073e9SAndroid Build Coastguard Worker ], 696*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 697*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mavx"], 698*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mavx"], 699*da0073e9SAndroid Build Coastguard Worker deps = [ 700*da0073e9SAndroid Build Coastguard Worker ":interface", 701*da0073e9SAndroid Build Coastguard Worker ], 702*da0073e9SAndroid Build Coastguard Worker ) 703*da0073e9SAndroid Build Coastguard Worker 704*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 705*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx512vnnigfni_ovr_win32", 706*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 707*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 708*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 709*da0073e9SAndroid Build Coastguard Worker ]), 710*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 711*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 712*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 713*da0073e9SAndroid Build Coastguard Worker "-O2", 714*da0073e9SAndroid Build Coastguard Worker ], 715*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 716*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 717*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 718*da0073e9SAndroid Build Coastguard Worker ], 719*da0073e9SAndroid Build Coastguard Worker labels = labels, 720*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 721*da0073e9SAndroid Build Coastguard Worker ( 722*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 723*da0073e9SAndroid Build Coastguard Worker [ 724*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 725*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 726*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 727*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 728*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 729*da0073e9SAndroid Build Coastguard Worker "-mavx512vnni", 730*da0073e9SAndroid Build Coastguard Worker "-mgfni", 731*da0073e9SAndroid Build Coastguard Worker ], 732*da0073e9SAndroid Build Coastguard Worker ), 733*da0073e9SAndroid Build Coastguard Worker ], 734*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 735*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 736*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 737*da0073e9SAndroid Build Coastguard Worker ], 738*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 739*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mavx"], 740*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mavx"], 741*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_AVX512VNNIGFNI_MICROKERNEL_SRCS, 742*da0073e9SAndroid Build Coastguard Worker deps = [ 743*da0073e9SAndroid Build Coastguard Worker ":interface", 744*da0073e9SAndroid Build Coastguard Worker ], 745*da0073e9SAndroid Build Coastguard Worker ) 746*da0073e9SAndroid Build Coastguard Worker 747*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 748*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx512vnni", 749*da0073e9SAndroid Build Coastguard Worker srcs = PROD_AVX512VNNI_MICROKERNEL_SRCS if is_arvr_mode() else [], 750*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 751*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 752*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 753*da0073e9SAndroid Build Coastguard Worker ]), 754*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 755*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 756*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 757*da0073e9SAndroid Build Coastguard Worker "-O2", 758*da0073e9SAndroid Build Coastguard Worker ] + select({ 759*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 760*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_32": [ 761*da0073e9SAndroid Build Coastguard Worker "-mavx", 762*da0073e9SAndroid Build Coastguard Worker ], 763*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_64": [ 764*da0073e9SAndroid Build Coastguard Worker "-mavx", 765*da0073e9SAndroid Build Coastguard Worker ], 766*da0073e9SAndroid Build Coastguard Worker }), 767*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 768*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 769*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 770*da0073e9SAndroid Build Coastguard Worker ], 771*da0073e9SAndroid Build Coastguard Worker labels = labels, 772*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 773*da0073e9SAndroid Build Coastguard Worker ( 774*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 775*da0073e9SAndroid Build Coastguard Worker [ 776*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 777*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 778*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 779*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 780*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 781*da0073e9SAndroid Build Coastguard Worker "-mavx512vnni", 782*da0073e9SAndroid Build Coastguard Worker ], 783*da0073e9SAndroid Build Coastguard Worker ), 784*da0073e9SAndroid Build Coastguard Worker ], 785*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 786*da0073e9SAndroid Build Coastguard Worker ( 787*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 788*da0073e9SAndroid Build Coastguard Worker PROD_AVX512VNNI_MICROKERNEL_SRCS, 789*da0073e9SAndroid Build Coastguard Worker ), 790*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 791*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 792*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 793*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 794*da0073e9SAndroid Build Coastguard Worker ], 795*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 796*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mavx"], 797*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mavx"], 798*da0073e9SAndroid Build Coastguard Worker deps = [ 799*da0073e9SAndroid Build Coastguard Worker ":interface", 800*da0073e9SAndroid Build Coastguard Worker ], 801*da0073e9SAndroid Build Coastguard Worker ) 802*da0073e9SAndroid Build Coastguard Worker 803*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 804*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx512vnni_ovr_win32", 805*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 806*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 807*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 808*da0073e9SAndroid Build Coastguard Worker ]), 809*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 810*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 811*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 812*da0073e9SAndroid Build Coastguard Worker "-O2", 813*da0073e9SAndroid Build Coastguard Worker ], 814*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 815*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 816*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 817*da0073e9SAndroid Build Coastguard Worker ], 818*da0073e9SAndroid Build Coastguard Worker labels = labels, 819*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 820*da0073e9SAndroid Build Coastguard Worker ( 821*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 822*da0073e9SAndroid Build Coastguard Worker [ 823*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 824*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 825*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 826*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 827*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 828*da0073e9SAndroid Build Coastguard Worker "-mavx512vnni", 829*da0073e9SAndroid Build Coastguard Worker ], 830*da0073e9SAndroid Build Coastguard Worker ), 831*da0073e9SAndroid Build Coastguard Worker ], 832*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 833*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 834*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 835*da0073e9SAndroid Build Coastguard Worker ], 836*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 837*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mavx"], 838*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mavx"], 839*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_AVX512VNNI_MICROKERNEL_SRCS, 840*da0073e9SAndroid Build Coastguard Worker deps = [ 841*da0073e9SAndroid Build Coastguard Worker ":interface", 842*da0073e9SAndroid Build Coastguard Worker ], 843*da0073e9SAndroid Build Coastguard Worker ) 844*da0073e9SAndroid Build Coastguard Worker 845*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 846*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avxvnni", 847*da0073e9SAndroid Build Coastguard Worker srcs = PROD_AVXVNNI_MICROKERNEL_SRCS if is_arvr_mode() else [], 848*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 849*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 850*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 851*da0073e9SAndroid Build Coastguard Worker ]), 852*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 853*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 854*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 855*da0073e9SAndroid Build Coastguard Worker "-O2", 856*da0073e9SAndroid Build Coastguard Worker "-mavxvnni", 857*da0073e9SAndroid Build Coastguard Worker "-mf16c", 858*da0073e9SAndroid Build Coastguard Worker "-mfma", 859*da0073e9SAndroid Build Coastguard Worker ], 860*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 861*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 862*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 863*da0073e9SAndroid Build Coastguard Worker ], 864*da0073e9SAndroid Build Coastguard Worker labels = labels, 865*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 866*da0073e9SAndroid Build Coastguard Worker ( 867*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 868*da0073e9SAndroid Build Coastguard Worker [ 869*da0073e9SAndroid Build Coastguard Worker "-mavx2", 870*da0073e9SAndroid Build Coastguard Worker "-mavxvnni", 871*da0073e9SAndroid Build Coastguard Worker "-mf16c", 872*da0073e9SAndroid Build Coastguard Worker "-mfma", 873*da0073e9SAndroid Build Coastguard Worker ], 874*da0073e9SAndroid Build Coastguard Worker ), 875*da0073e9SAndroid Build Coastguard Worker ], 876*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 877*da0073e9SAndroid Build Coastguard Worker ( 878*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 879*da0073e9SAndroid Build Coastguard Worker PROD_AVXVNNI_MICROKERNEL_SRCS, 880*da0073e9SAndroid Build Coastguard Worker ), 881*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 882*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 883*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 884*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 885*da0073e9SAndroid Build Coastguard Worker ], 886*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 887*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mavx"], 888*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mavx"], 889*da0073e9SAndroid Build Coastguard Worker deps = [ 890*da0073e9SAndroid Build Coastguard Worker ":interface", 891*da0073e9SAndroid Build Coastguard Worker ], 892*da0073e9SAndroid Build Coastguard Worker ) 893*da0073e9SAndroid Build Coastguard Worker 894*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 895*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avxvnni_ovr_win32", 896*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 897*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 898*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 899*da0073e9SAndroid Build Coastguard Worker ]), 900*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 901*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 902*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 903*da0073e9SAndroid Build Coastguard Worker "-O2", 904*da0073e9SAndroid Build Coastguard Worker ], 905*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 906*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 907*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 908*da0073e9SAndroid Build Coastguard Worker ], 909*da0073e9SAndroid Build Coastguard Worker labels = labels, 910*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 911*da0073e9SAndroid Build Coastguard Worker ( 912*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 913*da0073e9SAndroid Build Coastguard Worker [ 914*da0073e9SAndroid Build Coastguard Worker "-mavx2", 915*da0073e9SAndroid Build Coastguard Worker "-mavxvnni", 916*da0073e9SAndroid Build Coastguard Worker ], 917*da0073e9SAndroid Build Coastguard Worker ), 918*da0073e9SAndroid Build Coastguard Worker ], 919*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 920*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 921*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 922*da0073e9SAndroid Build Coastguard Worker ], 923*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 924*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mavx"], 925*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mavx"], 926*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_AVXVNNI_MICROKERNEL_SRCS, 927*da0073e9SAndroid Build Coastguard Worker deps = [ 928*da0073e9SAndroid Build Coastguard Worker ":interface", 929*da0073e9SAndroid Build Coastguard Worker ], 930*da0073e9SAndroid Build Coastguard Worker ) 931*da0073e9SAndroid Build Coastguard Worker 932*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 933*da0073e9SAndroid Build Coastguard Worker name = "ukernels_f16c", 934*da0073e9SAndroid Build Coastguard Worker srcs = PROD_F16C_MICROKERNEL_SRCS if is_arvr_mode() else [], 935*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 936*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 937*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 938*da0073e9SAndroid Build Coastguard Worker ]), 939*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 940*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 941*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 942*da0073e9SAndroid Build Coastguard Worker "-O2", 943*da0073e9SAndroid Build Coastguard Worker ] + select({ 944*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 945*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_32": [ 946*da0073e9SAndroid Build Coastguard Worker "-mf16c", 947*da0073e9SAndroid Build Coastguard Worker ], 948*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_64": [ 949*da0073e9SAndroid Build Coastguard Worker "-mf16c", 950*da0073e9SAndroid Build Coastguard Worker ], 951*da0073e9SAndroid Build Coastguard Worker }), 952*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 953*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 954*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 955*da0073e9SAndroid Build Coastguard Worker ], 956*da0073e9SAndroid Build Coastguard Worker labels = labels, 957*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 958*da0073e9SAndroid Build Coastguard Worker ( 959*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 960*da0073e9SAndroid Build Coastguard Worker [ 961*da0073e9SAndroid Build Coastguard Worker "-mf16c", 962*da0073e9SAndroid Build Coastguard Worker ], 963*da0073e9SAndroid Build Coastguard Worker ), 964*da0073e9SAndroid Build Coastguard Worker ], 965*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 966*da0073e9SAndroid Build Coastguard Worker ( 967*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 968*da0073e9SAndroid Build Coastguard Worker PROD_F16C_MICROKERNEL_SRCS, 969*da0073e9SAndroid Build Coastguard Worker ), 970*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 971*da0073e9SAndroid Build Coastguard Worker platforms = (APPLE, ANDROID, CXX, WINDOWS), 972*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 973*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 974*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 975*da0073e9SAndroid Build Coastguard Worker ], 976*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 977*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mf16c"], 978*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mf16c"], 979*da0073e9SAndroid Build Coastguard Worker deps = [ 980*da0073e9SAndroid Build Coastguard Worker ":interface", 981*da0073e9SAndroid Build Coastguard Worker ], 982*da0073e9SAndroid Build Coastguard Worker ) 983*da0073e9SAndroid Build Coastguard Worker 984*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 985*da0073e9SAndroid Build Coastguard Worker name = "ukernels_f16c_ovr_win32", 986*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 987*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 988*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 989*da0073e9SAndroid Build Coastguard Worker ]), 990*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 991*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 992*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 993*da0073e9SAndroid Build Coastguard Worker "-O2", 994*da0073e9SAndroid Build Coastguard Worker "-mf16c", 995*da0073e9SAndroid Build Coastguard Worker ], 996*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 997*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 998*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 999*da0073e9SAndroid Build Coastguard Worker ], 1000*da0073e9SAndroid Build Coastguard Worker labels = labels, 1001*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1002*da0073e9SAndroid Build Coastguard Worker ( 1003*da0073e9SAndroid Build Coastguard Worker "x86", 1004*da0073e9SAndroid Build Coastguard Worker [ 1005*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1006*da0073e9SAndroid Build Coastguard Worker ], 1007*da0073e9SAndroid Build Coastguard Worker ), 1008*da0073e9SAndroid Build Coastguard Worker ], 1009*da0073e9SAndroid Build Coastguard Worker platforms = (APPLE, ANDROID, CXX, WINDOWS), 1010*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1011*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1012*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1013*da0073e9SAndroid Build Coastguard Worker ], 1014*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1015*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mf16c"], 1016*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mf16c"], 1017*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_F16C_MICROKERNEL_SRCS, 1018*da0073e9SAndroid Build Coastguard Worker deps = [ 1019*da0073e9SAndroid Build Coastguard Worker ":interface", 1020*da0073e9SAndroid Build Coastguard Worker ], 1021*da0073e9SAndroid Build Coastguard Worker ) 1022*da0073e9SAndroid Build Coastguard Worker 1023*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1024*da0073e9SAndroid Build Coastguard Worker name = "ukernels_xop", 1025*da0073e9SAndroid Build Coastguard Worker srcs = PROD_XOP_MICROKERNEL_SRCS if is_arvr_mode() else [], 1026*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1027*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1028*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1029*da0073e9SAndroid Build Coastguard Worker ]), 1030*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1031*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1032*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1033*da0073e9SAndroid Build Coastguard Worker "-O2", 1034*da0073e9SAndroid Build Coastguard Worker ] + select({ 1035*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1036*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_32": [ 1037*da0073e9SAndroid Build Coastguard Worker "-mxop", 1038*da0073e9SAndroid Build Coastguard Worker ], 1039*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_64": [ 1040*da0073e9SAndroid Build Coastguard Worker "-mxop", 1041*da0073e9SAndroid Build Coastguard Worker ], 1042*da0073e9SAndroid Build Coastguard Worker }), 1043*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1044*da0073e9SAndroid Build Coastguard Worker ( 1045*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 1046*da0073e9SAndroid Build Coastguard Worker [ 1047*da0073e9SAndroid Build Coastguard Worker "-mxop", 1048*da0073e9SAndroid Build Coastguard Worker ], 1049*da0073e9SAndroid Build Coastguard Worker ), 1050*da0073e9SAndroid Build Coastguard Worker ], 1051*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1052*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1053*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1054*da0073e9SAndroid Build Coastguard Worker ], 1055*da0073e9SAndroid Build Coastguard Worker labels = labels, 1056*da0073e9SAndroid Build Coastguard Worker platform_preprocessor_flags = [ 1057*da0073e9SAndroid Build Coastguard Worker ( 1058*da0073e9SAndroid Build Coastguard Worker "windows-x86_64", 1059*da0073e9SAndroid Build Coastguard Worker [ 1060*da0073e9SAndroid Build Coastguard Worker "-Drestrict=", 1061*da0073e9SAndroid Build Coastguard Worker ], 1062*da0073e9SAndroid Build Coastguard Worker ), 1063*da0073e9SAndroid Build Coastguard Worker ], 1064*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 1065*da0073e9SAndroid Build Coastguard Worker ( 1066*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 1067*da0073e9SAndroid Build Coastguard Worker PROD_XOP_MICROKERNEL_SRCS, 1068*da0073e9SAndroid Build Coastguard Worker ), 1069*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 1070*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1071*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1072*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1073*da0073e9SAndroid Build Coastguard Worker ], 1074*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1075*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mxop"], 1076*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mxop"], 1077*da0073e9SAndroid Build Coastguard Worker deps = [ 1078*da0073e9SAndroid Build Coastguard Worker ":interface", 1079*da0073e9SAndroid Build Coastguard Worker ], 1080*da0073e9SAndroid Build Coastguard Worker ) 1081*da0073e9SAndroid Build Coastguard Worker 1082*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1083*da0073e9SAndroid Build Coastguard Worker name = "ukernels_xop_ovr_win32", 1084*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1085*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1086*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1087*da0073e9SAndroid Build Coastguard Worker ]), 1088*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1089*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1090*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1091*da0073e9SAndroid Build Coastguard Worker "-O2", 1092*da0073e9SAndroid Build Coastguard Worker "-mxop", 1093*da0073e9SAndroid Build Coastguard Worker ], 1094*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1095*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1096*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1097*da0073e9SAndroid Build Coastguard Worker ], 1098*da0073e9SAndroid Build Coastguard Worker labels = labels, 1099*da0073e9SAndroid Build Coastguard Worker platform_preprocessor_flags = [ 1100*da0073e9SAndroid Build Coastguard Worker ( 1101*da0073e9SAndroid Build Coastguard Worker "windows-x86_64", 1102*da0073e9SAndroid Build Coastguard Worker [ 1103*da0073e9SAndroid Build Coastguard Worker "-Drestrict=", 1104*da0073e9SAndroid Build Coastguard Worker ], 1105*da0073e9SAndroid Build Coastguard Worker ), 1106*da0073e9SAndroid Build Coastguard Worker ], 1107*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1108*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1109*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1110*da0073e9SAndroid Build Coastguard Worker ], 1111*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1112*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mxop"], 1113*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mxop"], 1114*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_XOP_MICROKERNEL_SRCS, 1115*da0073e9SAndroid Build Coastguard Worker deps = [ 1116*da0073e9SAndroid Build Coastguard Worker ":interface", 1117*da0073e9SAndroid Build Coastguard Worker ], 1118*da0073e9SAndroid Build Coastguard Worker ) 1119*da0073e9SAndroid Build Coastguard Worker 1120*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1121*da0073e9SAndroid Build Coastguard Worker name = "ukernels_fma3", 1122*da0073e9SAndroid Build Coastguard Worker srcs = PROD_FMA3_MICROKERNEL_SRCS if is_arvr_mode() else [], 1123*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1124*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1125*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1126*da0073e9SAndroid Build Coastguard Worker ]), 1127*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1128*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1129*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1130*da0073e9SAndroid Build Coastguard Worker "-O2", 1131*da0073e9SAndroid Build Coastguard Worker ] + select({ 1132*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1133*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_32": [ 1134*da0073e9SAndroid Build Coastguard Worker "-mfma", 1135*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1136*da0073e9SAndroid Build Coastguard Worker ], 1137*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_64": [ 1138*da0073e9SAndroid Build Coastguard Worker "-mfma", 1139*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1140*da0073e9SAndroid Build Coastguard Worker ], 1141*da0073e9SAndroid Build Coastguard Worker }), 1142*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1143*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1144*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1145*da0073e9SAndroid Build Coastguard Worker ], 1146*da0073e9SAndroid Build Coastguard Worker labels = labels, 1147*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1148*da0073e9SAndroid Build Coastguard Worker ( 1149*da0073e9SAndroid Build Coastguard Worker "(i[3-6]86|x86|x86_64|AMD64)", 1150*da0073e9SAndroid Build Coastguard Worker [ 1151*da0073e9SAndroid Build Coastguard Worker "-mfma", 1152*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1153*da0073e9SAndroid Build Coastguard Worker ], 1154*da0073e9SAndroid Build Coastguard Worker ), 1155*da0073e9SAndroid Build Coastguard Worker ], 1156*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 1157*da0073e9SAndroid Build Coastguard Worker ( 1158*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 1159*da0073e9SAndroid Build Coastguard Worker PROD_FMA3_MICROKERNEL_SRCS, 1160*da0073e9SAndroid Build Coastguard Worker ), 1161*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 1162*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1163*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1164*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1165*da0073e9SAndroid Build Coastguard Worker ], 1166*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1167*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + [ 1168*da0073e9SAndroid Build Coastguard Worker "-mfma", 1169*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1170*da0073e9SAndroid Build Coastguard Worker ], 1171*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + [ 1172*da0073e9SAndroid Build Coastguard Worker "-mfma", 1173*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1174*da0073e9SAndroid Build Coastguard Worker ], 1175*da0073e9SAndroid Build Coastguard Worker deps = [ 1176*da0073e9SAndroid Build Coastguard Worker ":interface", 1177*da0073e9SAndroid Build Coastguard Worker ], 1178*da0073e9SAndroid Build Coastguard Worker ) 1179*da0073e9SAndroid Build Coastguard Worker 1180*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1181*da0073e9SAndroid Build Coastguard Worker name = "ukernels_fma3_ovr_win32", 1182*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1183*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1184*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1185*da0073e9SAndroid Build Coastguard Worker ]), 1186*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1187*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1188*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1189*da0073e9SAndroid Build Coastguard Worker "-O2", 1190*da0073e9SAndroid Build Coastguard Worker "-mfma", 1191*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1192*da0073e9SAndroid Build Coastguard Worker ], 1193*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1194*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1195*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1196*da0073e9SAndroid Build Coastguard Worker ], 1197*da0073e9SAndroid Build Coastguard Worker labels = labels, 1198*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1199*da0073e9SAndroid Build Coastguard Worker ( 1200*da0073e9SAndroid Build Coastguard Worker "^(i[3-6]86|x86|x86_64|AMD64)$", 1201*da0073e9SAndroid Build Coastguard Worker [ 1202*da0073e9SAndroid Build Coastguard Worker "-mfma", 1203*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1204*da0073e9SAndroid Build Coastguard Worker ], 1205*da0073e9SAndroid Build Coastguard Worker ), 1206*da0073e9SAndroid Build Coastguard Worker ], 1207*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1208*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1209*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1210*da0073e9SAndroid Build Coastguard Worker ], 1211*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1212*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + [ 1213*da0073e9SAndroid Build Coastguard Worker "-mfma", 1214*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1215*da0073e9SAndroid Build Coastguard Worker ], 1216*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + [ 1217*da0073e9SAndroid Build Coastguard Worker "-mfma", 1218*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1219*da0073e9SAndroid Build Coastguard Worker ], 1220*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_FMA3_MICROKERNEL_SRCS, 1221*da0073e9SAndroid Build Coastguard Worker deps = [ 1222*da0073e9SAndroid Build Coastguard Worker ":interface", 1223*da0073e9SAndroid Build Coastguard Worker ], 1224*da0073e9SAndroid Build Coastguard Worker ) 1225*da0073e9SAndroid Build Coastguard Worker 1226*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1227*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx2", 1228*da0073e9SAndroid Build Coastguard Worker srcs = PROD_AVX2_MICROKERNEL_SRCS if is_arvr_mode() else [], 1229*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1230*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1231*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1232*da0073e9SAndroid Build Coastguard Worker ]), 1233*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1234*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1235*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1236*da0073e9SAndroid Build Coastguard Worker "-O2", 1237*da0073e9SAndroid Build Coastguard Worker ] + select({ 1238*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1239*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_32": [ 1240*da0073e9SAndroid Build Coastguard Worker "-mavx2", 1241*da0073e9SAndroid Build Coastguard Worker "-mfma", 1242*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1243*da0073e9SAndroid Build Coastguard Worker ], 1244*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_64": [ 1245*da0073e9SAndroid Build Coastguard Worker "-mavx2", 1246*da0073e9SAndroid Build Coastguard Worker "-mfma", 1247*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1248*da0073e9SAndroid Build Coastguard Worker ], 1249*da0073e9SAndroid Build Coastguard Worker }), 1250*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1251*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1252*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1253*da0073e9SAndroid Build Coastguard Worker ], 1254*da0073e9SAndroid Build Coastguard Worker labels = labels, 1255*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1256*da0073e9SAndroid Build Coastguard Worker ( 1257*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 1258*da0073e9SAndroid Build Coastguard Worker [ 1259*da0073e9SAndroid Build Coastguard Worker "-mavx2", 1260*da0073e9SAndroid Build Coastguard Worker "-mfma", 1261*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1262*da0073e9SAndroid Build Coastguard Worker ], 1263*da0073e9SAndroid Build Coastguard Worker ), 1264*da0073e9SAndroid Build Coastguard Worker ], 1265*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 1266*da0073e9SAndroid Build Coastguard Worker ( 1267*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 1268*da0073e9SAndroid Build Coastguard Worker PROD_AVX2_MICROKERNEL_SRCS, 1269*da0073e9SAndroid Build Coastguard Worker ), 1270*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 1271*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1272*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1273*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1274*da0073e9SAndroid Build Coastguard Worker ], 1275*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1276*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + [ 1277*da0073e9SAndroid Build Coastguard Worker "-mavx2", 1278*da0073e9SAndroid Build Coastguard Worker "-mfma", 1279*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1280*da0073e9SAndroid Build Coastguard Worker ], 1281*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + [ 1282*da0073e9SAndroid Build Coastguard Worker "-mavx2", 1283*da0073e9SAndroid Build Coastguard Worker "-mfma", 1284*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1285*da0073e9SAndroid Build Coastguard Worker ], 1286*da0073e9SAndroid Build Coastguard Worker deps = [ 1287*da0073e9SAndroid Build Coastguard Worker ":interface", 1288*da0073e9SAndroid Build Coastguard Worker ], 1289*da0073e9SAndroid Build Coastguard Worker ) 1290*da0073e9SAndroid Build Coastguard Worker 1291*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1292*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx2_ovr_win32", 1293*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1294*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1295*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1296*da0073e9SAndroid Build Coastguard Worker ]), 1297*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1298*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1299*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1300*da0073e9SAndroid Build Coastguard Worker "-O2", 1301*da0073e9SAndroid Build Coastguard Worker "-mavx2", 1302*da0073e9SAndroid Build Coastguard Worker "-mfma", 1303*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1304*da0073e9SAndroid Build Coastguard Worker ], 1305*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1306*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1307*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1308*da0073e9SAndroid Build Coastguard Worker ], 1309*da0073e9SAndroid Build Coastguard Worker labels = labels, 1310*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1311*da0073e9SAndroid Build Coastguard Worker ( 1312*da0073e9SAndroid Build Coastguard Worker "x86", 1313*da0073e9SAndroid Build Coastguard Worker [ 1314*da0073e9SAndroid Build Coastguard Worker "-mavx2", 1315*da0073e9SAndroid Build Coastguard Worker "-mfma", 1316*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1317*da0073e9SAndroid Build Coastguard Worker ], 1318*da0073e9SAndroid Build Coastguard Worker ), 1319*da0073e9SAndroid Build Coastguard Worker ], 1320*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1321*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1322*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1323*da0073e9SAndroid Build Coastguard Worker ], 1324*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1325*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + [ 1326*da0073e9SAndroid Build Coastguard Worker "-mavx2", 1327*da0073e9SAndroid Build Coastguard Worker "-mfma", 1328*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1329*da0073e9SAndroid Build Coastguard Worker ], 1330*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + [ 1331*da0073e9SAndroid Build Coastguard Worker "-mavx2", 1332*da0073e9SAndroid Build Coastguard Worker "-mfma", 1333*da0073e9SAndroid Build Coastguard Worker "-mf16c", 1334*da0073e9SAndroid Build Coastguard Worker ], 1335*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_AVX2_MICROKERNEL_SRCS, 1336*da0073e9SAndroid Build Coastguard Worker deps = [ 1337*da0073e9SAndroid Build Coastguard Worker ":interface", 1338*da0073e9SAndroid Build Coastguard Worker ], 1339*da0073e9SAndroid Build Coastguard Worker ) 1340*da0073e9SAndroid Build Coastguard Worker 1341*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1342*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx512", 1343*da0073e9SAndroid Build Coastguard Worker srcs = PROD_AVX512F_MICROKERNEL_SRCS if is_arvr_mode() else [], 1344*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1345*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1346*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1347*da0073e9SAndroid Build Coastguard Worker ]), 1348*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1349*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1350*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1351*da0073e9SAndroid Build Coastguard Worker "-O2", 1352*da0073e9SAndroid Build Coastguard Worker ] + select({ 1353*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1354*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_32": [ 1355*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1356*da0073e9SAndroid Build Coastguard Worker ], 1357*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_64": [ 1358*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1359*da0073e9SAndroid Build Coastguard Worker ], 1360*da0073e9SAndroid Build Coastguard Worker }), 1361*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1362*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1363*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1364*da0073e9SAndroid Build Coastguard Worker ], 1365*da0073e9SAndroid Build Coastguard Worker labels = labels, 1366*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1367*da0073e9SAndroid Build Coastguard Worker ( 1368*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 1369*da0073e9SAndroid Build Coastguard Worker [ 1370*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1371*da0073e9SAndroid Build Coastguard Worker ], 1372*da0073e9SAndroid Build Coastguard Worker ), 1373*da0073e9SAndroid Build Coastguard Worker ], 1374*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 1375*da0073e9SAndroid Build Coastguard Worker ( 1376*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 1377*da0073e9SAndroid Build Coastguard Worker PROD_AVX512F_MICROKERNEL_SRCS, 1378*da0073e9SAndroid Build Coastguard Worker ), 1379*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 1380*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1381*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1382*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1383*da0073e9SAndroid Build Coastguard Worker ], 1384*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1385*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mavx512f"], 1386*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mavx512f"], 1387*da0073e9SAndroid Build Coastguard Worker deps = [ 1388*da0073e9SAndroid Build Coastguard Worker ":interface", 1389*da0073e9SAndroid Build Coastguard Worker ], 1390*da0073e9SAndroid Build Coastguard Worker ) 1391*da0073e9SAndroid Build Coastguard Worker 1392*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1393*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx512vbmi", 1394*da0073e9SAndroid Build Coastguard Worker srcs = PROD_AVX512VBMI_MICROKERNEL_SRCS if is_arvr_mode() else [], 1395*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1396*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1397*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1398*da0073e9SAndroid Build Coastguard Worker ]), 1399*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1400*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1401*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1402*da0073e9SAndroid Build Coastguard Worker "-O2", 1403*da0073e9SAndroid Build Coastguard Worker ] + select({ 1404*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1405*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_32": [ 1406*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1407*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1408*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1409*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1410*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1411*da0073e9SAndroid Build Coastguard Worker "-mavx512vbmi", 1412*da0073e9SAndroid Build Coastguard Worker ], 1413*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_64": [ 1414*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1415*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1416*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1417*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1418*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1419*da0073e9SAndroid Build Coastguard Worker "-mavx512vbmi", 1420*da0073e9SAndroid Build Coastguard Worker ], 1421*da0073e9SAndroid Build Coastguard Worker }), 1422*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1423*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1424*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1425*da0073e9SAndroid Build Coastguard Worker ], 1426*da0073e9SAndroid Build Coastguard Worker labels = labels, 1427*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1428*da0073e9SAndroid Build Coastguard Worker ( 1429*da0073e9SAndroid Build Coastguard Worker "(i[3-6]86|x86|x86_64|AMD64)", 1430*da0073e9SAndroid Build Coastguard Worker [ 1431*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1432*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1433*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1434*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1435*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1436*da0073e9SAndroid Build Coastguard Worker "-mavx512vbmi", 1437*da0073e9SAndroid Build Coastguard Worker ], 1438*da0073e9SAndroid Build Coastguard Worker ), 1439*da0073e9SAndroid Build Coastguard Worker ], 1440*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 1441*da0073e9SAndroid Build Coastguard Worker ( 1442*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 1443*da0073e9SAndroid Build Coastguard Worker PROD_AVX512VBMI_MICROKERNEL_SRCS, 1444*da0073e9SAndroid Build Coastguard Worker ), 1445*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 1446*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1447*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1448*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1449*da0073e9SAndroid Build Coastguard Worker ], 1450*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1451*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + [ 1452*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1453*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1454*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1455*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1456*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1457*da0073e9SAndroid Build Coastguard Worker "-mavx512vbmi", 1458*da0073e9SAndroid Build Coastguard Worker ], 1459*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + [ 1460*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1461*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1462*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1463*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1464*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1465*da0073e9SAndroid Build Coastguard Worker "-mavx512vbmi", 1466*da0073e9SAndroid Build Coastguard Worker ], 1467*da0073e9SAndroid Build Coastguard Worker deps = [ 1468*da0073e9SAndroid Build Coastguard Worker ":interface", 1469*da0073e9SAndroid Build Coastguard Worker ], 1470*da0073e9SAndroid Build Coastguard Worker ) 1471*da0073e9SAndroid Build Coastguard Worker 1472*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1473*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx512_ovr_win32", 1474*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1475*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1476*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1477*da0073e9SAndroid Build Coastguard Worker ]), 1478*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1479*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1480*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1481*da0073e9SAndroid Build Coastguard Worker "-O2", 1482*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1483*da0073e9SAndroid Build Coastguard Worker ], 1484*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1485*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1486*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1487*da0073e9SAndroid Build Coastguard Worker ], 1488*da0073e9SAndroid Build Coastguard Worker labels = labels, 1489*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1490*da0073e9SAndroid Build Coastguard Worker ( 1491*da0073e9SAndroid Build Coastguard Worker "x86", 1492*da0073e9SAndroid Build Coastguard Worker [ 1493*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1494*da0073e9SAndroid Build Coastguard Worker ], 1495*da0073e9SAndroid Build Coastguard Worker ), 1496*da0073e9SAndroid Build Coastguard Worker ], 1497*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1498*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1499*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1500*da0073e9SAndroid Build Coastguard Worker ], 1501*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1502*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + ["-mavx512f"], 1503*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + ["-mavx512f"], 1504*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_AVX512F_MICROKERNEL_SRCS, 1505*da0073e9SAndroid Build Coastguard Worker deps = [ 1506*da0073e9SAndroid Build Coastguard Worker ":interface", 1507*da0073e9SAndroid Build Coastguard Worker ], 1508*da0073e9SAndroid Build Coastguard Worker ) 1509*da0073e9SAndroid Build Coastguard Worker 1510*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1511*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx512skx", 1512*da0073e9SAndroid Build Coastguard Worker srcs = PROD_AVX512SKX_MICROKERNEL_SRCS if is_arvr_mode() else [], 1513*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1514*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1515*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1516*da0073e9SAndroid Build Coastguard Worker ]), 1517*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1518*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1519*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1520*da0073e9SAndroid Build Coastguard Worker "-O2", 1521*da0073e9SAndroid Build Coastguard Worker ] + select({ 1522*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1523*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_32": [ 1524*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1525*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1526*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1527*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1528*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1529*da0073e9SAndroid Build Coastguard Worker ], 1530*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:x86_64": [ 1531*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1532*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1533*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1534*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1535*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1536*da0073e9SAndroid Build Coastguard Worker ], 1537*da0073e9SAndroid Build Coastguard Worker }), 1538*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1539*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1540*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1541*da0073e9SAndroid Build Coastguard Worker ], 1542*da0073e9SAndroid Build Coastguard Worker labels = labels, 1543*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1544*da0073e9SAndroid Build Coastguard Worker ( 1545*da0073e9SAndroid Build Coastguard Worker "(i[3-6]86|x86|x86_64|AMD64)", 1546*da0073e9SAndroid Build Coastguard Worker [ 1547*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1548*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1549*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1550*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1551*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1552*da0073e9SAndroid Build Coastguard Worker ], 1553*da0073e9SAndroid Build Coastguard Worker ), 1554*da0073e9SAndroid Build Coastguard Worker ], 1555*da0073e9SAndroid Build Coastguard Worker platform_srcs = ([ 1556*da0073e9SAndroid Build Coastguard Worker ( 1557*da0073e9SAndroid Build Coastguard Worker "x86|x86_64|platform009|platform010", 1558*da0073e9SAndroid Build Coastguard Worker PROD_AVX512SKX_MICROKERNEL_SRCS, 1559*da0073e9SAndroid Build Coastguard Worker ), 1560*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else []), 1561*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1562*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1563*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1564*da0073e9SAndroid Build Coastguard Worker ], 1565*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1566*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + [ 1567*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1568*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1569*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1570*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1571*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1572*da0073e9SAndroid Build Coastguard Worker ], 1573*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + [ 1574*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1575*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1576*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1577*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1578*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1579*da0073e9SAndroid Build Coastguard Worker ], 1580*da0073e9SAndroid Build Coastguard Worker deps = [ 1581*da0073e9SAndroid Build Coastguard Worker ":interface", 1582*da0073e9SAndroid Build Coastguard Worker ], 1583*da0073e9SAndroid Build Coastguard Worker ) 1584*da0073e9SAndroid Build Coastguard Worker 1585*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1586*da0073e9SAndroid Build Coastguard Worker name = "ukernels_avx512skx_ovr_win32", 1587*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1588*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1589*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1590*da0073e9SAndroid Build Coastguard Worker ]), 1591*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1592*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1593*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1594*da0073e9SAndroid Build Coastguard Worker "-O2", 1595*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1596*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1597*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1598*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1599*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1600*da0073e9SAndroid Build Coastguard Worker ], 1601*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1602*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1603*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1604*da0073e9SAndroid Build Coastguard Worker ], 1605*da0073e9SAndroid Build Coastguard Worker labels = labels, 1606*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1607*da0073e9SAndroid Build Coastguard Worker ( 1608*da0073e9SAndroid Build Coastguard Worker "^(i[3-6]86|x86|x86_64|AMD64)$", 1609*da0073e9SAndroid Build Coastguard Worker [ 1610*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1611*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1612*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1613*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1614*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1615*da0073e9SAndroid Build Coastguard Worker ], 1616*da0073e9SAndroid Build Coastguard Worker ), 1617*da0073e9SAndroid Build Coastguard Worker ], 1618*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1619*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1620*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1621*da0073e9SAndroid Build Coastguard Worker ], 1622*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1623*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS + [ 1624*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1625*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1626*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1627*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1628*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1629*da0073e9SAndroid Build Coastguard Worker ], 1630*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS + [ 1631*da0073e9SAndroid Build Coastguard Worker "-mavx512f", 1632*da0073e9SAndroid Build Coastguard Worker "-mavx512cd", 1633*da0073e9SAndroid Build Coastguard Worker "-mavx512bw", 1634*da0073e9SAndroid Build Coastguard Worker "-mavx512dq", 1635*da0073e9SAndroid Build Coastguard Worker "-mavx512vl", 1636*da0073e9SAndroid Build Coastguard Worker ], 1637*da0073e9SAndroid Build Coastguard Worker windows_srcs = PROD_AVX512SKX_MICROKERNEL_SRCS, 1638*da0073e9SAndroid Build Coastguard Worker deps = [ 1639*da0073e9SAndroid Build Coastguard Worker ":interface", 1640*da0073e9SAndroid Build Coastguard Worker ], 1641*da0073e9SAndroid Build Coastguard Worker ) 1642*da0073e9SAndroid Build Coastguard Worker 1643*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1644*da0073e9SAndroid Build Coastguard Worker name = "ukernels_armsimd32", 1645*da0073e9SAndroid Build Coastguard Worker srcs = PROD_ARMSIMD32_MICROKERNEL_SRCS, 1646*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1647*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1648*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1649*da0073e9SAndroid Build Coastguard Worker ]), 1650*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1651*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1652*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1653*da0073e9SAndroid Build Coastguard Worker "-O2", 1654*da0073e9SAndroid Build Coastguard Worker "-fno-fast-math", 1655*da0073e9SAndroid Build Coastguard Worker "-fno-math-errno", 1656*da0073e9SAndroid Build Coastguard Worker ], 1657*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1658*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1659*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1660*da0073e9SAndroid Build Coastguard Worker ], 1661*da0073e9SAndroid Build Coastguard Worker labels = labels, 1662*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1663*da0073e9SAndroid Build Coastguard Worker ( 1664*da0073e9SAndroid Build Coastguard Worker "(arm32|aarch32|armv7)", 1665*da0073e9SAndroid Build Coastguard Worker [ 1666*da0073e9SAndroid Build Coastguard Worker "-marm", 1667*da0073e9SAndroid Build Coastguard Worker "-march=armv6", 1668*da0073e9SAndroid Build Coastguard Worker "-mfpu=vfp", 1669*da0073e9SAndroid Build Coastguard Worker "-munaligned-access", 1670*da0073e9SAndroid Build Coastguard Worker ], 1671*da0073e9SAndroid Build Coastguard Worker ), 1672*da0073e9SAndroid Build Coastguard Worker ], 1673*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1674*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1675*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1676*da0073e9SAndroid Build Coastguard Worker ], 1677*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1678*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 1679*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 1680*da0073e9SAndroid Build Coastguard Worker deps = [ 1681*da0073e9SAndroid Build Coastguard Worker ":interface", 1682*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 1683*da0073e9SAndroid Build Coastguard Worker ], 1684*da0073e9SAndroid Build Coastguard Worker ) 1685*da0073e9SAndroid Build Coastguard Worker 1686*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1687*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neon", 1688*da0073e9SAndroid Build Coastguard Worker srcs = select({ 1689*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1690*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": PROD_NEON_MICROKERNEL_SRCS, 1691*da0073e9SAndroid Build Coastguard Worker }) if is_arvr_mode() else [], 1692*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1693*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1694*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1695*da0073e9SAndroid Build Coastguard Worker ]), 1696*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1697*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1698*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1699*da0073e9SAndroid Build Coastguard Worker "-O2", 1700*da0073e9SAndroid Build Coastguard Worker ] + select({ 1701*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1702*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": [ 1703*da0073e9SAndroid Build Coastguard Worker "-marm", 1704*da0073e9SAndroid Build Coastguard Worker "-march=armv7-a", 1705*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon", 1706*da0073e9SAndroid Build Coastguard Worker ], 1707*da0073e9SAndroid Build Coastguard Worker }), 1708*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1709*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1710*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1711*da0073e9SAndroid Build Coastguard Worker ], 1712*da0073e9SAndroid Build Coastguard Worker labels = labels, 1713*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1714*da0073e9SAndroid Build Coastguard Worker ( 1715*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 1716*da0073e9SAndroid Build Coastguard Worker [ 1717*da0073e9SAndroid Build Coastguard Worker "-marm", 1718*da0073e9SAndroid Build Coastguard Worker "-march=armv7-a", 1719*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon", 1720*da0073e9SAndroid Build Coastguard Worker ], 1721*da0073e9SAndroid Build Coastguard Worker ), 1722*da0073e9SAndroid Build Coastguard Worker ], 1723*da0073e9SAndroid Build Coastguard Worker platform_srcs = [ 1724*da0073e9SAndroid Build Coastguard Worker ( 1725*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 1726*da0073e9SAndroid Build Coastguard Worker PROD_NEON_MICROKERNEL_SRCS, 1727*da0073e9SAndroid Build Coastguard Worker ), 1728*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else [], 1729*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1730*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1731*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1732*da0073e9SAndroid Build Coastguard Worker ], 1733*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1734*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 1735*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 1736*da0073e9SAndroid Build Coastguard Worker deps = [ 1737*da0073e9SAndroid Build Coastguard Worker ":interface", 1738*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 1739*da0073e9SAndroid Build Coastguard Worker ], 1740*da0073e9SAndroid Build Coastguard Worker ) 1741*da0073e9SAndroid Build Coastguard Worker 1742*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1743*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neon_aarch64", 1744*da0073e9SAndroid Build Coastguard Worker srcs = select({ 1745*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1746*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm64": PROD_NEON_MICROKERNEL_SRCS + [PROD_NEON_AARCH64_MICROKERNEL_SRCS[0]], 1747*da0073e9SAndroid Build Coastguard Worker }) if is_arvr_mode() else [], 1748*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1749*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1750*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1751*da0073e9SAndroid Build Coastguard Worker ]), 1752*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1753*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1754*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1755*da0073e9SAndroid Build Coastguard Worker "-O2", 1756*da0073e9SAndroid Build Coastguard Worker ], 1757*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1758*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1759*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1760*da0073e9SAndroid Build Coastguard Worker ], 1761*da0073e9SAndroid Build Coastguard Worker platform_srcs = [ 1762*da0073e9SAndroid Build Coastguard Worker ( 1763*da0073e9SAndroid Build Coastguard Worker "(aarch64|arm64)", 1764*da0073e9SAndroid Build Coastguard Worker PROD_NEON_MICROKERNEL_SRCS + [PROD_NEON_AARCH64_MICROKERNEL_SRCS[0]], 1765*da0073e9SAndroid Build Coastguard Worker ), 1766*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else [], 1767*da0073e9SAndroid Build Coastguard Worker labels = labels, 1768*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1769*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1770*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1771*da0073e9SAndroid Build Coastguard Worker ], 1772*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1773*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 1774*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 1775*da0073e9SAndroid Build Coastguard Worker deps = [ 1776*da0073e9SAndroid Build Coastguard Worker ":interface", 1777*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 1778*da0073e9SAndroid Build Coastguard Worker ], 1779*da0073e9SAndroid Build Coastguard Worker ) 1780*da0073e9SAndroid Build Coastguard Worker 1781*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1782*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neon_fma", 1783*da0073e9SAndroid Build Coastguard Worker srcs = select({ 1784*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1785*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": PROD_NEONFMA_MICROKERNEL_SRCS, 1786*da0073e9SAndroid Build Coastguard Worker }) if is_arvr_mode() else [], 1787*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1788*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1789*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1790*da0073e9SAndroid Build Coastguard Worker ]), 1791*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1792*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1793*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1794*da0073e9SAndroid Build Coastguard Worker "-O2", 1795*da0073e9SAndroid Build Coastguard Worker ] + select({ 1796*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1797*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": [ 1798*da0073e9SAndroid Build Coastguard Worker "-marm", 1799*da0073e9SAndroid Build Coastguard Worker "-march=armv7-a", 1800*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-vfpv4", 1801*da0073e9SAndroid Build Coastguard Worker ], 1802*da0073e9SAndroid Build Coastguard Worker }), 1803*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1804*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1805*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1806*da0073e9SAndroid Build Coastguard Worker ], 1807*da0073e9SAndroid Build Coastguard Worker labels = labels, 1808*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1809*da0073e9SAndroid Build Coastguard Worker ( 1810*da0073e9SAndroid Build Coastguard Worker "^iphoneos-armv7$", 1811*da0073e9SAndroid Build Coastguard Worker [ 1812*da0073e9SAndroid Build Coastguard Worker "-mcpu=cyclone", 1813*da0073e9SAndroid Build Coastguard Worker "-mtune=generic", 1814*da0073e9SAndroid Build Coastguard Worker ], 1815*da0073e9SAndroid Build Coastguard Worker ), 1816*da0073e9SAndroid Build Coastguard Worker ( 1817*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 1818*da0073e9SAndroid Build Coastguard Worker [ 1819*da0073e9SAndroid Build Coastguard Worker "-marm", 1820*da0073e9SAndroid Build Coastguard Worker "-march=armv7-a", 1821*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-vfpv4", 1822*da0073e9SAndroid Build Coastguard Worker ], 1823*da0073e9SAndroid Build Coastguard Worker ), 1824*da0073e9SAndroid Build Coastguard Worker ], 1825*da0073e9SAndroid Build Coastguard Worker platform_srcs = [ 1826*da0073e9SAndroid Build Coastguard Worker ( 1827*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 1828*da0073e9SAndroid Build Coastguard Worker PROD_NEONFMA_MICROKERNEL_SRCS, 1829*da0073e9SAndroid Build Coastguard Worker ), 1830*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else [], 1831*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1832*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1833*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1834*da0073e9SAndroid Build Coastguard Worker ], 1835*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1836*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 1837*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 1838*da0073e9SAndroid Build Coastguard Worker deps = [ 1839*da0073e9SAndroid Build Coastguard Worker ":interface", 1840*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 1841*da0073e9SAndroid Build Coastguard Worker ], 1842*da0073e9SAndroid Build Coastguard Worker ) 1843*da0073e9SAndroid Build Coastguard Worker 1844*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1845*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neonfma_aarch64", 1846*da0073e9SAndroid Build Coastguard Worker srcs = select({ 1847*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1848*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm64": PROD_NEONFMA_MICROKERNEL_SRCS + [PROD_NEON_AARCH64_MICROKERNEL_SRCS[1]], 1849*da0073e9SAndroid Build Coastguard Worker }) if is_arvr_mode() else [], 1850*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1851*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1852*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1853*da0073e9SAndroid Build Coastguard Worker ]), 1854*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1855*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1856*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1857*da0073e9SAndroid Build Coastguard Worker "-O2", 1858*da0073e9SAndroid Build Coastguard Worker ], 1859*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1860*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1861*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1862*da0073e9SAndroid Build Coastguard Worker ], 1863*da0073e9SAndroid Build Coastguard Worker labels = labels, 1864*da0073e9SAndroid Build Coastguard Worker platform_srcs = [ 1865*da0073e9SAndroid Build Coastguard Worker ( 1866*da0073e9SAndroid Build Coastguard Worker "(arm64|aarch64)$", 1867*da0073e9SAndroid Build Coastguard Worker PROD_NEONFMA_MICROKERNEL_SRCS + [PROD_NEON_AARCH64_MICROKERNEL_SRCS[1]], 1868*da0073e9SAndroid Build Coastguard Worker ), 1869*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else [], 1870*da0073e9SAndroid Build Coastguard Worker platforms = (APPLE, ANDROID, CXX, WINDOWS), 1871*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1872*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1873*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1874*da0073e9SAndroid Build Coastguard Worker ], 1875*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1876*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 1877*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 1878*da0073e9SAndroid Build Coastguard Worker deps = [ 1879*da0073e9SAndroid Build Coastguard Worker ":interface", 1880*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 1881*da0073e9SAndroid Build Coastguard Worker ], 1882*da0073e9SAndroid Build Coastguard Worker ) 1883*da0073e9SAndroid Build Coastguard Worker 1884*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1885*da0073e9SAndroid Build Coastguard Worker name = "ukernels_fp16arith", 1886*da0073e9SAndroid Build Coastguard Worker srcs = PROD_FP16ARITH_MICROKERNEL_SRCS, 1887*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1888*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1889*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1890*da0073e9SAndroid Build Coastguard Worker ]), 1891*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1892*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1893*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1894*da0073e9SAndroid Build Coastguard Worker "-O2", 1895*da0073e9SAndroid Build Coastguard Worker "-Wno-error=missing-braces", # required since the SGX toolchain does not have this by default 1896*da0073e9SAndroid Build Coastguard Worker "-fno-fast-math", 1897*da0073e9SAndroid Build Coastguard Worker "-fno-math-errno", 1898*da0073e9SAndroid Build Coastguard Worker ] + select({ 1899*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1900*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": [ 1901*da0073e9SAndroid Build Coastguard Worker "-marm", 1902*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+fp16", 1903*da0073e9SAndroid Build Coastguard Worker # GCC emits wrong directives for assembler with -mfpu=fp-armv8 1904*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 1905*da0073e9SAndroid Build Coastguard Worker # For vsqrth_f16 polyfill using sqrtf 1906*da0073e9SAndroid Build Coastguard Worker "-fno-math-errno", 1907*da0073e9SAndroid Build Coastguard Worker # For vminh_f16/vmaxh_f16 polyfills using compare + select 1908*da0073e9SAndroid Build Coastguard Worker "-ffinite-math-only", 1909*da0073e9SAndroid Build Coastguard Worker ], 1910*da0073e9SAndroid Build Coastguard Worker }), 1911*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1912*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1913*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1914*da0073e9SAndroid Build Coastguard Worker ], 1915*da0073e9SAndroid Build Coastguard Worker labels = labels, 1916*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1917*da0073e9SAndroid Build Coastguard Worker ( 1918*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 1919*da0073e9SAndroid Build Coastguard Worker [ 1920*da0073e9SAndroid Build Coastguard Worker "-marm", 1921*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+fp16", 1922*da0073e9SAndroid Build Coastguard Worker # GCC emits wrong directives for assembler with -mfpu=fp-armv8 1923*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 1924*da0073e9SAndroid Build Coastguard Worker # For vsqrth_f16 polyfill using sqrtf 1925*da0073e9SAndroid Build Coastguard Worker "-fno-math-errno", 1926*da0073e9SAndroid Build Coastguard Worker # For vminh_f16/vmaxh_f16 polyfills using compare + select 1927*da0073e9SAndroid Build Coastguard Worker "-ffinite-math-only", 1928*da0073e9SAndroid Build Coastguard Worker ], 1929*da0073e9SAndroid Build Coastguard Worker ), 1930*da0073e9SAndroid Build Coastguard Worker ], 1931*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1932*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1933*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1934*da0073e9SAndroid Build Coastguard Worker ], 1935*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1936*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 1937*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 1938*da0073e9SAndroid Build Coastguard Worker deps = [ 1939*da0073e9SAndroid Build Coastguard Worker ":interface", 1940*da0073e9SAndroid Build Coastguard Worker ], 1941*da0073e9SAndroid Build Coastguard Worker ) 1942*da0073e9SAndroid Build Coastguard Worker 1943*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1944*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neon_fp16", 1945*da0073e9SAndroid Build Coastguard Worker srcs = PROD_NEONFP16_MICROKERNEL_SRCS, 1946*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1947*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1948*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1949*da0073e9SAndroid Build Coastguard Worker ]), 1950*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1951*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1952*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1953*da0073e9SAndroid Build Coastguard Worker "-O2", 1954*da0073e9SAndroid Build Coastguard Worker ] + select({ 1955*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 1956*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": [ 1957*da0073e9SAndroid Build Coastguard Worker "-marm", 1958*da0073e9SAndroid Build Coastguard Worker "-march=armv7-a", 1959*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp16", 1960*da0073e9SAndroid Build Coastguard Worker ], 1961*da0073e9SAndroid Build Coastguard Worker }), 1962*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 1963*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 1964*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 1965*da0073e9SAndroid Build Coastguard Worker ], 1966*da0073e9SAndroid Build Coastguard Worker labels = labels, 1967*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 1968*da0073e9SAndroid Build Coastguard Worker ( 1969*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 1970*da0073e9SAndroid Build Coastguard Worker [ 1971*da0073e9SAndroid Build Coastguard Worker "-marm", 1972*da0073e9SAndroid Build Coastguard Worker "-march=armv7-a", 1973*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp16", 1974*da0073e9SAndroid Build Coastguard Worker ], 1975*da0073e9SAndroid Build Coastguard Worker ), 1976*da0073e9SAndroid Build Coastguard Worker ], 1977*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 1978*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 1979*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 1980*da0073e9SAndroid Build Coastguard Worker ], 1981*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 1982*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 1983*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 1984*da0073e9SAndroid Build Coastguard Worker deps = [ 1985*da0073e9SAndroid Build Coastguard Worker ":interface", 1986*da0073e9SAndroid Build Coastguard Worker ], 1987*da0073e9SAndroid Build Coastguard Worker ) 1988*da0073e9SAndroid Build Coastguard Worker 1989*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 1990*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neon_v8", 1991*da0073e9SAndroid Build Coastguard Worker srcs = PROD_NEONV8_MICROKERNEL_SRCS, 1992*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 1993*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 1994*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 1995*da0073e9SAndroid Build Coastguard Worker ]), 1996*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 1997*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 1998*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 1999*da0073e9SAndroid Build Coastguard Worker "-O2", 2000*da0073e9SAndroid Build Coastguard Worker ] + select({ 2001*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2002*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm64": ["-march=armv8-a"], 2003*da0073e9SAndroid Build Coastguard Worker }), 2004*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 2005*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 2006*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 2007*da0073e9SAndroid Build Coastguard Worker ], 2008*da0073e9SAndroid Build Coastguard Worker labels = labels, 2009*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 2010*da0073e9SAndroid Build Coastguard Worker ( 2011*da0073e9SAndroid Build Coastguard Worker "(aarch64|arm64)", 2012*da0073e9SAndroid Build Coastguard Worker [ 2013*da0073e9SAndroid Build Coastguard Worker "-march=armv8-a", 2014*da0073e9SAndroid Build Coastguard Worker ], 2015*da0073e9SAndroid Build Coastguard Worker ), 2016*da0073e9SAndroid Build Coastguard Worker ( 2017*da0073e9SAndroid Build Coastguard Worker "^android-armv7$", 2018*da0073e9SAndroid Build Coastguard Worker [ 2019*da0073e9SAndroid Build Coastguard Worker "-march=armv8-a", 2020*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 2021*da0073e9SAndroid Build Coastguard Worker "-mfloat-abi=softfp", 2022*da0073e9SAndroid Build Coastguard Worker ], 2023*da0073e9SAndroid Build Coastguard Worker ), 2024*da0073e9SAndroid Build Coastguard Worker ( 2025*da0073e9SAndroid Build Coastguard Worker "^iphoneos-armv7$", 2026*da0073e9SAndroid Build Coastguard Worker [ 2027*da0073e9SAndroid Build Coastguard Worker "-mcpu=cyclone", 2028*da0073e9SAndroid Build Coastguard Worker "-mtune=generic", 2029*da0073e9SAndroid Build Coastguard Worker ], 2030*da0073e9SAndroid Build Coastguard Worker ), 2031*da0073e9SAndroid Build Coastguard Worker ], 2032*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2033*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 2034*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 2035*da0073e9SAndroid Build Coastguard Worker ], 2036*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2037*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 2038*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 2039*da0073e9SAndroid Build Coastguard Worker deps = [ 2040*da0073e9SAndroid Build Coastguard Worker ":interface", 2041*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 2042*da0073e9SAndroid Build Coastguard Worker ], 2043*da0073e9SAndroid Build Coastguard Worker ) 2044*da0073e9SAndroid Build Coastguard Worker 2045*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2046*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neon_dot", 2047*da0073e9SAndroid Build Coastguard Worker srcs = select({ 2048*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2049*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": PROD_NEONDOT_MICROKERNEL_SRCS, 2050*da0073e9SAndroid Build Coastguard Worker }) if is_arvr_mode() else [], 2051*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 2052*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 2053*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 2054*da0073e9SAndroid Build Coastguard Worker ]), 2055*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 2056*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2057*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 2058*da0073e9SAndroid Build Coastguard Worker "-O2", 2059*da0073e9SAndroid Build Coastguard Worker ] + select({ 2060*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2061*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": [ 2062*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+dotprod", 2063*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 2064*da0073e9SAndroid Build Coastguard Worker "-mfloat-abi=softfp", 2065*da0073e9SAndroid Build Coastguard Worker ], 2066*da0073e9SAndroid Build Coastguard Worker }), 2067*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 2068*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 2069*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 2070*da0073e9SAndroid Build Coastguard Worker ], 2071*da0073e9SAndroid Build Coastguard Worker labels = labels, 2072*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 2073*da0073e9SAndroid Build Coastguard Worker ( 2074*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 2075*da0073e9SAndroid Build Coastguard Worker [ 2076*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+dotprod", 2077*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 2078*da0073e9SAndroid Build Coastguard Worker "-mfloat-abi=softfp", 2079*da0073e9SAndroid Build Coastguard Worker ], 2080*da0073e9SAndroid Build Coastguard Worker ), 2081*da0073e9SAndroid Build Coastguard Worker ], 2082*da0073e9SAndroid Build Coastguard Worker platform_srcs = [ 2083*da0073e9SAndroid Build Coastguard Worker ( 2084*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 2085*da0073e9SAndroid Build Coastguard Worker PROD_NEONDOT_MICROKERNEL_SRCS, 2086*da0073e9SAndroid Build Coastguard Worker ), 2087*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else [], 2088*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2089*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 2090*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 2091*da0073e9SAndroid Build Coastguard Worker ], 2092*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2093*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 2094*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 2095*da0073e9SAndroid Build Coastguard Worker deps = [ 2096*da0073e9SAndroid Build Coastguard Worker ":interface", 2097*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 2098*da0073e9SAndroid Build Coastguard Worker ], 2099*da0073e9SAndroid Build Coastguard Worker ) 2100*da0073e9SAndroid Build Coastguard Worker 2101*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2102*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neon_dot_aarch64", 2103*da0073e9SAndroid Build Coastguard Worker srcs = select({ 2104*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2105*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm64": PROD_NEONDOT_MICROKERNEL_SRCS + PROD_NEONDOT_AARCH64_MICROKERNEL_SRCS, 2106*da0073e9SAndroid Build Coastguard Worker }) if is_arvr_mode() else [], 2107*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 2108*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 2109*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 2110*da0073e9SAndroid Build Coastguard Worker ]), 2111*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 2112*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2113*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 2114*da0073e9SAndroid Build Coastguard Worker "-O2", 2115*da0073e9SAndroid Build Coastguard Worker ] + select({ 2116*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2117*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm64": ["-march=armv8.2-a+dotprod"], 2118*da0073e9SAndroid Build Coastguard Worker }), 2119*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 2120*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 2121*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 2122*da0073e9SAndroid Build Coastguard Worker ], 2123*da0073e9SAndroid Build Coastguard Worker labels = labels, 2124*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 2125*da0073e9SAndroid Build Coastguard Worker ( 2126*da0073e9SAndroid Build Coastguard Worker "(aarch64|arm64)", 2127*da0073e9SAndroid Build Coastguard Worker [ 2128*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+dotprod", 2129*da0073e9SAndroid Build Coastguard Worker ], 2130*da0073e9SAndroid Build Coastguard Worker ), 2131*da0073e9SAndroid Build Coastguard Worker ], 2132*da0073e9SAndroid Build Coastguard Worker platform_srcs = [ 2133*da0073e9SAndroid Build Coastguard Worker ( 2134*da0073e9SAndroid Build Coastguard Worker "(aarch64|arm64)", 2135*da0073e9SAndroid Build Coastguard Worker PROD_NEONDOT_MICROKERNEL_SRCS + PROD_NEONDOT_AARCH64_MICROKERNEL_SRCS, 2136*da0073e9SAndroid Build Coastguard Worker ), 2137*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else [], 2138*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2139*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 2140*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 2141*da0073e9SAndroid Build Coastguard Worker ], 2142*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2143*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 2144*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 2145*da0073e9SAndroid Build Coastguard Worker deps = [ 2146*da0073e9SAndroid Build Coastguard Worker ":interface", 2147*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 2148*da0073e9SAndroid Build Coastguard Worker ], 2149*da0073e9SAndroid Build Coastguard Worker ) 2150*da0073e9SAndroid Build Coastguard Worker 2151*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2152*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neon_dot_fp16arith", 2153*da0073e9SAndroid Build Coastguard Worker srcs = select({ 2154*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2155*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": PROD_NEONDOTFP16ARITH_MICROKERNEL_SRCS, 2156*da0073e9SAndroid Build Coastguard Worker }) if is_arvr_mode() else [], 2157*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 2158*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 2159*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 2160*da0073e9SAndroid Build Coastguard Worker ]), 2161*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 2162*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2163*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 2164*da0073e9SAndroid Build Coastguard Worker "-O2", 2165*da0073e9SAndroid Build Coastguard Worker ] + select({ 2166*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2167*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": [ 2168*da0073e9SAndroid Build Coastguard Worker "-marm", 2169*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+dotprod+fp16", 2170*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 2171*da0073e9SAndroid Build Coastguard Worker ], 2172*da0073e9SAndroid Build Coastguard Worker }), 2173*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 2174*da0073e9SAndroid Build Coastguard Worker ( 2175*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 2176*da0073e9SAndroid Build Coastguard Worker [ 2177*da0073e9SAndroid Build Coastguard Worker "-marm", 2178*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+dotprod+fp16", 2179*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 2180*da0073e9SAndroid Build Coastguard Worker ], 2181*da0073e9SAndroid Build Coastguard Worker ), 2182*da0073e9SAndroid Build Coastguard Worker ], 2183*da0073e9SAndroid Build Coastguard Worker platform_srcs = [ 2184*da0073e9SAndroid Build Coastguard Worker ( 2185*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 2186*da0073e9SAndroid Build Coastguard Worker PROD_NEONDOTFP16ARITH_MICROKERNEL_SRCS, 2187*da0073e9SAndroid Build Coastguard Worker ), 2188*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else [], 2189*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 2190*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 2191*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 2192*da0073e9SAndroid Build Coastguard Worker ], 2193*da0073e9SAndroid Build Coastguard Worker labels = labels, 2194*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2195*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 2196*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 2197*da0073e9SAndroid Build Coastguard Worker ], 2198*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2199*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 2200*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 2201*da0073e9SAndroid Build Coastguard Worker deps = [ 2202*da0073e9SAndroid Build Coastguard Worker ":interface", 2203*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 2204*da0073e9SAndroid Build Coastguard Worker ], 2205*da0073e9SAndroid Build Coastguard Worker ) 2206*da0073e9SAndroid Build Coastguard Worker 2207*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2208*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neon_dot_fp16arith_aarch64", 2209*da0073e9SAndroid Build Coastguard Worker srcs = select({ 2210*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2211*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm64": PROD_NEONDOTFP16ARITH_MICROKERNEL_SRCS + PROD_NEONDOTFP16ARITH_AARCH64_MICROKERNEL_SRCS, 2212*da0073e9SAndroid Build Coastguard Worker }) if is_arvr_mode() else [], 2213*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 2214*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 2215*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 2216*da0073e9SAndroid Build Coastguard Worker ]), 2217*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 2218*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2219*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 2220*da0073e9SAndroid Build Coastguard Worker "-O2", 2221*da0073e9SAndroid Build Coastguard Worker ] + select({ 2222*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2223*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm64": [ 2224*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+dotprod+fp16", 2225*da0073e9SAndroid Build Coastguard Worker ], 2226*da0073e9SAndroid Build Coastguard Worker }), 2227*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 2228*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 2229*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 2230*da0073e9SAndroid Build Coastguard Worker ], 2231*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 2232*da0073e9SAndroid Build Coastguard Worker ( 2233*da0073e9SAndroid Build Coastguard Worker "(aarch64|arm64)", 2234*da0073e9SAndroid Build Coastguard Worker [ 2235*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+dotprod+fp16", 2236*da0073e9SAndroid Build Coastguard Worker ], 2237*da0073e9SAndroid Build Coastguard Worker ), 2238*da0073e9SAndroid Build Coastguard Worker ], 2239*da0073e9SAndroid Build Coastguard Worker platform_srcs = [ 2240*da0073e9SAndroid Build Coastguard Worker ( 2241*da0073e9SAndroid Build Coastguard Worker "(aarch64|arm64)", 2242*da0073e9SAndroid Build Coastguard Worker PROD_NEONDOTFP16ARITH_MICROKERNEL_SRCS + PROD_NEONDOTFP16ARITH_AARCH64_MICROKERNEL_SRCS, 2243*da0073e9SAndroid Build Coastguard Worker ), 2244*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else [], 2245*da0073e9SAndroid Build Coastguard Worker labels = labels, 2246*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2247*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 2248*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 2249*da0073e9SAndroid Build Coastguard Worker ], 2250*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2251*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 2252*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 2253*da0073e9SAndroid Build Coastguard Worker deps = [ 2254*da0073e9SAndroid Build Coastguard Worker ":interface", 2255*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 2256*da0073e9SAndroid Build Coastguard Worker ], 2257*da0073e9SAndroid Build Coastguard Worker ) 2258*da0073e9SAndroid Build Coastguard Worker 2259*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2260*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neon_fp16arith", 2261*da0073e9SAndroid Build Coastguard Worker srcs = select({ 2262*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2263*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": PROD_NEONFP16ARITH_MICROKERNEL_SRCS, 2264*da0073e9SAndroid Build Coastguard Worker }) if is_arvr_mode() else [], 2265*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 2266*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 2267*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 2268*da0073e9SAndroid Build Coastguard Worker ]), 2269*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 2270*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2271*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 2272*da0073e9SAndroid Build Coastguard Worker "-O2", 2273*da0073e9SAndroid Build Coastguard Worker ] + select({ 2274*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2275*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": [ 2276*da0073e9SAndroid Build Coastguard Worker "-marm", 2277*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+fp16", 2278*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 2279*da0073e9SAndroid Build Coastguard Worker ], 2280*da0073e9SAndroid Build Coastguard Worker }), 2281*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 2282*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 2283*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 2284*da0073e9SAndroid Build Coastguard Worker ], 2285*da0073e9SAndroid Build Coastguard Worker labels = labels, 2286*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 2287*da0073e9SAndroid Build Coastguard Worker ( 2288*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 2289*da0073e9SAndroid Build Coastguard Worker [ 2290*da0073e9SAndroid Build Coastguard Worker "-marm", 2291*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+fp16", 2292*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 2293*da0073e9SAndroid Build Coastguard Worker ], 2294*da0073e9SAndroid Build Coastguard Worker ), 2295*da0073e9SAndroid Build Coastguard Worker ], 2296*da0073e9SAndroid Build Coastguard Worker platform_srcs = [ 2297*da0073e9SAndroid Build Coastguard Worker ( 2298*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 2299*da0073e9SAndroid Build Coastguard Worker PROD_NEONFP16ARITH_MICROKERNEL_SRCS, 2300*da0073e9SAndroid Build Coastguard Worker ), 2301*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else [], 2302*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2303*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 2304*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 2305*da0073e9SAndroid Build Coastguard Worker ], 2306*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2307*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 2308*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 2309*da0073e9SAndroid Build Coastguard Worker deps = [ 2310*da0073e9SAndroid Build Coastguard Worker ":interface", 2311*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 2312*da0073e9SAndroid Build Coastguard Worker ], 2313*da0073e9SAndroid Build Coastguard Worker ) 2314*da0073e9SAndroid Build Coastguard Worker 2315*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2316*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neon_fp16arith_aarch64", 2317*da0073e9SAndroid Build Coastguard Worker srcs = select({ 2318*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2319*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm64": PROD_NEONFP16ARITH_MICROKERNEL_SRCS + PROD_NEONFP16ARITH_AARCH64_MICROKERNEL_SRCS, 2320*da0073e9SAndroid Build Coastguard Worker }) if is_arvr_mode() else [], 2321*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 2322*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 2323*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 2324*da0073e9SAndroid Build Coastguard Worker ]), 2325*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 2326*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2327*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 2328*da0073e9SAndroid Build Coastguard Worker "-O2", 2329*da0073e9SAndroid Build Coastguard Worker ] + select({ 2330*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2331*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm64": ["-march=armv8.2-a+fp16"], 2332*da0073e9SAndroid Build Coastguard Worker }), 2333*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 2334*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 2335*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 2336*da0073e9SAndroid Build Coastguard Worker ], 2337*da0073e9SAndroid Build Coastguard Worker labels = labels, 2338*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 2339*da0073e9SAndroid Build Coastguard Worker ( 2340*da0073e9SAndroid Build Coastguard Worker "(aarch64|arm64)", 2341*da0073e9SAndroid Build Coastguard Worker [ 2342*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+fp16", 2343*da0073e9SAndroid Build Coastguard Worker ], 2344*da0073e9SAndroid Build Coastguard Worker ), 2345*da0073e9SAndroid Build Coastguard Worker ], 2346*da0073e9SAndroid Build Coastguard Worker platform_srcs = [ 2347*da0073e9SAndroid Build Coastguard Worker ( 2348*da0073e9SAndroid Build Coastguard Worker "(aarch64|arm64)", 2349*da0073e9SAndroid Build Coastguard Worker PROD_NEONFP16ARITH_MICROKERNEL_SRCS + PROD_NEONFP16ARITH_AARCH64_MICROKERNEL_SRCS, 2350*da0073e9SAndroid Build Coastguard Worker ), 2351*da0073e9SAndroid Build Coastguard Worker ] if not is_arvr_mode() else [], 2352*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2353*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 2354*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 2355*da0073e9SAndroid Build Coastguard Worker ], 2356*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2357*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 2358*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 2359*da0073e9SAndroid Build Coastguard Worker deps = [ 2360*da0073e9SAndroid Build Coastguard Worker ":interface", 2361*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 2362*da0073e9SAndroid Build Coastguard Worker ], 2363*da0073e9SAndroid Build Coastguard Worker ) 2364*da0073e9SAndroid Build Coastguard Worker 2365*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2366*da0073e9SAndroid Build Coastguard Worker name = "ukernels_neonfma_i8mm", 2367*da0073e9SAndroid Build Coastguard Worker srcs = PROD_NEONI8MM_MICROKERNEL_SRCS, 2368*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 2369*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 2370*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.c"), 2371*da0073e9SAndroid Build Coastguard Worker ]), 2372*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 2373*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2374*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 2375*da0073e9SAndroid Build Coastguard Worker "-O2", 2376*da0073e9SAndroid Build Coastguard Worker ] + select({ 2377*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2378*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": [ 2379*da0073e9SAndroid Build Coastguard Worker "-marm", 2380*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+i8mm+fp16", 2381*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 2382*da0073e9SAndroid Build Coastguard Worker ], 2383*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm64": [ 2384*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+i8mm+fp16", 2385*da0073e9SAndroid Build Coastguard Worker ], 2386*da0073e9SAndroid Build Coastguard Worker }), 2387*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 2388*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 2389*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 2390*da0073e9SAndroid Build Coastguard Worker ], 2391*da0073e9SAndroid Build Coastguard Worker labels = labels, 2392*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 2393*da0073e9SAndroid Build Coastguard Worker ( 2394*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)$", 2395*da0073e9SAndroid Build Coastguard Worker [ 2396*da0073e9SAndroid Build Coastguard Worker "-marm", 2397*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+i8mm+fp16", 2398*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 2399*da0073e9SAndroid Build Coastguard Worker ], 2400*da0073e9SAndroid Build Coastguard Worker ), 2401*da0073e9SAndroid Build Coastguard Worker ( 2402*da0073e9SAndroid Build Coastguard Worker "(arm64|aarch64)", 2403*da0073e9SAndroid Build Coastguard Worker [ 2404*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+i8mm+fp16", 2405*da0073e9SAndroid Build Coastguard Worker ], 2406*da0073e9SAndroid Build Coastguard Worker ), 2407*da0073e9SAndroid Build Coastguard Worker ], 2408*da0073e9SAndroid Build Coastguard Worker platforms = (APPLE, ANDROID, CXX, WINDOWS), 2409*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2410*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 2411*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 2412*da0073e9SAndroid Build Coastguard Worker ], 2413*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2414*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 2415*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 2416*da0073e9SAndroid Build Coastguard Worker deps = [ 2417*da0073e9SAndroid Build Coastguard Worker ":interface", 2418*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 2419*da0073e9SAndroid Build Coastguard Worker ], 2420*da0073e9SAndroid Build Coastguard Worker ) 2421*da0073e9SAndroid Build Coastguard Worker 2422*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2423*da0073e9SAndroid Build Coastguard Worker name = "ukernels_asm_aarch32", 2424*da0073e9SAndroid Build Coastguard Worker srcs = AARCH32_ASM_MICROKERNEL_SRCS, 2425*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 2426*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "xnnpack/assembly.h"), 2427*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.S"), 2428*da0073e9SAndroid Build Coastguard Worker ]), 2429*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 2430*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2431*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 2432*da0073e9SAndroid Build Coastguard Worker "-O2", 2433*da0073e9SAndroid Build Coastguard Worker ] + select({ 2434*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2435*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm32": [ 2436*da0073e9SAndroid Build Coastguard Worker "-marm", 2437*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+dotprod+fp16", 2438*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 2439*da0073e9SAndroid Build Coastguard Worker ], 2440*da0073e9SAndroid Build Coastguard Worker }), 2441*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 2442*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 2443*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 2444*da0073e9SAndroid Build Coastguard Worker ], 2445*da0073e9SAndroid Build Coastguard Worker labels = labels, 2446*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 2447*da0073e9SAndroid Build Coastguard Worker ( 2448*da0073e9SAndroid Build Coastguard Worker "(aarch32|arm32|armv7)", 2449*da0073e9SAndroid Build Coastguard Worker [ 2450*da0073e9SAndroid Build Coastguard Worker "-marm", 2451*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+dotprod+fp16", 2452*da0073e9SAndroid Build Coastguard Worker "-mfpu=neon-fp-armv8", 2453*da0073e9SAndroid Build Coastguard Worker ], 2454*da0073e9SAndroid Build Coastguard Worker ), 2455*da0073e9SAndroid Build Coastguard Worker ], 2456*da0073e9SAndroid Build Coastguard Worker platforms = (APPLE, ANDROID, CXX, WINDOWS), 2457*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2458*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 2459*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 2460*da0073e9SAndroid Build Coastguard Worker ], 2461*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2462*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 2463*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 2464*da0073e9SAndroid Build Coastguard Worker deps = [ 2465*da0073e9SAndroid Build Coastguard Worker ":interface", 2466*da0073e9SAndroid Build Coastguard Worker ":jit_memory", 2467*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 2468*da0073e9SAndroid Build Coastguard Worker ], 2469*da0073e9SAndroid Build Coastguard Worker ) 2470*da0073e9SAndroid Build Coastguard Worker 2471*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2472*da0073e9SAndroid Build Coastguard Worker name = "ukernels_asm_aarch64", 2473*da0073e9SAndroid Build Coastguard Worker srcs = AARCH64_ASM_MICROKERNEL_SRCS, 2474*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 2475*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "xnnpack/assembly.h"), 2476*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.S"), 2477*da0073e9SAndroid Build Coastguard Worker ]), 2478*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 2479*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2480*da0073e9SAndroid Build Coastguard Worker compiler_flags = [ 2481*da0073e9SAndroid Build Coastguard Worker "-O2", 2482*da0073e9SAndroid Build Coastguard Worker ] + select({ 2483*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [], 2484*da0073e9SAndroid Build Coastguard Worker "ovr_config//cpu:arm64": [ 2485*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+fp16+dotprod", 2486*da0073e9SAndroid Build Coastguard Worker ], 2487*da0073e9SAndroid Build Coastguard Worker }), 2488*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 2489*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 2490*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 2491*da0073e9SAndroid Build Coastguard Worker ], 2492*da0073e9SAndroid Build Coastguard Worker labels = labels, 2493*da0073e9SAndroid Build Coastguard Worker platform_compiler_flags = [ 2494*da0073e9SAndroid Build Coastguard Worker ( 2495*da0073e9SAndroid Build Coastguard Worker "(aarch64|arm64)", 2496*da0073e9SAndroid Build Coastguard Worker [ 2497*da0073e9SAndroid Build Coastguard Worker "-march=armv8.2-a+fp16+dotprod", 2498*da0073e9SAndroid Build Coastguard Worker ], 2499*da0073e9SAndroid Build Coastguard Worker ), 2500*da0073e9SAndroid Build Coastguard Worker ], 2501*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2502*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 2503*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 2504*da0073e9SAndroid Build Coastguard Worker ], 2505*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2506*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS, 2507*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS, 2508*da0073e9SAndroid Build Coastguard Worker deps = [ 2509*da0073e9SAndroid Build Coastguard Worker ":interface", 2510*da0073e9SAndroid Build Coastguard Worker ":jit_memory", 2511*da0073e9SAndroid Build Coastguard Worker third_party("FP16"), 2512*da0073e9SAndroid Build Coastguard Worker ], 2513*da0073e9SAndroid Build Coastguard Worker ) 2514*da0073e9SAndroid Build Coastguard Worker 2515*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2516*da0073e9SAndroid Build Coastguard Worker name = "arm64_lib", 2517*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2518*da0073e9SAndroid Build Coastguard Worker labels = labels, 2519*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2520*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2521*da0073e9SAndroid Build Coastguard Worker deps = [ 2522*da0073e9SAndroid Build Coastguard Worker ":jit_memory", 2523*da0073e9SAndroid Build Coastguard Worker ":ukernels_asm_aarch64", 2524*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon", 2525*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_aarch64", 2526*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_dot_fp16arith", 2527*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_dot_fp16arith_aarch64", 2528*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_dot", 2529*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_dot_aarch64", 2530*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_fma", 2531*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_fp16", 2532*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_fp16arith", 2533*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_fp16arith_aarch64", 2534*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_v8", 2535*da0073e9SAndroid Build Coastguard Worker ":ukernels_neonfma_aarch64", 2536*da0073e9SAndroid Build Coastguard Worker ":ukernels_neonfma_i8mm", 2537*da0073e9SAndroid Build Coastguard Worker ], 2538*da0073e9SAndroid Build Coastguard Worker ) 2539*da0073e9SAndroid Build Coastguard Worker 2540*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2541*da0073e9SAndroid Build Coastguard Worker name = "x86_and_x86_64_lib", 2542*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2543*da0073e9SAndroid Build Coastguard Worker labels = labels, 2544*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2545*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2546*da0073e9SAndroid Build Coastguard Worker deps = [ 2547*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx", 2548*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx2", 2549*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx512", 2550*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx512skx", 2551*da0073e9SAndroid Build Coastguard Worker ":ukernels_f16c", 2552*da0073e9SAndroid Build Coastguard Worker ":ukernels_fma3", 2553*da0073e9SAndroid Build Coastguard Worker ":ukernels_sse", 2554*da0073e9SAndroid Build Coastguard Worker ":ukernels_sse2", 2555*da0073e9SAndroid Build Coastguard Worker ":ukernels_sse41", 2556*da0073e9SAndroid Build Coastguard Worker ":ukernels_ssse3", 2557*da0073e9SAndroid Build Coastguard Worker ":ukernels_xop", 2558*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx512vbmi", 2559*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx512vnni", 2560*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx512vnnigfni", 2561*da0073e9SAndroid Build Coastguard Worker # ":ukernels_avxvnni" Excluding avxvnni microkernels because they fail on older compilers 2562*da0073e9SAndroid Build Coastguard Worker ], 2563*da0073e9SAndroid Build Coastguard Worker ) 2564*da0073e9SAndroid Build Coastguard Worker 2565*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2566*da0073e9SAndroid Build Coastguard Worker name = "x86_and_x86_64_lib_ovr_win32", 2567*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2568*da0073e9SAndroid Build Coastguard Worker labels = labels, 2569*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2570*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2571*da0073e9SAndroid Build Coastguard Worker deps = [ 2572*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx2_ovr_win32", 2573*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx512_ovr_win32", 2574*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx512skx_ovr_win32", 2575*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx_ovr_win32", 2576*da0073e9SAndroid Build Coastguard Worker ":ukernels_f16c_ovr_win32", 2577*da0073e9SAndroid Build Coastguard Worker ":ukernels_fma3_ovr_win32", 2578*da0073e9SAndroid Build Coastguard Worker ":ukernels_sse2_ovr_win32", 2579*da0073e9SAndroid Build Coastguard Worker ":ukernels_sse41_ovr_win32", 2580*da0073e9SAndroid Build Coastguard Worker ":ukernels_sse_ovr_win32", 2581*da0073e9SAndroid Build Coastguard Worker ":ukernels_ssse3_ovr_win32", 2582*da0073e9SAndroid Build Coastguard Worker ":ukernels_xop_ovr_win32", 2583*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx512vbmi", 2584*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx512vnni_ovr_win32", 2585*da0073e9SAndroid Build Coastguard Worker ":ukernels_avx512vnnigfni_ovr_win32", 2586*da0073e9SAndroid Build Coastguard Worker # ":ukernels_avxvnni_ovr_win32" Excluding avxvnni microkernels because they fail on older compilers 2587*da0073e9SAndroid Build Coastguard Worker ], 2588*da0073e9SAndroid Build Coastguard Worker ) 2589*da0073e9SAndroid Build Coastguard Worker 2590*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2591*da0073e9SAndroid Build Coastguard Worker name = "arm_lib", 2592*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2593*da0073e9SAndroid Build Coastguard Worker labels = labels, 2594*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2595*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2596*da0073e9SAndroid Build Coastguard Worker deps = [ 2597*da0073e9SAndroid Build Coastguard Worker ":jit_memory", 2598*da0073e9SAndroid Build Coastguard Worker ":ukernels_armsimd32", 2599*da0073e9SAndroid Build Coastguard Worker ":ukernels_asm_aarch32", 2600*da0073e9SAndroid Build Coastguard Worker ":ukernels_asm_aarch64", 2601*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon", 2602*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_aarch64", 2603*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_dot", 2604*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_dot_aarch64", 2605*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_dot_fp16arith", 2606*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_dot_fp16arith_aarch64", 2607*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_fma", 2608*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_fp16", 2609*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_fp16arith", 2610*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_fp16arith_aarch64", 2611*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_v8", 2612*da0073e9SAndroid Build Coastguard Worker ":ukernels_neonfma_aarch64", 2613*da0073e9SAndroid Build Coastguard Worker ":ukernels_neonfma_i8mm", 2614*da0073e9SAndroid Build Coastguard Worker ":ukernels_fp16arith", 2615*da0073e9SAndroid Build Coastguard Worker ], 2616*da0073e9SAndroid Build Coastguard Worker ) 2617*da0073e9SAndroid Build Coastguard Worker 2618*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2619*da0073e9SAndroid Build Coastguard Worker name = "armv7_lib", 2620*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2621*da0073e9SAndroid Build Coastguard Worker labels = labels, 2622*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2623*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2624*da0073e9SAndroid Build Coastguard Worker deps = [ 2625*da0073e9SAndroid Build Coastguard Worker ":jit_memory", 2626*da0073e9SAndroid Build Coastguard Worker ":ukernels_asm_aarch32", 2627*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon", 2628*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_dot", 2629*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_fma", 2630*da0073e9SAndroid Build Coastguard Worker ":ukernels_neon_v8", 2631*da0073e9SAndroid Build Coastguard Worker ], 2632*da0073e9SAndroid Build Coastguard Worker ) 2633*da0073e9SAndroid Build Coastguard Worker 2634*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2635*da0073e9SAndroid Build Coastguard Worker name = "prod_ukernels", 2636*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2637*da0073e9SAndroid Build Coastguard Worker labels = labels, 2638*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2639*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2640*da0073e9SAndroid Build Coastguard Worker deps = [ 2641*da0073e9SAndroid Build Coastguard Worker ":ukernels_scalar", 2642*da0073e9SAndroid Build Coastguard Worker ] + select({ 2643*da0073e9SAndroid Build Coastguard Worker "DEFAULT": [ 2644*da0073e9SAndroid Build Coastguard Worker ":arm_lib", 2645*da0073e9SAndroid Build Coastguard Worker ":x86_and_x86_64_lib", 2646*da0073e9SAndroid Build Coastguard Worker ], 2647*da0073e9SAndroid Build Coastguard Worker "ovr_config//os:windows": [":x86_and_x86_64_lib_ovr_win32"] if XNNPACK_WINDOWS_AVX512F_ENABLED else [ 2648*da0073e9SAndroid Build Coastguard Worker ":arm_lib", 2649*da0073e9SAndroid Build Coastguard Worker ":x86_and_x86_64_lib", 2650*da0073e9SAndroid Build Coastguard Worker ], 2651*da0073e9SAndroid Build Coastguard Worker # doesn't cover iphonesimulator-x86_64 2652*da0073e9SAndroid Build Coastguard Worker "ovr_config//runtime:arm64-linux-ubuntu-neon": [":arm64_lib"], 2653*da0073e9SAndroid Build Coastguard Worker "ovr_config//runtime:platform010": [":x86_and_x86_64_lib"], 2654*da0073e9SAndroid Build Coastguard Worker }), 2655*da0073e9SAndroid Build Coastguard Worker ) 2656*da0073e9SAndroid Build Coastguard Worker 2657*da0073e9SAndroid Build Coastguard Worker fb_xplat_cxx_library( 2658*da0073e9SAndroid Build Coastguard Worker name = "XNNPACK", 2659*da0073e9SAndroid Build Coastguard Worker apple_sdks = (IOS, MACOSX, APPLETVOS), 2660*da0073e9SAndroid Build Coastguard Worker labels = labels, 2661*da0073e9SAndroid Build Coastguard Worker deps = [ 2662*da0073e9SAndroid Build Coastguard Worker ":subgraph", 2663*da0073e9SAndroid Build Coastguard Worker ":tables", 2664*da0073e9SAndroid Build Coastguard Worker ":prod_ukernels", 2665*da0073e9SAndroid Build Coastguard Worker third_party("cpuinfo"), 2666*da0073e9SAndroid Build Coastguard Worker third_party("pthreadpool"), 2667*da0073e9SAndroid Build Coastguard Worker ], 2668*da0073e9SAndroid Build Coastguard Worker exported_headers = { 2669*da0073e9SAndroid Build Coastguard Worker "xnnpack.h": "XNNPACK/include/xnnpack.h", 2670*da0073e9SAndroid Build Coastguard Worker }, 2671*da0073e9SAndroid Build Coastguard Worker fbobjc_preprocessor_flags = [ 2672*da0073e9SAndroid Build Coastguard Worker "-DXNN_PRIVATE=", 2673*da0073e9SAndroid Build Coastguard Worker "-DXNN_INTERNAL=", 2674*da0073e9SAndroid Build Coastguard Worker ], 2675*da0073e9SAndroid Build Coastguard Worker header_namespace = "", 2676*da0073e9SAndroid Build Coastguard Worker headers = subdir_glob([ 2677*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/src", "**/*.h"), 2678*da0073e9SAndroid Build Coastguard Worker ("XNNPACK/include", "**/*.h"), 2679*da0073e9SAndroid Build Coastguard Worker ]), 2680*da0073e9SAndroid Build Coastguard Worker platforms = (APPLE, ANDROID, CXX, WINDOWS), 2681*da0073e9SAndroid Build Coastguard Worker preferred_linkage = "static", 2682*da0073e9SAndroid Build Coastguard Worker preprocessor_flags = [ 2683*da0073e9SAndroid Build Coastguard Worker "-DXNN_LOG_LEVEL=0", 2684*da0073e9SAndroid Build Coastguard Worker "-DXNN_NO_Q8_OPERATORS", 2685*da0073e9SAndroid Build Coastguard Worker "-DXNN_NO_F16_OPERATORS", 2686*da0073e9SAndroid Build Coastguard Worker "-DXNN_NO_NCHW_OPERATORS", 2687*da0073e9SAndroid Build Coastguard Worker "-DXNN_NO_QU8_OPERATORS", 2688*da0073e9SAndroid Build Coastguard Worker "-DXNN_NO_U8_OPERATORS", 2689*da0073e9SAndroid Build Coastguard Worker "-DXNN_NO_X32_OPERATORS", 2690*da0073e9SAndroid Build Coastguard Worker "-DXNN_NO_X8_OPERATORS", 2691*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_MEMOPT", 2692*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_SPARSE=0", 2693*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_JIT=0", 2694*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_ASSEMBLY", 2695*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_GEMM_M_SPECIALIZATION", 2696*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_ARM_DOTPROD", 2697*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_CPUINFO", 2698*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_ARM_I8MM=1", 2699*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_ARM_FP16_VECTOR=1", 2700*da0073e9SAndroid Build Coastguard Worker "-DXNN_ENABLE_AVXVNNI=0", 2701*da0073e9SAndroid Build Coastguard Worker ], 2702*da0073e9SAndroid Build Coastguard Worker srcs = XNNPACK_SRCS + LOGGING_SRCS + OPERATOR_SRCS + [ 2703*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/configs/hardware-config.c", 2704*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/microkernel-utils.c", 2705*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/operator-run.c", 2706*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/packing.c", 2707*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/cache.c", 2708*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/indirection.c", 2709*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/operator-utils.c", 2710*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/normalization.c", 2711*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/allocator.c", 2712*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/memory.c", 2713*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/mutex.c", 2714*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/microparams-init.c", 2715*da0073e9SAndroid Build Coastguard Worker "XNNPACK/src/operators/post-operation.c", 2716*da0073e9SAndroid Build Coastguard Worker ], 2717*da0073e9SAndroid Build Coastguard Worker visibility = ["PUBLIC"], 2718*da0073e9SAndroid Build Coastguard Worker windows_clang_compiler_flags_override = (WINDOWS_FLAGS + WINDOWS_CLANG_COMPILER_FLAGS) if XNNPACK_WINDOWS_AVX512F_ENABLED else WINDOWS_FLAGS, 2719*da0073e9SAndroid Build Coastguard Worker windows_compiler_flags_override = WINDOWS_FLAGS if XNNPACK_WINDOWS_AVX512F_ENABLED else [], 2720*da0073e9SAndroid Build Coastguard Worker ) 2721