)]}'
{
  "log": [
    {
      "commit": "2af88863614a8298689cc52b1a47b3fcad7be835",
      "tree": "22ca576e27dae12d23d1b8da5e8dfaf5555b31c8",
      "parents": [
        "141477a04aad551eda06e62ae083da677b960c6d"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Mon Feb 16 17:04:18 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 16 17:04:41 2026 -0800"
      },
      "message": "Fix FlatSize integer overflow.\n\nPiperOrigin-RevId: 871033280\n"
    },
    {
      "commit": "141477a04aad551eda06e62ae083da677b960c6d",
      "tree": "d1221f6baa7f02528513c397be67640fececcd41",
      "parents": [
        "8a21714c60bdf0aa95405404e7322e455a34de72"
      ],
      "author": {
        "name": "Reilly Grant",
        "email": "reillyg@google.com",
        "time": "Wed Feb 11 11:46:34 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 11 11:47:44 2026 -0800"
      },
      "message": "Ruy: Add nullptr checks after allocations\n\nThis CL adds checks for nullptr after calls to allocator methods,\nto handle potential allocation failures. Allocation failure will\nresult in a RUY_CHECK failure in PreparePackedMatrices as this method\nreturn void.\n\nPiperOrigin-RevId: 868774701\n"
    },
    {
      "commit": "8a21714c60bdf0aa95405404e7322e455a34de72",
      "tree": "307fe92e51fc8a30b93cf52153e795853a975751",
      "parents": [
        "576e020f06334118994496b45f9796ed7fda3280"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Wed Feb 11 10:38:22 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 11 10:38:49 2026 -0800"
      },
      "message": "Use std::ptrdiff_t for matrix dimensions and indices.\n\nPiperOrigin-RevId: 868743667\n"
    },
    {
      "commit": "576e020f06334118994496b45f9796ed7fda3280",
      "tree": "8bd7542e659da620f45d001ef9696ba8323a2bbf",
      "parents": [
        "1e6e50872655a73b5250f954d7b9da9a87292fd3"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Thu Dec 18 09:33:48 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Dec 18 09:34:14 2025 -0800"
      },
      "message": "No public description\n\nPiperOrigin-RevId: 846303723\n"
    },
    {
      "commit": "1e6e50872655a73b5250f954d7b9da9a87292fd3",
      "tree": "80bd4d1a45e7ff7271567e79ef0831dacbb2c4ef",
      "parents": [
        "9940fbf1e0c0863907e77e0600b99bb3e2bc2b9f"
      ],
      "author": {
        "name": "Tommy Chiang",
        "email": "ototot@google.com",
        "time": "Mon Nov 24 03:18:11 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 24 03:18:37 2025 -0800"
      },
      "message": "Add android x86-64 support\n\nx86-64 is an officially supported arch on Android [1].\nAndroid is a platform similar to Linux, and we can enable SIMD on it.\n\nTo do so, this CL extend `:x86_64_and_not_msvc` to not only linux but also android.\nThis will help apps on android that uses ruy to have SIMD speed up.\n\n[1] https://developer.android.com/ndk/guides/abis#sa\n\nPiperOrigin-RevId: 836149343\n"
    },
    {
      "commit": "9940fbf1e0c0863907e77e0600b99bb3e2bc2b9f",
      "tree": "6b1b04f1c5c2df63f8b3e4cff0317532e45b8e15",
      "parents": [
        "83fd40d730feb0804fafbc2d8814bcc19a17b2e5"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Fri Jul 18 23:46:06 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 18 23:46:42 2025 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 784827832\n"
    },
    {
      "commit": "83fd40d730feb0804fafbc2d8814bcc19a17b2e5",
      "tree": "fa81b0e42b12852d426aefff2f1f921d526ce263",
      "parents": [
        "8467039b81d036015e4f116a0e9eb783fac51a0f"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Thu Dec 19 23:03:08 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Dec 19 23:03:33 2024 -0800"
      },
      "message": "EvalGemmlowp: Construct 0-size gemmlowp::VectorMap if ptr is null\n\nThis avoids constructing an invalid VectorMap (with null base and non-zero\nsize).  Assertions will be added to gemmlowp for this case.\n\nPiperOrigin-RevId: 708191712\n"
    },
    {
      "commit": "8467039b81d036015e4f116a0e9eb783fac51a0f",
      "tree": "265d230ef79f9a14316b1539a63be5f80b12f16a",
      "parents": [
        "95484c3e02206f73309c08ee5ee23d2304ca092b"
      ],
      "author": {
        "name": "Ben Barsdell",
        "email": "bbarsdell@nvidia.com",
        "time": "Tue Dec 17 12:50:18 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 17 12:50:46 2024 -0800"
      },
      "message": "Use .inst instead of .word in arm64 assembly\n\nThis ensures the instructions are marked as code instead of data, which is important when using tools like [llvm-bolt](https://github.com/llvm/llvm-project/blob/main/bolt/README.md).\n\ncc @cliffwoolley\n\nCloses https://github.com/google/ruy/pull/350\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/350 from benbarsdell:change-word-to-inst de295836354ad035393eafde4d8b47fc30ad0618\nPiperOrigin-RevId: 707213041\n"
    },
    {
      "commit": "95484c3e02206f73309c08ee5ee23d2304ca092b",
      "tree": "ec28dd80e28c56c89238b4f95ab740120901cfa2",
      "parents": [
        "9889171210b81138fd15fb57dd06e98fe6d37b3c"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Tue Dec 10 01:23:13 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 10 01:23:46 2024 -0800"
      },
      "message": "add missing includes for the build with use_libcxx_modules\n\nThis is to fix build error when we set use_libcxx_modules\u003dtrue in\nchromium build.\n\nPiperOrigin-RevId: 704601521\n"
    },
    {
      "commit": "9889171210b81138fd15fb57dd06e98fe6d37b3c",
      "tree": "d8d7667c1ff775c118ccd70ff663e63883f1141b",
      "parents": [
        "8704f5f0b3007ca44c792dfcbab139270c9b018a"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Mon Oct 28 07:55:32 2024 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 12 16:32:09 2024 -0800"
      },
      "message": "fix build for newer libc++\n\nIt needs to include \u003cstdlib.h\u003e for abort().\n\nPiperOrigin-RevId: 690609739\n"
    },
    {
      "commit": "8704f5f0b3007ca44c792dfcbab139270c9b018a",
      "tree": "02e12f592b41e56415e71f85090469d22388f75c",
      "parents": [
        "86427e55ba97acea6b950f49e9ce476d03850d5d"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Wed Jun 26 14:20:46 2024 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 12 16:32:01 2024 -0800"
      },
      "message": "No public description\n\nPiperOrigin-RevId: 647076995\n"
    },
    {
      "commit": "86427e55ba97acea6b950f49e9ce476d03850d5d",
      "tree": "fc4f6985eb29c45801dbb3e1d9a023605aa70332",
      "parents": [
        "c08ec529fc91722bde519628d9449258082eb847"
      ],
      "author": {
        "name": "José Dapena Paz",
        "email": "jdapena@igalia.com",
        "time": "Thu Mar 28 04:05:21 2024 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 12 16:31:46 2024 -0800"
      },
      "message": "Reapply IWYU fix for std::string usage in instrumentation.h\n\nThe fix applied by Stephan Hartmann adding the missing include for std::string usage in libruy has been removed again after syncing again with the copybara service.\n\nBug: chromium:41455655\n\nCloses https://github.com/google/ruy/pull/354\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/354 from jdapena:gcc_fix_2024_03_25 87900ccc58c43039596d0ee916dc70fcff948d1e\nPiperOrigin-RevId: 619873307\n"
    },
    {
      "commit": "c08ec529fc91722bde519628d9449258082eb847",
      "tree": "94d13e5cd31b3fb7ec34bd2f6ef3fa941277c353",
      "parents": [
        "587c2cf8b11d3c32fa26887063eda3171a3d353e"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Thu Mar 21 13:37:27 2024 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 21 13:38:08 2024 -0700"
      },
      "message": "Change QueryCacheParams to return if there was an error and handle that during Initialize\n\nPiperOrigin-RevId: 617949545\n"
    },
    {
      "commit": "587c2cf8b11d3c32fa26887063eda3171a3d353e",
      "tree": "544121fe9fbfd9c3a82b3165a2218db67363bf76",
      "parents": [
        "9416e7c0e62fa36a415883a41b6a9956719f2a1e"
      ],
      "author": {
        "name": "Stephan Hartmann",
        "email": "stha09@googlemail.com",
        "time": "Fri Mar 31 14:58:38 2023 +0000"
      },
      "committer": {
        "name": "T.J. Alumbaugh",
        "email": "talumbau@users.noreply.github.com",
        "time": "Sat Feb 03 05:55:05 2024 -0700"
      },
      "message": "IWYU: add string for std::string\n"
    },
    {
      "commit": "9416e7c0e62fa36a415883a41b6a9956719f2a1e",
      "tree": "01a7dd2f77ad5fcf14b500c1bedd9efba08e304a",
      "parents": [
        "cd7b92695b5d3f0c9ff65b865c2a1e19b99d766d"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Thu Jan 25 03:54:59 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 25 03:55:31 2024 -0800"
      },
      "message": "Remove -Wc++14-compat\n\nThis was added because tensorflow was c++14-only at the time (2020).\nThis is no longer the case, so remove the option.\n\nPiperOrigin-RevId: 601401615\n"
    },
    {
      "commit": "cd7b92695b5d3f0c9ff65b865c2a1e19b99d766d",
      "tree": "db0da1afe2d1ab999072eb9e030d54fa76022b25",
      "parents": [
        "690c14c441387a4ea6e07a9ed89657cec8200b92"
      ],
      "author": {
        "name": "luncliff",
        "email": "luncliff@gmail.com",
        "time": "Fri Nov 17 03:15:37 2023 +0900"
      },
      "committer": {
        "name": "T.J. Alumbaugh",
        "email": "talumbau@users.noreply.github.com",
        "time": "Mon Dec 18 08:32:37 2023 -0700"
      },
      "message": "cmake: support both Windows, WindowsStore\n"
    },
    {
      "commit": "690c14c441387a4ea6e07a9ed89657cec8200b92",
      "tree": "7c6fbbfbf37e5e1cd6d10fa92014d3f54789f940",
      "parents": [
        "6ffa93a89376555b09134c59b84d8f5e9cfc6ce6"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Tue Nov 28 10:23:14 2023 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 28 10:23:47 2023 -0800"
      },
      "message": "Ensure that processors are non-null before trying to get their cores\n\nPiperOrigin-RevId: 586025233\n"
    },
    {
      "commit": "6ffa93a89376555b09134c59b84d8f5e9cfc6ce6",
      "tree": "4759328b4ea8da20eea0cb25f15a1ed26cbb2ff7",
      "parents": [
        "c04e5e52ae6b144f74ac032652e3c538bda15c9b"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Fri Sep 22 12:03:34 2023 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 22 12:04:09 2023 -0700"
      },
      "message": "No public description\n\nPiperOrigin-RevId: 567682904\n"
    },
    {
      "commit": "c04e5e52ae6b144f74ac032652e3c538bda15c9b",
      "tree": "8de52da38421cc048a34a5c5644a1fe5fc128062",
      "parents": [
        "32dd2b92622102b1309754ac5aa61c1a581dd194"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Wed Jul 26 07:35:57 2023 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 26 07:36:24 2023 -0700"
      },
      "message": "Also check for null cpuinfo_uarch in CurrentCpuIsX1().\n\nPiperOrigin-RevId: 551201020\n"
    },
    {
      "commit": "32dd2b92622102b1309754ac5aa61c1a581dd194",
      "tree": "320f39e50c425f68a6756c5af1071bd0d85f00be",
      "parents": [
        "da1f78712f7afd5ad4273562b429866601d74cfb"
      ],
      "author": {
        "name": "davidbienvenu",
        "email": "bienvenu@davidbienvenu.org",
        "time": "Tue Jul 25 18:51:45 2023 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 25 18:52:07 2023 -0700"
      },
      "message": "handle null cpuinfo_get_arch\n\nThe Arm64 Windows implementation of cpuinfo returns null from cpuinfo_get_uarch if it doesn\u0027t recognize the CPU, instead of a default cpuinfo_uarch_info, as it does for other cpu\u0027s. This PR makes ruy not crash when that happens.\n\nCloses https://github.com/google/ruy/pull/340\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/340 from davidbienvenu:fix_null_cpu_arch e2acd12b8de672bacc5298fb8c5e7982186dd2e0\nPiperOrigin-RevId: 551059692\n"
    },
    {
      "commit": "da1f78712f7afd5ad4273562b429866601d74cfb",
      "tree": "e95871da93bd4eea87f24e1898f5911a8ae09dae",
      "parents": [
        "caa244343de289f913c505100e6a463d46c174de"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Jun 12 11:34:51 2023 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 12 11:35:21 2023 -0700"
      },
      "message": "Disable AVX code paths on iOS simulator.\n\nFixes b/285639624.\n\nThe error there is an incorrect result from TFLite inference on iOS simulator when ruy\u0027s AVX code paths (which are written in intrinsics) are enabled.\n\nAlthough I haven\u0027t looked at it in detail, the typical reason why this would happen --- given that this code has not seen any change in years and works as intended on a number of other platforms, including macOS/x86 --- would be a miscompilation by the iOS-simulator toolchain.\n\nIt is important to keep this code path enabled on macOS/x86 and only disable it on iOS simulator. We can\u0027t filter this by TARGET_OS_MAC as that token is defined in both toolchains. TARGET_IPHONE_SIMULATOR seems to be the appropriate differentiator.\n\nPiperOrigin-RevId: 539714623\n"
    },
    {
      "commit": "caa244343de289f913c505100e6a463d46c174de",
      "tree": "196af15c94608fe7ad7e69f25c308646ecd14f4c",
      "parents": [
        "8997611d6c722b588ba83a9f091dc8f9eb4bfb3e"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Fri May 26 12:35:48 2023 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 26 12:37:14 2023 -0700"
      },
      "message": "Update platform.h with correct Apple detection macro.\n\nImported from https://github.com/google/ruy/pull/334\n\nPiperOrigin-RevId: 535687917\n"
    },
    {
      "commit": "8997611d6c722b588ba83a9f091dc8f9eb4bfb3e",
      "tree": "d5694adeca969294ee1cb9151d591ecbc14ae392",
      "parents": [
        "72d107f88082aeca462ffbe91b3a3b0e02686a73"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue May 23 16:29:35 2023 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 23 16:30:10 2023 -0700"
      },
      "message": "Update platform.h with correct Apple detection macro.\n\nImported from https://github.com/google/ruy/pull/334\n\nPiperOrigin-RevId: 534598605\n"
    },
    {
      "commit": "72d107f88082aeca462ffbe91b3a3b0e02686a73",
      "tree": "196af15c94608fe7ad7e69f25c308646ecd14f4c",
      "parents": [
        "c19139f55a94493086561288b243eaeec9d58353"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Tue May 23 08:14:45 2023 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 23 08:15:19 2023 -0700"
      },
      "message": "Update platform.h with correct Apple detection macro.\n\nImported from https://github.com/google/ruy/pull/334\n\nPiperOrigin-RevId: 534429204\n"
    },
    {
      "commit": "c19139f55a94493086561288b243eaeec9d58353",
      "tree": "d5694adeca969294ee1cb9151d591ecbc14ae392",
      "parents": [
        "363f252289fb7a1fba1703d99196524698cb884d"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Wed May 10 10:11:32 2023 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 10 10:12:03 2023 -0700"
      },
      "message": "Re-enable RUY_PLATFORM_X86_ENHANCEMENTS on Apple.\n\nb/138922878 has been closed as fixed for years.\n\nCloses https://github.com/google/ruy/pull/330\n\nPiperOrigin-RevId: 530940351\n"
    },
    {
      "commit": "363f252289fb7a1fba1703d99196524698cb884d",
      "tree": "dcdb59f6c4a987d889361466b38d168fc1c1f2d1",
      "parents": [
        "21a85fef159f9942f636a43b14c64b481c2a05b2"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Thu Mar 23 11:01:06 2023 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 23 11:01:42 2023 -0700"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 518908775\n"
    },
    {
      "commit": "21a85fef159f9942f636a43b14c64b481c2a05b2",
      "tree": "302071265578f0f10baff83a8edb817a4a842a7e",
      "parents": [
        "3168a5c8f4c447fd8cea94078121ee2e2cd87df0"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Wed Feb 15 11:37:59 2023 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 15 11:38:30 2023 -0800"
      },
      "message": "Most callers directly depend on :cpuinfo, whose symbols are provided by :cpuinfo_impl, where linkstatic is set. When building tests (default to dynamic linking) with toolchains that set -fvisibility\u003dhidden towards a static link to reduce code size, this would hide symbols and fail. This CL merges :cpuinfo, putting the symbols in the same build unit and solving this issue.\n\n-std\u003dgnu99 is removed as it\u0027s not required to build this package. This allows the headers to build standalone, so textual_headers no longer need to be specified.\n\n:cpuinfo_mock now directly depends on :cpuinfo, so non-mock srcs are no longer needed and are removed from the target.\n\nA typo in a macro is fixed alongside.\n\nPiperOrigin-RevId: 509891384\n"
    },
    {
      "commit": "3168a5c8f4c447fd8cea94078121ee2e2cd87df0",
      "tree": "93b88bdf1edf16ccc9c4a45fac6f51b619aa61cf",
      "parents": [
        "ce5a4626ada2f72f06d5b09c1ffc7eec73db1e53"
      ],
      "author": {
        "name": "wcn",
        "email": "wcn@google.com",
        "time": "Wed Nov 16 14:23:42 2022 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 16 14:24:15 2022 -0800"
      },
      "message": "Internal-only change to BUILD files\n\nPiperOrigin-RevId: 489038478\n"
    },
    {
      "commit": "ce5a4626ada2f72f06d5b09c1ffc7eec73db1e53",
      "tree": "b7f9e89bf27d6f705cde5db475e3ee435ed9c3e7",
      "parents": [
        "3286a34cc8de6149ac6844107dfdffac91531e72"
      ],
      "author": {
        "name": "Sean Silva",
        "email": "silvasean@google.com",
        "time": "Mon Nov 14 10:31:23 2022 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 14 10:31:51 2022 -0800"
      },
      "message": "Free all memory before reallocating.\n\nThis should minimize the memory high-water-mark in applications. In the previous code, if there was a 1GB fallback block (and the main ptr_ was 0 bytes, say), then we would create a 1GB new allocation, and then free the 1GB fallback block, resulting in 2GB memory high water mark. In the new code, the memory high-water-mark will be only 1GB for that case.\n\nIn the best case this is expected to be a 2x savings on the memory high-water-mark. In practice, it may not reach 2x but it could be quite close -- it will be `(2 * (size of final steady state buffer allocation) - (next smaller total allocation size)) / (size of final steady state buffer allocation)`. In the case of \"next smaller total allocation size\" \u003d\u003d 0 it achieves a 2x advantage. We expect that in practice the benefit will still be quite high, because this allocator specifically relies on reaching a steady state rapidly, and thus the steady state size must increase by very large jumps, meaning that (next smaller total allocation size) is likely much smaller than (size of final steady state buffer allocation).\n\nPiperOrigin-RevId: 488405672\n"
    },
    {
      "commit": "3286a34cc8de6149ac6844107dfdffac91531e72",
      "tree": "dcc7f0f6e9f9bc60bd369944481d3b6a673c53d6",
      "parents": [
        "97ebb72aa0655c0af98896b317476a5d0dacad9c"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Wed Sep 14 12:56:04 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 14 12:56:29 2022 -0700"
      },
      "message": "Create API to determine how many threads to use\n\nPiperOrigin-RevId: 474367386\n"
    },
    {
      "commit": "97ebb72aa0655c0af98896b317476a5d0dacad9c",
      "tree": "4f1e83d4369fc84cd58da2dc5249d22c8f76b621",
      "parents": [
        "72155b3185246e9143f4c6a3a7f283d2ebba8524"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Tue Aug 02 16:30:42 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 02 16:31:12 2022 -0700"
      },
      "message": "Include GNUInstallDirs module in top-level CMake file\n\nIt was accidentally forgotten in the change that introduced support for install rules. This module defines some of the variables that are used by the install rules.\n\nPiperOrigin-RevId: 464915500\n"
    },
    {
      "commit": "72155b3185246e9143f4c6a3a7f283d2ebba8524",
      "tree": "765b99b25cf8e5eb40797a4e90ee163cea83abcf",
      "parents": [
        "fd42b25c4512913fd47a86826aecec7c9c3ee2b4"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Jul 12 08:40:28 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 12 08:40:53 2022 -0700"
      },
      "message": "Redo CMakeLists change from https://github.com/google/ruy/pull/313\naccidentally reverted by copybara export in\nhttps://github.com/google/ruy/commit/fd42b25c4512913fd47a86826aecec7c9c3ee2b4\n\nPiperOrigin-RevId: 460471200\n"
    },
    {
      "commit": "fd42b25c4512913fd47a86826aecec7c9c3ee2b4",
      "tree": "cb2770ced5b4670e22dc69d488662e0a0d8c8933",
      "parents": [
        "841ea4172ba904fe3536789497f9565f2ef64129"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Jul 12 07:11:32 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 12 07:12:01 2022 -0700"
      },
      "message": "Skip caches that have processor_count\u003d\u003d0.\n\nSome crash reports on Android tell of segfaults at address\n(2^32 - 8) at the line below evaluating is_local,\nwhich I guess would happen if processor_count\u003d\u003d0.\n\nPiperOrigin-RevId: 460454326\n"
    },
    {
      "commit": "841ea4172ba904fe3536789497f9565f2ef64129",
      "tree": "e5af525b653a969ef5616c842355ed2872482729",
      "parents": [
        "32885670cca160939dd28e9d1bcc8b1dede066b5"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "petrhosek@users.noreply.github.com",
        "time": "Tue Jun 28 11:56:48 2022 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 28 14:56:48 2022 -0400"
      },
      "message": "Update cpuinfo (#313)\n\ncpuinfo CMake build now defines the cpuinfo::cpuinfo alias so we don\u0027t\r\nneed to define it in ruy."
    },
    {
      "commit": "32885670cca160939dd28e9d1bcc8b1dede066b5",
      "tree": "b14bbb82b7a54c157c120ce2581f9dda1ecc1be8",
      "parents": [
        "368db7123bf3178c92c8502696c6865fb07bfcda"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Fri Jun 24 11:29:11 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jun 24 11:29:43 2022 -0700"
      },
      "message": "Fix assembler deprecated instruction warnings (as errors) on some Aarch32 toolchains with -mcpu\u003dcortex-a32.\n\nPiperOrigin-RevId: 457055609\n"
    },
    {
      "commit": "368db7123bf3178c92c8502696c6865fb07bfcda",
      "tree": "c49bf1c4fea21dc58ca6f45dd040c451c9cef41e",
      "parents": [
        "cd19e0e1b0fd24cd3d785beff1b50583e572dae0"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Thu May 26 09:54:57 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 26 09:55:35 2022 -0700"
      },
      "message": "Define namespace prefixed aliases for targets in the CMake build\n\nThis allows projects that depend on ruy to use namespace qualified\ntarget names regardless of whether they consume ruy through\nadd_subdirectory or find_package.\n\nCloses https://github.com/google/ruy/pull/311\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/311 from petrhosek:cmake-alias c00fae2a56a567b216dea0b0fe7378c28ddadbbf\nPiperOrigin-RevId: 451184466\n"
    },
    {
      "commit": "cd19e0e1b0fd24cd3d785beff1b50583e572dae0",
      "tree": "9b151216f3063a9ae270ba1524b197822e4484fa",
      "parents": [
        "efd639c7848791506e4e4c868f66863422730310"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Wed May 25 10:37:54 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 25 10:38:30 2022 -0700"
      },
      "message": "Support install rules in the CMake build\n\nThis allows using ruy from other projects through find_package.\n\nCloses https://github.com/google/ruy/pull/309\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/309 from petrhosek:cmake-install b6168af3fe06ec794f5b5253b5cc626ffac21916\nPiperOrigin-RevId: 450959295\n"
    },
    {
      "commit": "efd639c7848791506e4e4c868f66863422730310",
      "tree": "0299e59066c4848fb8f29fafb8c2bf94a91ee295",
      "parents": [
        "d13679079c4113e84864a073183d59c27e62e711"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Thu May 19 09:27:08 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 19 09:27:46 2022 -0700"
      },
      "message": "Update CMake build\n\nThis was generated using cmake/bazel_to_cmake.sh.\n\nCloses https://github.com/google/ruy/pull/310\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/310 from petrhosek:cmake-update ae8e526af2c2b5e915f542c008ac724929f848a6\nPiperOrigin-RevId: 449763106\n"
    },
    {
      "commit": "d13679079c4113e84864a073183d59c27e62e711",
      "tree": "020af3c22262da037cc3ba03151331259ac13c00",
      "parents": [
        "a09683b8da7164b9c5704f88aef2dc65aa583e5d"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "petrhosek@users.noreply.github.com",
        "time": "Wed May 18 11:33:53 2022 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 18 14:33:53 2022 -0400"
      },
      "message": "Update cpuinfo (#308)\n\nThis pulls in the recent CMake build changes, specifically the support\r\nfor find_package, that we would like to utilize in ruy CMake build in\r\nthe future."
    },
    {
      "commit": "a09683b8da7164b9c5704f88aef2dc65aa583e5d",
      "tree": "5f885bb4616e1287ba31923b33973aaaaf3922bd",
      "parents": [
        "915898ed1a46401f1dfb3b23563cad7f89b83fa0"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Apr 18 20:06:00 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 18 20:07:15 2022 -0700"
      },
      "message": "Refactor Thread internals for clarity and efficiency.\n\nOn the clarity side, the thread main loop is now just:\n\n    while (GetNewStateOtherThanReady() \u003d\u003d State::HasWork) {\n      RevertToReadyState();\n    }\n\nOn the efficiency side:\n* Locking and atomic ops have been reduced, we used to lock state_mutex_\n  around the entire thread task execution,now we are only locking it\n  anymore around notify/wait on the state_cond_ condition_variable, so\n  this mutex is renamed state_cond_mutex_, which clarifies its purpose.\n* We used to perform a redundant reload-acquire of the new state_ in\n  the main thread loop.\n* Some accesses are demoted to relaxed because they are already ordered\n  by other release-acquire relationships.\n* A notify_all becomes notify_one.\n* Send all thread exit requests upfront so threads can exit in parallel.\n\nA comment is added on Thread::task_ to explain the release-acquire\nrelationships making this all work.\n\nInternal code is broken into functions that are only ever called\nfrom the main thread, and functions that are only ever called from the\nworker thread. That specialization\nmade further simplifications and performance gains obvious.\n\nIt was found by continuous integration that some TFLite users construct and destroy the context from two different threads, due to the use of reference-counting. That means that the notion of \"main thread\" is not that solid. Accordingly, instances of \"main thread\" in comments and identifiers have been rephrased as \"outside thread\" as opposed to worker thread.\n\nTested with TSan (also enabled on presubmits) so fairly confident that this\nis correct.\n\nPiperOrigin-RevId: 442697771\n"
    },
    {
      "commit": "915898ed1a46401f1dfb3b23563cad7f89b83fa0",
      "tree": "865e820d1d996cbb40f1be3f4c0362af5765b2a1",
      "parents": [
        "7ef39c5745a61f43071e699c6a96da41701ae59f"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Thu Apr 07 07:53:22 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 07 07:53:55 2022 -0700"
      },
      "message": "Simplification of ThreadPool code - merge asserts into main logic\n\nPiperOrigin-RevId: 440105621\n"
    },
    {
      "commit": "7ef39c5745a61f43071e699c6a96da41701ae59f",
      "tree": "cbe581e535ccf5f8737ca599ac59468ac7beb8c8",
      "parents": [
        "cf14b2b0ea27045c8c323a4ec11d771be3d2926a"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Thu Mar 24 19:09:40 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 24 19:10:03 2022 -0700"
      },
      "message": "Fix an integer overflow, and take some extra defensive steps.\n\nPiperOrigin-RevId: 437140449\n"
    },
    {
      "commit": "cf14b2b0ea27045c8c323a4ec11d771be3d2926a",
      "tree": "4580e8acf8dc9c48c1852b847dd96db4c26ba58c",
      "parents": [
        "2d950b3bfa7ebfbe7a97ecb44b1cc4da5ac1d6f0"
      ],
      "author": {
        "name": "Karim Nosir",
        "email": "karimnosseir@google.com",
        "time": "Wed Mar 23 18:27:45 2022 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 23 18:28:14 2022 -0700"
      },
      "message": "Update GetTentativeThreadCount to use int64 types\n\nPiperOrigin-RevId: 436879056\n"
    },
    {
      "commit": "2d950b3bfa7ebfbe7a97ecb44b1cc4da5ac1d6f0",
      "tree": "85a3920793e0f6ef80c9b1efeb14dac14adc75b5",
      "parents": [
        "abaaa6a6a5515cfe958cf7b32ae1f2e5ca1b962f"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Fri Jan 21 08:17:21 2022 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 21 08:17:48 2022 -0800"
      },
      "message": "Accomodate Clang\u0027s CFI sanitizer\n\nIt was complaining that the `TrMulTask* tasks` pointer was temporarily pointing to garbage as we first set it to point to the allocated buffer, then perform the actual TrMulTask object constructions using placement-new. Rewritten so that the pointer is kept a `char*` pointer during this allocation and placement-new business, and only assigned to a TrMulTasks* pointer at the end.\n\nNote: this is *not* a strict-aliasing issue. The CFI diagnostic here is unaffected by `-f[no-]strict-aliasing` and the reason why this isn\u0027t a strict-aliasing violation is that the C++ spec makes an exception for `char` and a couple of other byte types, allowing to make byte buffers alias objects of other types. So CFI is going beyond the C++ spec here --- this isn\u0027t an undefined-behavior report. This is apparently trying to enforce that if pointers are set at all then they must be set to point to a valid object of their element type. At least for types that have a vtable.\nPiperOrigin-RevId: 423326986\n"
    },
    {
      "commit": "abaaa6a6a5515cfe958cf7b32ae1f2e5ca1b962f",
      "tree": "3a74448eee2922024d62fbe2e6b8d92ed1b99f0f",
      "parents": [
        "6c292a6e91cd3dab6059334d60c09fb5c7d1a94e"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeongl@google.com",
        "time": "Wed Dec 08 17:05:44 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Dec 08 17:06:10 2021 -0800"
      },
      "message": "Ruy:Fix 16bit-packing msan error.\n\nPiperOrigin-RevId: 415133840\n"
    },
    {
      "commit": "6c292a6e91cd3dab6059334d60c09fb5c7d1a94e",
      "tree": "c8977f70fedab2f25e39b0d24db1bea197147780",
      "parents": [
        "8c3fd3f266b4a22d542d4aa41329b5018d6b87e1"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeongl@google.com",
        "time": "Mon Dec 06 17:01:48 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 06 17:02:15 2021 -0800"
      },
      "message": "Ruy:Add new packing for 16bit ColMajor for Avx512.\n\nPiperOrigin-RevId: 414576763\n"
    },
    {
      "commit": "8c3fd3f266b4a22d542d4aa41329b5018d6b87e1",
      "tree": "7937fbf88ac560eaa7b64f2a4181b87b1d198a08",
      "parents": [
        "2c5f035bbcbe6aee09eb0b4bd29aa0d52b36e061"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Thu Nov 18 18:25:55 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 18 18:26:20 2021 -0800"
      },
      "message": "Modify use of Eigen::array to use syntax compatible with std::array in c++17.\n\nPiperOrigin-RevId: 410946378\n"
    },
    {
      "commit": "2c5f035bbcbe6aee09eb0b4bd29aa0d52b36e061",
      "tree": "743c4fcb5e13a761cb9313cb04b61c8199a39235",
      "parents": [
        "409296d21c15800375d894f2e0d1cc4c88c14cd9"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeongl@google.com",
        "time": "Wed Nov 03 23:08:22 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 03 23:08:48 2021 -0700"
      },
      "message": "Ruy: Support 8x16 avx512/avx2_fma kernel for single_column.\n\nPiperOrigin-RevId: 407507985\n"
    },
    {
      "commit": "409296d21c15800375d894f2e0d1cc4c88c14cd9",
      "tree": "4d947f25b75a53c38b31574705b3677d529e4561",
      "parents": [
        "f805132145194c44839db198afa61e08d7852cc4"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeongl@google.com",
        "time": "Mon Nov 01 23:27:15 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 01 23:27:41 2021 -0700"
      },
      "message": "Ruy: Support 8x16 avx512 kernel\n\nPiperOrigin-RevId: 407005437\n"
    },
    {
      "commit": "f805132145194c44839db198afa61e08d7852cc4",
      "tree": "931a194f6a732729a334e1252e185cae7b3c96f5",
      "parents": [
        "02d2088d84791eab6821f1a56510a2ea72e2cd77"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeongl@google.com",
        "time": "Mon Nov 01 01:00:23 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 01 01:00:48 2021 -0700"
      },
      "message": "Ruy: Support 8x16 avx2_fma kernel\n\nPiperOrigin-RevId: 406766575\n"
    },
    {
      "commit": "02d2088d84791eab6821f1a56510a2ea72e2cd77",
      "tree": "0004308181bde84e3247433c3b46fc4db8dfe1c8",
      "parents": [
        "5f40d6205f42685cae65926684c40128715758b5"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Wed Oct 27 08:57:57 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 27 08:58:23 2021 -0700"
      },
      "message": "fix inheritance of kernels on x86. When an AVX2 kernel is not available, fall back on AVX, not StandardCpp\n\nPiperOrigin-RevId: 405900310\n"
    },
    {
      "commit": "5f40d6205f42685cae65926684c40128715758b5",
      "tree": "f493c5a83b8951dbedadd3d5291ac60d5da1cab8",
      "parents": [
        "670e69dfb4701f9970232512843c49f3b66d00d7"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Wed Oct 20 20:12:18 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 20 20:12:42 2021 -0700"
      },
      "message": "test i8xi16 cases\n\nPiperOrigin-RevId: 404698692\n"
    },
    {
      "commit": "670e69dfb4701f9970232512843c49f3b66d00d7",
      "tree": "3674efeb81b92fe8dc56b336ad5208c04c35367f",
      "parents": [
        "c31af31ad62cc74650b04368cd9369a389d23248"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Wed Oct 20 20:04:54 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 20 20:05:31 2021 -0700"
      },
      "message": "Disable the internal test-only variants of the StandardCpp path in benchmarks\n\nPiperOrigin-RevId: 404697829\n"
    },
    {
      "commit": "c31af31ad62cc74650b04368cd9369a389d23248",
      "tree": "a8a4c228138af3135d10c7efe417acd27edaa11a",
      "parents": [
        "34f1aa7f3b8712aee21883da774cf11020d09b38"
      ],
      "author": {
        "name": "Keichi Takahashi",
        "email": "keichi.t@me.com",
        "time": "Mon Sep 13 07:25:41 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 13 07:26:05 2021 -0700"
      },
      "message": "Add missing volatile qualifier in Pack8bitRowMajorForNeonDotprod\n\nI was getting incorrect results on some environments and this turned out to be the cause.\n\nCloses https://github.com/google/ruy/pull/276\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/276 from keichi:add-missing-volatile e2d89fe29ce36510a08c704b603f513729713faf\nPiperOrigin-RevId: 396351130\n"
    },
    {
      "commit": "34f1aa7f3b8712aee21883da774cf11020d09b38",
      "tree": "1ed12c0c58024baf08b981dc9166058fb7a339a7",
      "parents": [
        "9c56af3fce210a8a103eda19bd6f47c08a9e3d90"
      ],
      "author": {
        "name": "Keichi Takahashi",
        "email": "keichi.t@me.com",
        "time": "Fri Sep 10 11:07:41 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 10 11:08:20 2021 -0700"
      },
      "message": "Fix error when compiling ruy_test_overflow_dst_zero_point with GCC\n\nThis fixes the following compilation error:\n\n```\nIn file included from /usr/include/c++/10/vector:67,\n                 from /home/keichi/Projects/ruy/ruy/test_overflow_dst_zero_point.cc:32:\n/usr/include/c++/10/bits/stl_vector.h: In instantiation of ‘class std::vector\u003cconst signed char\u003e’:\n/home/keichi/Projects/ruy/ruy/test_overflow_dst_zero_point.cc:75:24:   required from here\n/usr/include/c++/10/bits/stl_vector.h:401:66: error: static assertion failed: std::vector must have a non-const, non-volatile value_type\n  401 |       static_assert(is_same\u003ctypename remove_cv\u003c_Tp\u003e::type, _Tp\u003e::value,\n      |                                                                  ^~~~~\n```\n\nCloses https://github.com/google/ruy/pull/278\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/278 from keichi:fix-compilation-err 2e30471e9ce525f3a62337078cf2e80f17c966ff\nPiperOrigin-RevId: 395965795\n"
    },
    {
      "commit": "9c56af3fce210a8a103eda19bd6f47c08a9e3d90",
      "tree": "3b15ef9e1a3f8b901fc20597be485ef5980f0837",
      "parents": [
        "e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce"
      ],
      "author": {
        "name": "metarutaiga",
        "email": "52752725+metarutaiga@users.noreply.github.com",
        "time": "Tue Jun 22 09:12:04 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 22 09:12:27 2021 -0700"
      },
      "message": "Fix typo in Windows on ARM 32bit\n\nIt build failed in ARM 32bit, I think it\u0027s just a typo.\n\nCloses https://github.com/google/ruy/pull/274\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/274 from metarutaiga:master f40e88396c1031289dbda5a0c98893557509542e\nPiperOrigin-RevId: 380820893\n"
    },
    {
      "commit": "e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce",
      "tree": "707e0f1c53751920c3024830d624ec7250825a45",
      "parents": [
        "22f89228893b3abae601004a6e48b64e089fc626"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Fri Jun 18 07:00:46 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jun 18 07:01:09 2021 -0700"
      },
      "message": "Fix the bazel build by dropping a xtensa-specific select entry.\n\nPiperOrigin-RevId: 380178286\n"
    },
    {
      "commit": "22f89228893b3abae601004a6e48b64e089fc626",
      "tree": "fc236951db7127ed496e1365ff79b36a18ea44d5",
      "parents": [
        "23633b37099b614a2f836ef012cafc8087fdb98c"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Wed Jun 16 12:08:00 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 16 12:08:32 2021 -0700"
      },
      "message": "Fix integer overflow causing incorrect results.\n\nKernels perform the addition of the destination zero_point in int16.\nThis addition needed to be saturating to avoid wrapping around.\n\nThanks to Marat Dukhan for reporting and debugging this issue.\n\nAdditionally, this commit:\n - makes the new Cortex-X1 tuned kernels tested.\n - adds Context::get_runtime_enabled_paths() to query the runtime\n   CPU detection from the public Context interface.\n - updates the Bazel-to-CMake converter to support some minor\n   recent BUILD changes.\n\nPiperOrigin-RevId: 379778779\n"
    },
    {
      "commit": "23633b37099b614a2f836ef012cafc8087fdb98c",
      "tree": "e9d64e28a58998a7dbdd98f8fbb30b8101622211",
      "parents": [
        "d37128311b445e758136b8602d1bbd2a755e115d"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Mon May 17 10:24:29 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 17 10:24:50 2021 -0700"
      },
      "message": "remove pthread requirement for cc_target_os:xtensa\n\nPiperOrigin-RevId: 374225894\n"
    },
    {
      "commit": "d37128311b445e758136b8602d1bbd2a755e115d",
      "tree": "abc5abbb09eaf02a55a12c5d12f53ac531895839",
      "parents": [
        "3c93cda8211efa01128d48950f0d6ee5233c5b9b"
      ],
      "author": {
        "name": "T.J. Alumbaugh",
        "email": "talumbau@google.com",
        "time": "Tue May 11 07:36:33 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 11 07:36:58 2021 -0700"
      },
      "message": "Fork Neon Float kernel for X1\n\nPiperOrigin-RevId: 373147434\n"
    },
    {
      "commit": "3c93cda8211efa01128d48950f0d6ee5233c5b9b",
      "tree": "5c49a417a124a31b63f5190e930f6698f1ecb44d",
      "parents": [
        "70e3b87abb64f94441d00f8cf1824c8cc4db61a0"
      ],
      "author": {
        "name": "stha09",
        "email": "51720730+stha09@users.noreply.github.com",
        "time": "Thu May 06 18:31:30 2021 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 06 09:31:30 2021 -0700"
      },
      "message": "IWYU: include limits for std::numeric_limits (#253)\n\n"
    },
    {
      "commit": "70e3b87abb64f94441d00f8cf1824c8cc4db61a0",
      "tree": "b30c14701d918c181d499978c488652604c8a13b",
      "parents": [
        "5a6516e51990540429b07a1298c5201b548bbed0"
      ],
      "author": {
        "name": "T.J. Alumbaugh",
        "email": "talumbau@google.com",
        "time": "Fri Apr 30 17:53:34 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 30 17:53:53 2021 -0700"
      },
      "message": "Remove runtime assertion on size of shift in reference code\n\nPiperOrigin-RevId: 371435881\n"
    },
    {
      "commit": "5a6516e51990540429b07a1298c5201b548bbed0",
      "tree": "92674337264e1619c23c9893a1da6a67908bf860",
      "parents": [
        "516761f8278df5dd4a3a0a4d382a31b26767e7a3"
      ],
      "author": {
        "name": "T.J. Alumbaugh",
        "email": "talumbau@google.com",
        "time": "Mon Apr 26 10:58:50 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 26 10:59:09 2021 -0700"
      },
      "message": "Remove non-ASCII character in comment\n\nPiperOrigin-RevId: 370495857\n"
    },
    {
      "commit": "516761f8278df5dd4a3a0a4d382a31b26767e7a3",
      "tree": "c16574ebd477186995ad4c89a434cc2fe7b8c7a3",
      "parents": [
        "1c518e24f7a043ae26c5c6b8f6b7f0946bc013df"
      ],
      "author": {
        "name": "Ruy Contributors",
        "email": "ruy-eng@google.com",
        "time": "Thu Apr 22 11:00:46 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 22 11:01:04 2021 -0700"
      },
      "message": "1.02x speedup of Ruy AVX2 f32 and AVX-512 f32/i8\n\nAVX-512:\n- broadcast without extra instruction (code size)\n- use native mask ops\n- re-roll mmm loop\nAVX2: avoid slow permute, especially for AMD\nPiperOrigin-RevId: 369907385\n"
    },
    {
      "commit": "1c518e24f7a043ae26c5c6b8f6b7f0946bc013df",
      "tree": "889c4a7f05d791cb64ed8e716cfb2cd5d7819fd0",
      "parents": [
        "38a9266b832767a3f535a74a9e0cf39f7892e594"
      ],
      "author": {
        "name": "T.J. Alumbaugh",
        "email": "talumbau@google.com",
        "time": "Tue Apr 20 12:33:23 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 20 12:33:45 2021 -0700"
      },
      "message": "Fork 8bit Neon Dotprod kernel for X1 and support resolving to X1 core\n\nPiperOrigin-RevId: 369496892\n"
    },
    {
      "commit": "38a9266b832767a3f535a74a9e0cf39f7892e594",
      "tree": "1cb63d0a0092cc974d3ff87246037f3e2a45bf57",
      "parents": [
        "939449243eb36e5b668cc00a1c936f2b1ad4dc27"
      ],
      "author": {
        "name": "Chao Mei",
        "email": "chaomei@google.com",
        "time": "Mon Apr 05 19:07:24 2021 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 05 19:07:45 2021 -0700"
      },
      "message": "Create a utility library to suppress floating-point denormals, and apply it to every task execution of every thread.\n\nPiperOrigin-RevId: 366919663\n"
    },
    {
      "commit": "939449243eb36e5b668cc00a1c936f2b1ad4dc27",
      "tree": "e40f3aa5849a31e132c064b6773bde317899507b",
      "parents": [
        "b0e97e627db281e2f2d79ac84333a93452173ccd"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Mar 09 19:37:44 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 09 19:38:06 2021 -0800"
      },
      "message": "Simplify some code and add release assertions to help debug a crash in an application.\n\nPiperOrigin-RevId: 361953871\n"
    },
    {
      "commit": "b0e97e627db281e2f2d79ac84333a93452173ccd",
      "tree": "d45d61489913cd94fc24196cadedf3189d72f8cc",
      "parents": [
        "54774a7a2cf85963777289193629d4bd42de4a59"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Mar 09 19:18:04 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 09 19:18:22 2021 -0800"
      },
      "message": "rollback hopefully fixing some application crash\n\nPiperOrigin-RevId: 361951187\n"
    },
    {
      "commit": "54774a7a2cf85963777289193629d4bd42de4a59",
      "tree": "597d4f6c62019c7f2505c8ad256d148e2aa0647b",
      "parents": [
        "be760b63149d8205dfb3ca66d78a049dc1ab7772"
      ],
      "author": {
        "name": "Chao Mei",
        "email": "chaomei@google.com",
        "time": "Mon Mar 01 16:02:51 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 01 16:03:11 2021 -0800"
      },
      "message": "Use std::ptrdiff_t instead of int when calculating memory size to avoid int overflow.\n\nPiperOrigin-RevId: 360298662\n"
    },
    {
      "commit": "be760b63149d8205dfb3ca66d78a049dc1ab7772",
      "tree": "45b033783360ed59b9efbfd8bd2dfdb4fc8bdb72",
      "parents": [
        "287015c8ea2b2bbc7780f85650263a92518dcd37"
      ],
      "author": {
        "name": "Georgios Pinitas",
        "email": "georgios.pinitas@arm.com",
        "time": "Tue Feb 09 10:49:17 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 09 10:49:37 2021 -0800"
      },
      "message": "Simplify quantized multiplier\n\nAlter sequence to a single rounded scaling with normal rounded shift.\nDouble rounding and symmetric rounding are removed compared to\nreference. Double rounding seems unnecessary and can complicate\nimplementations. Moreover, symmetric rounding also adds implementation\ncomplexity.\n\nFor NEON the new sequence can be translated to VQDMULH + VRSHR.\n\nCloses https://github.com/google/ruy/pull/227\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/227 from GeorgeARM:mul_pr dec00bd87a8815fdad79d302494430aa63522752\nPiperOrigin-RevId: 356539687\n"
    },
    {
      "commit": "287015c8ea2b2bbc7780f85650263a92518dcd37",
      "tree": "a5e125adb4d2c75986c1d022b037d76f2f9f7f76",
      "parents": [
        "2887692065c38ef6617f423feafc6b69dd0a0681"
      ],
      "author": {
        "name": "bjacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Feb 08 13:31:22 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 08 13:31:47 2021 -0800"
      },
      "message": "Update test tolerance ahead of merging PR #227\n\nCloses https://github.com/google/ruy/pull/251\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/251 from bjacob:relax c8d2cf94d15abd4a9fd4222619c42413952f0fb1\nPiperOrigin-RevId: 356340585\n"
    },
    {
      "commit": "2887692065c38ef6617f423feafc6b69dd0a0681",
      "tree": "c8da7077e6a2fa57f9646ba1a9ab4a145718aed1",
      "parents": [
        "09827c89612fdb3b7adef229d9b057bbe61a8d31"
      ],
      "author": {
        "name": "bjacob",
        "email": "benoitjacob@google.com",
        "time": "Fri Jan 22 20:23:42 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 22 20:23:42 2021 -0500"
      },
      "message": "Allow late definitions of cpuinfo but only when ruy is a subdir. (#250)\n\n"
    },
    {
      "commit": "09827c89612fdb3b7adef229d9b057bbe61a8d31",
      "tree": "dee15a4b782e1f4eb23bc38058bf54927412071e",
      "parents": [
        "58e3051707b3a92dab0a72297183114a1d35f483"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Jan 22 12:40:29 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 22 12:41:02 2021 -0800"
      },
      "message": "Disable tests by default when ruy is a subproject.\n\nCloses https://github.com/google/ruy/pull/249\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/249 from bjacob:tests-disabled-when-submodule 3a33bb081acadca3520edeae2c226827e9fe0f89\nPiperOrigin-RevId: 353298619\n"
    },
    {
      "commit": "58e3051707b3a92dab0a72297183114a1d35f483",
      "tree": "c4de371de040b400e57fdb0a3ba0eab2a7e5838c",
      "parents": [
        "fad5a101143f2c27e0888ef0afe0e5230907a782"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Jan 21 12:33:11 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 21 12:34:32 2021 -0800"
      },
      "message": "Change the default MulParams multiplier values to multiply by 1, not 0.\n\nMultiplying by 0 by default is unfriendly to people getting familiar\nwith ruy having to debug why their output values are all 0.\nWith a default of 1, tiny toy examples might output sane values,\nanything beyond that will saturate, and seeing all saturated values will\nbe a hint that something needs to be set to rescale values.\n\nCloses https://github.com/google/ruy/pull/248\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/248 from bjacob:multiplier-default 3fb1152e899fffc1f9fa9103b533348599ca494f\nPiperOrigin-RevId: 353077204\n"
    },
    {
      "commit": "fad5a101143f2c27e0888ef0afe0e5230907a782",
      "tree": "aa02bdb85ca77a1e49a063e103b06eeb0c439bc8",
      "parents": [
        "4bdd13c49aa74bd9695aa050f67ffd688a1e88a4"
      ],
      "author": {
        "name": "Geoffrey Martin-Noble",
        "email": "gcmn@google.com",
        "time": "Thu Jan 21 12:22:43 2021 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 21 15:22:43 2021 -0500"
      },
      "message": "Add basic gitignore (#246)\n\n"
    },
    {
      "commit": "4bdd13c49aa74bd9695aa050f67ffd688a1e88a4",
      "tree": "6d6791752bbdb3c1a2d9e8ee9e6f1ab35fd855df",
      "parents": [
        "d65bcd7add7b5e7587355e4301c1b8ce335a877a"
      ],
      "author": {
        "name": "Geoffrey Martin-Noble",
        "email": "gcmn@google.com",
        "time": "Wed Jan 20 19:58:37 2021 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 20 22:58:37 2021 -0500"
      },
      "message": "Simplify cpuinfo build overlay (#247)\n\n"
    },
    {
      "commit": "d65bcd7add7b5e7587355e4301c1b8ce335a877a",
      "tree": "e976cfe508a5cbe11dc5d8aecbedadc935ce3b00",
      "parents": [
        "c200f59184b6d0bda940aadfbaafa957a72f291c"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Wed Jan 20 14:04:41 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 20 14:05:04 2021 -0800"
      },
      "message": "Fixes for builds in open source projects with cpuinfo and googletest deps.\n\n- Following XNNPACK\u0027s example, in CMakeLists.txt, skip including our own\n  third_party/ directories if the target is already defined. This means that\n  IREE embedding ruy as a third_party/ dep does not need to have its\n  submodules checked out, ruy can use IREE\u0027s own cpuinfo and googletest.\n- Switch open-source builds to using the stripped-include-paths flavor\n  of cpuinfo (like IREE is already using).\n\nPiperOrigin-RevId: 352871140\n"
    },
    {
      "commit": "c200f59184b6d0bda940aadfbaafa957a72f291c",
      "tree": "308ec4ee534c5c1e64ab00bc5250898533d81389",
      "parents": [
        "45a876f72309a444cf01f9cd0e844ac06c520987"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Jan 20 13:09:30 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 20 13:09:50 2021 -0800"
      },
      "message": "Update depgraph\n\n- Switch to same colors as in ruy html traces\n- Move `:thread_pool` to its own yellow color for consistency with ruy traces\n- Drop `:validate`\n- Drop the legend, will be redundant in the context of markdown docs showing these different materials in the same context.\n\npreview: https://github.com/google/ruy/blob/84dd41f433b3befad6c711248a5d0f00fd8b2711/doc/depgraph.svg\n\nCloses https://github.com/google/ruy/pull/241\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/ruy/pull/241 from bjacob:depgraph-update 8f2fa1d9a178c62b80fcc940c9d6ca5cf8ce3c41\nPiperOrigin-RevId: 352858626\n"
    },
    {
      "commit": "45a876f72309a444cf01f9cd0e844ac06c520987",
      "tree": "eba9d87d464186485108eee5b64acce5698ad56e",
      "parents": [
        "25df4d3c9028e6c52d4f791771dd4a1d1f0a2f90"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Jan 19 20:35:11 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 19 20:35:42 2021 -0800"
      },
      "message": "Revert \"Revert \"Add CMake support with a converter from Bazel\"\"\n\nReverts google/ruy#243\n\nCloses https://github.com/google/ruy/pull/244\n\nPiperOrigin-RevId: 352711630\n"
    },
    {
      "commit": "25df4d3c9028e6c52d4f791771dd4a1d1f0a2f90",
      "tree": "760ce08677d6565fadccdc8dcf4ec0d50ab720a0",
      "parents": [
        "20b5eb06ebc29c30a5ed460b658fe48d1afc119e"
      ],
      "author": {
        "name": "Nishidha",
        "email": "npanpa23@in.ibm.com",
        "time": "Tue Jan 19 19:41:09 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 19 19:41:30 2021 -0800"
      },
      "message": "Corrected macro for detecting ppc platform (#83)\n\n(Sorry I merged this the wrong way the first time)\n\nPiperOrigin-RevId: 352705468\n"
    },
    {
      "commit": "20b5eb06ebc29c30a5ed460b658fe48d1afc119e",
      "tree": "192a231991a43336b9049b38dd651b35d4157935",
      "parents": [
        "4ed621615d2f0a54410976cdaaae22779eaec664"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Jan 19 21:07:54 2021 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Jan 19 22:37:35 2021 -0500"
      },
      "message": "Add a tracing framework (really just logging).\n\nThis isn\u0027t a performance tracing framework (unlike the old ruy tracing).\nThis is about understanding what happens inside a ruy::Mul with a view\ntoward documenting how ruy works.\n\nAdded a \u0027parametrized_example\u0027 to help play with this tracing on any\nflavor of ruy::Mul call. This also serves as a more elaborate example\nof how to call ruy::Mul, and as a single binary instantiating several\ndifferent instantiations of the ruy::Mul template, which is useful\nfor measuring binary size and showing a breakdown of ruy symbols in\na document.\n\nA few code changes beyond tracing slipped in:\n - Improved logic in determining the traversal order in MakeBlockMap:\n   In rectangular cases, since we first do the top-level rectangularness\n   subdivision with linear traversal anyway, the traversal order only\n   applies within each subdivision past that, so it should be based\n   on sizes already divided by rectangularness. In practice this nudges\n   1000x400x2000 from kFractalHilbert to kFractalU on Pixel4, without\n   making an observable perf difference in that case.\n - Removed the old RUY_BLOCK_MAP_DEBUG logging code: superseded.\n   Kept only a minimal hook to force a block_size_log2 choice.\n - Wrote new comments on BlockMap internals.\n - Fixed Ctx::set_runtime_enabled_paths to behave as documented:\n   passing Path::kNone reverts to the default behavior (auto detect).\n - Exposed Context::set_runtime_enabled_paths.\n - Renamed UseSimpleLoop -\u003e GetUseSimpleLoop (easier to read trace).\n\nPiperOrigin-RevId: 352695092\n"
    },
    {
      "commit": "4ed621615d2f0a54410976cdaaae22779eaec664",
      "tree": "d508bf20de9c68f19aea55330c4d94949c6b608e",
      "parents": [
        "b87d6d2e65ca24ba38e9afbf1e9d0744dbda82d3"
      ],
      "author": {
        "name": "bjacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Jan 19 22:21:49 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 19 22:21:49 2021 -0500"
      },
      "message": "Revert \"Add CMake support with a converter from Bazel (#233)\" (#243)\n\nThis reverts commit b87d6d2e65ca24ba38e9afbf1e9d0744dbda82d3."
    },
    {
      "commit": "b87d6d2e65ca24ba38e9afbf1e9d0744dbda82d3",
      "tree": "d850e0185e717beff6e071c1fa12c62ad74b1608",
      "parents": [
        "fb9174e5a1e706424dc42b270e02e3429470955c"
      ],
      "author": {
        "name": "bjacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Jan 19 21:37:31 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 19 21:37:31 2021 -0500"
      },
      "message": "Add CMake support with a converter from Bazel (#233)\n\n* Add CMake support with a converter from Bazel, update by running:\r\n\r\n  cmake/bazel_to_cmake.sh\r\n\r\nThis supports building and running tests also on Android, e.g.\r\n\r\n```\r\ncmake ../ruy -G Ninja \\\r\n  -DCMAKE_TOOLCHAIN_FILE\u003d~/android-ndk-r21d/build/cmake/android.toolchain.cmake \\\r\n  -DANDROID_ABI\u003darm64-v8a \\\r\n  -DANDROID_PLATFORM\u003dandroid-29\r\n\r\ncmake --build . -j12\r\n\r\nctest . -j12\r\n```\r\n\r\nSome parts of this were forked from IREE\u0027s cmake setup.\r\n"
    },
    {
      "commit": "fb9174e5a1e706424dc42b270e02e3429470955c",
      "tree": "d508bf20de9c68f19aea55330c4d94949c6b608e",
      "parents": [
        "cb106ed9f06e3b2894f79db9fb5a864a45b6a8c1"
      ],
      "author": {
        "name": "Nishidha",
        "email": "npanpa23@in.ibm.com",
        "time": "Wed Jan 20 01:42:14 2021 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 19 15:12:14 2021 -0500"
      },
      "message": "Corrected macro for detecting ppc platform. (#83)\n\n"
    },
    {
      "commit": "cb106ed9f06e3b2894f79db9fb5a864a45b6a8c1",
      "tree": "af7536db8f60a7624434caa3f9dd8f4a44704514",
      "parents": [
        "f6f44759be28fff0ce70dbd3bce0d8fec0f13422"
      ],
      "author": {
        "name": "bjacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Jan 19 14:41:55 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 19 14:41:55 2021 -0500"
      },
      "message": "Move submodules to where they belong. (#240)\n\n"
    },
    {
      "commit": "f6f44759be28fff0ce70dbd3bce0d8fec0f13422",
      "tree": "e1e0b566b959b166e44b7b3750f933ff168f5f5e",
      "parents": [
        "f4af2f7d68b2cbb5582a3f69aee49a95e1142617"
      ],
      "author": {
        "name": "bjacob",
        "email": "benoitjacob@google.com",
        "time": "Sat Jan 16 14:54:11 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 16 14:54:11 2021 -0500"
      },
      "message": "Add git submodules: googletest and cpuinfo (#235)\n\n"
    },
    {
      "commit": "f4af2f7d68b2cbb5582a3f69aee49a95e1142617",
      "tree": "e1e0b566b959b166e44b7b3750f933ff168f5f5e",
      "parents": [
        "9c9fdbc90b31554eee2d03479584e7283485d754"
      ],
      "author": {
        "name": "bjacob",
        "email": "benoitjacob@google.com",
        "time": "Sat Jan 16 14:53:14 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 16 14:53:14 2021 -0500"
      },
      "message": "Bazel submodules (#236)\n\n* Add git submodules: googletest and cpuinfo\r\n\r\n* Let the Bazel WORKSPACE point to the git submodules."
    },
    {
      "commit": "9c9fdbc90b31554eee2d03479584e7283485d754",
      "tree": "0a4ec1f745df22843b935757969885d264a93e57",
      "parents": [
        "d7fb861d488d15885dcfa4851ba6f821ce34902a"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Thu Jan 14 20:33:42 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 14 20:34:09 2021 -0800"
      },
      "message": "Fix doc paths in README\n\nPiperOrigin-RevId: 351931688\n"
    },
    {
      "commit": "d7fb861d488d15885dcfa4851ba6f821ce34902a",
      "tree": "491c93d163604688981da0bfd9a153c6bd9ce2d9",
      "parents": [
        "2cbb179f2d1c861cdcf215e897234b2d47b09abf"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Thu Jan 14 20:07:26 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 14 20:07:53 2021 -0800"
      },
      "message": "Add a trimmed dependency graph and its generator, for doc purposes.\n\nPiperOrigin-RevId: 351929118\n"
    },
    {
      "commit": "2cbb179f2d1c861cdcf215e897234b2d47b09abf",
      "tree": "d001f947daab484b405a776b284983344e1a6c21",
      "parents": [
        "3f655fa1dd2513da8a271a89f068df2b30a4979f"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Wed Jan 13 13:46:27 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 13 13:46:48 2021 -0800"
      },
      "message": "Drop unneeded dependency from :context.\n\nPiperOrigin-RevId: 351657429\n"
    },
    {
      "commit": "3f655fa1dd2513da8a271a89f068df2b30a4979f",
      "tree": "6b7e0afe7a16b1c7a77359c380cecc5fd847acdb",
      "parents": [
        "878283640de7946a43053e8ebf4f15114fbc9156"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Thu Jan 07 15:00:18 2021 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 07 15:00:52 2021 -0800"
      },
      "message": "Cosmetics: class-ify TrMulTask, in particular put the trailing _ where they belong.\nAlso remove a useless #include in context.h.\n\nPiperOrigin-RevId: 350645020\n"
    },
    {
      "commit": "878283640de7946a43053e8ebf4f15114fbc9156",
      "tree": "0215a3ef8a24dc3c9dd6370a91c60b8081f3385d",
      "parents": [
        "c162e5d936989ab8d339857698c07d88d164c1e8"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Dec 21 13:53:34 2020 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 21 13:53:53 2020 -0800"
      },
      "message": "Fix the new raw accumulators example - being raw accumulators, it\u0027s not \u0027per channel\u0027, as there is no multiplier here.\n\nPiperOrigin-RevId: 348522764\n"
    },
    {
      "commit": "c162e5d936989ab8d339857698c07d88d164c1e8",
      "tree": "41ad2824bb5ed67593de8f44bd3ef114cb054583",
      "parents": [
        "3fc7ae29b86e674a3ce116ef662f09a8638a95ed"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Dec 21 13:49:48 2020 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 21 13:50:07 2020 -0800"
      },
      "message": "Relax test tolerance against Eigen, adapting to a recent Eigen change between Eigen commits\n011e0db31d1bed8b7f73662be6d57d9f30fa457a and bec72345d69917f475e577d23df0ca4ed967a4f0.\n\nPiperOrigin-RevId: 348522159\n"
    },
    {
      "commit": "3fc7ae29b86e674a3ce116ef662f09a8638a95ed",
      "tree": "558ab13b7476e4748589eca4f0aa7b0793bb72f2",
      "parents": [
        "177062d283a4bb14b414bc2f101a2103aee4fb71"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Dec 21 13:18:35 2020 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 21 13:18:57 2020 -0800"
      },
      "message": "fix gcc warnings\n\nPiperOrigin-RevId: 348517342\n"
    },
    {
      "commit": "177062d283a4bb14b414bc2f101a2103aee4fb71",
      "tree": "5e35e6838883d2119f7860924936653927bb04a4",
      "parents": [
        "4790797d11a81f96baf24f3731fd3ca44c2c5f8b"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Dec 21 12:39:19 2020 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 21 12:39:38 2020 -0800"
      },
      "message": "Move the example out of the ruy/ruy directory, and add an example returning raw\nint32 accumulators.\n\nPiperOrigin-RevId: 348511323\n"
    },
    {
      "commit": "4790797d11a81f96baf24f3731fd3ca44c2c5f8b",
      "tree": "71e169470e8b728fa041b65d35682281d91e9f43",
      "parents": [
        "7a6a38ea182161d509f4044e8ec713f05a68560c"
      ],
      "author": {
        "name": "Ben Vanik",
        "email": "benvanik@google.com",
        "time": "Sun Nov 15 07:19:26 2020 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Nov 15 07:19:52 2020 -0800"
      },
      "message": "Fixing warnings on MSVC (comparing a bool with \u003e).\n\nPiperOrigin-RevId: 342509771\n"
    },
    {
      "commit": "7a6a38ea182161d509f4044e8ec713f05a68560c",
      "tree": "6ebda0e0b8ac76916f54c6c472cd4c510fccd43b",
      "parents": [
        "d79362c24fd70eab3196672273dbfd8f0dd6124c"
      ],
      "author": {
        "name": "T.J. Alumbaugh",
        "email": "talumbau@google.com",
        "time": "Tue Nov 03 09:11:20 2020 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 09:11:50 2020 -0800"
      },
      "message": "Enforce x86 bit exactness\n\nPiperOrigin-RevId: 340457081\n"
    },
    {
      "commit": "d79362c24fd70eab3196672273dbfd8f0dd6124c",
      "tree": "2da03f4beccf06cee1a8e825b07247f1ca4e3bfc",
      "parents": [
        "7e1d379cd05679d86c0113ce271a6df8c51fed3a"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Oct 27 18:56:14 2020 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 18:56:37 2020 -0700"
      },
      "message": "MSVC fixes:\n1. Do not pass -O3 on MSVC (the need for such custom flags is only on mobile builds anyway).\n2. Pass /arch:AVX* flags, actually enabling SIMD paths on MSVC\n3. Fix the #if logic to detect AVX2+FMA on MSVX: /arch:AVX2 enables FMA but does not define __FMA__.\n\nPiperOrigin-RevId: 339375591\n"
    },
    {
      "commit": "7e1d379cd05679d86c0113ce271a6df8c51fed3a",
      "tree": "569b725cc1ebbce52808daa7655aac9ede2d441c",
      "parents": [
        "dd1102a6ce6ce501f92f6abd72c89ac59a95afeb"
      ],
      "author": {
        "name": "T.J. Alumbaugh",
        "email": "talumbau@google.com",
        "time": "Tue Oct 27 10:55:48 2020 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 10:56:08 2020 -0700"
      },
      "message": "Zero point checking disabled for uint8 x uint8 GEMMs\n\nPiperOrigin-RevId: 339284224\n"
    },
    {
      "commit": "dd1102a6ce6ce501f92f6abd72c89ac59a95afeb",
      "tree": "0431d351a878c79aa477c82278f6020885e60f3c",
      "parents": [
        "a28320aaf5fe2bd8a8aa9c777fc1264a9b49a14f"
      ],
      "author": {
        "name": "T.J. Alumbaugh",
        "email": "talumbau@google.com",
        "time": "Mon Oct 19 11:06:47 2020 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 11:07:09 2020 -0700"
      },
      "message": "Update AVX, AVX2, AVX512 Rescale operations with Rounding Right Shift\n\nPiperOrigin-RevId: 337892847\n"
    }
  ],
  "next": "a28320aaf5fe2bd8a8aa9c777fc1264a9b49a14f"
}
