Merge remote-tracking branch 'aosp/upstream-master' to 'aosp/master' for external/ruy.

Bug: 196532440
Test: mma
Change-Id: I71df6832de5c6fb310e9c2c97cdf361fc9074e80
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..f74fc34
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,98 @@
+// Copyright (C) 2021 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package {
+    default_applicable_licenses: ["external_ruy_license"],
+}
+
+// Added automatically by a large-scale-change
+// See: http://go/android-license-faq
+license {
+    name: "external_ruy_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-Apache-2.0",
+    ],
+    license_text: [
+        "LICENSE",
+    ],
+}
+
+cc_library_headers {
+    name: "libruy_headers",
+    export_include_dirs: ["."],
+    host_supported: true,
+    vendor_available: true,
+    sdk_version: "current",
+}
+
+cc_defaults {
+    name: "libruy_defaults",
+    host_supported: true,
+    vendor_available: true,
+    srcs: [
+        "ruy/allocator.cc",
+        "ruy/apply_multiplier.cc",
+        "ruy/block_map.cc",
+        "ruy/blocking_counter.cc",
+        "ruy/context.cc",
+        "ruy/context_get_ctx.cc",
+        "ruy/cpuinfo.cc",
+        "ruy/ctx.cc",
+        "ruy/denormal.cc",
+        "ruy/frontend.cc",
+        "ruy/have_built_path_for_avx.cc",
+        "ruy/have_built_path_for_avx2_fma.cc",
+        "ruy/have_built_path_for_avx512.cc",
+        "ruy/kernel_arm32.cc",
+        "ruy/kernel_arm64.cc",
+        "ruy/kernel_avx.cc",
+        "ruy/kernel_avx2_fma.cc",
+        "ruy/kernel_avx512.cc",
+        "ruy/pack_arm.cc",
+        "ruy/pack_avx.cc",
+        "ruy/pack_avx2_fma.cc",
+        "ruy/pack_avx512.cc",
+        "ruy/prepacked_cache.cc",
+        "ruy/prepare_packed_matrices.cc",
+        "ruy/system_aligned_alloc.cc",
+        "ruy/thread_pool.cc",
+        "ruy/trmul.cc",
+        "ruy/tune.cc",
+        "ruy/wait.cc",
+    ],
+    cflags: [
+        "-Wno-inline-asm",
+    ],
+    export_include_dirs: ["."],
+}
+
+cc_library_shared {
+    name: "libruy",
+    defaults: ["libruy_defaults"],
+    double_loadable: true,
+}
+
+cc_library_static {
+    name: "libruy_static",
+    defaults: ["libruy_defaults"],
+    sdk_version: "current",
+    stl: "libc++_static",
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.extservices",
+        "com.android.neuralnetworks",
+    ],
+    min_sdk_version: "30",
+}