diff --git a/BUILD.bazel b/BUILD.bazel index d1973eac2..4f3bc0862 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1665,30 +1665,6 @@ cc_library( }), ) -py_binary( - name = "generate_build_identifier_py", - srcs = ["scripts/generate-build-identifier.py"], - main = "scripts/generate-build-identifier.py", - # This should only be built as part of the related genrule. - tags = ["notap"], -) - -xnnpack_transitive_source_list( - name = "build_identifier_ukernel_srcs", - deps = [":prod_microkernels"], -) - -genrule( - name = "generate_build_identifier", - srcs = [ - "src/packing.c", - ":build_identifier_ukernel_srcs", - ], - outs = ["src/build_identifier.c"], - cmd = "$(location generate_build_identifier_py) --output $@ $(SRCS)", - tools = [":generate_build_identifier_py"], -) - xnnpack_cc_library( name = "build_identifier", srcs = ["src/build_identifier.c"], diff --git a/src/build_identifier.c b/src/build_identifier.c new file mode 100755 index 000000000..b3ee5e82e --- /dev/null +++ b/src/build_identifier.c @@ -0,0 +1,69 @@ +// Copyright 2024 Google LLC +// +// This source code is licensed under the BSD-style license found in the +// LICENSE file in the root directory of this source tree. + +// Auto-generated file. Do not edit! +// Generator: scripts/generate-build-identifier.py +// +// The following inputs were used to generate this file. +// - src/packing.c +// - src/tables/exp2-k-over-64.c +// - src/tables/exp2-k-over-2048.c +// - src/tables/exp2minus-k-over-4.c +// - src/tables/exp2minus-k-over-8.c +// - src/tables/exp2minus-k-over-16.c +// - src/tables/exp2minus-k-over-32.c +// - src/tables/exp2minus-k-over-64.c +// - src/tables/exp2minus-k-over-2048.c +// - src/tables/vlog.c +// - src/enums/allocation-type.c +// - src/enums/datatype-strings.c +// - src/enums/microkernel-type.c +// - src/enums/node-type.c +// - src/enums/operator-type.c +// - src/log.c +// - src/amalgam/gen/scalar.c +// - src/amalgam/gen/avxvnni.c +// - src/amalgam/gen/avx512amx.c +// - src/amalgam/gen/avx512fp16.c +// - src/amalgam/gen/sse.c +// - src/amalgam/gen/sse2.c +// - src/amalgam/gen/ssse3.c +// - src/amalgam/gen/sse41.c +// - src/amalgam/gen/avx.c +// - src/amalgam/gen/f16c.c +// - src/amalgam/gen/fma3.c +// - src/amalgam/gen/avx2.c +// - src/amalgam/gen/avx512f.c +// - src/amalgam/gen/avx512skx.c +// - src/amalgam/gen/avx512vbmi.c +// - src/amalgam/gen/avx512vnni.c +// - src/amalgam/gen/avx512vnnigfni.c + +#include +#include +#include +#include + +static const uint8_t xnn_build_identifier[] = { + 202, 113, 125, 158, 151, 187, 2, 33, + 178, 111, 224, 105, 174, 66, 250, 70, + 243, 110, 11, 54, 151, 19, 138, 28, + 165, 108, 161, 195, 106, 127, 104, 248 +}; + +size_t xnn_experimental_get_build_identifier_size() { + return sizeof(xnn_build_identifier); +} + +const void* xnn_experimental_get_build_identifier_data() { + return xnn_build_identifier; +} + +bool xnn_experimental_check_build_identifier(const void* data, const size_t size) { + if(size != xnn_experimental_get_build_identifier_size()) { + return false; + } + return !memcmp(data, xnn_build_identifier, size); +}