)]}'
{
  "log": [
    {
      "commit": "08e4bb339e34017a0835269d4a37c4ea04d15a69",
      "tree": "da75a9301ead78a34b235cfe51119e9e06c8f81d",
      "parents": [
        "e844ffd17118c1e17d94e1ba4354c075a4577b88"
      ],
      "author": {
        "name": "JonLiu1993",
        "email": "63675417+JonLiu1993@users.noreply.github.com",
        "time": "Wed Sep 14 22:12:17 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 14 10:12:17 2022 -0400"
      },
      "message": "Add vcpkg installation instructions (#211)\n\n"
    },
    {
      "commit": "e844ffd17118c1e17d94e1ba4354c075a4577b88",
      "tree": "ca9498b3af8f4e47eab276cb65b4b83345e802b8",
      "parents": [
        "09d81e02ab15b41405caebeb5eb63fd12555aee3"
      ],
      "author": {
        "name": "Everton Constantino",
        "email": "everton.constantino@linaro.org",
        "time": "Mon Dec 20 14:33:11 2021 -0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 20 12:33:11 2021 -0500"
      },
      "message": "Adding output_range_offset support for requantize transform. (#209)\n\n"
    },
    {
      "commit": "09d81e02ab15b41405caebeb5eb63fd12555aee3",
      "tree": "7b112f5cb890ed37c9373e7e3dd3e53c46920c47",
      "parents": [
        "daf630d3d0c439dbe22229838a5ba1bc5f82908d"
      ],
      "author": {
        "name": "Andrew Marshall",
        "email": "planetmarshall@users.noreply.github.com",
        "time": "Thu Oct 28 13:37:40 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 28 08:37:40 2021 -0400"
      },
      "message": "Build static or shared libraries for all platforms (#208)\n\nAllow building static or shared libraries for all platforms instead of hardcoding this option in the cmake file. Allows the client to choose the configuration based on the value of the standard CMake option BUILD_SHARED_LIBS."
    },
    {
      "commit": "daf630d3d0c439dbe22229838a5ba1bc5f82908d",
      "tree": "d20cf80570bad6824d2a90c5bc3a72ce9df12c7f",
      "parents": [
        "f9959600daa42992baace8a49544a00a743ce1b6"
      ],
      "author": {
        "name": "Park DongHa",
        "email": "luncliff@gmail.com",
        "time": "Tue Sep 28 21:44:12 2021 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 28 08:44:12 2021 -0400"
      },
      "message": "Support CMake install/find_package (#207)\n\n* cmake: support install and build options\r\n\r\n* include CTest module and make test targets optional.\r\n  BUILD_TESTING will be ON by default\r\n* add \u0027gemmlowp\u0027 INTERFACE target to forward header search path\r\n* support CMake \u0027find_package\u0027 with config.cmake export\r\n\r\n* travis-ci: add build/test job for CMake"
    },
    {
      "commit": "f9959600daa42992baace8a49544a00a743ce1b6",
      "tree": "7f53c89bd6fab9fb913d03adbd59c8542af4aec6",
      "parents": [
        "8589f2084b738e2285d5e8547b8b699c03a177dd"
      ],
      "author": {
        "name": "metarutaiga",
        "email": "52752725+metarutaiga@users.noreply.github.com",
        "time": "Tue Jun 22 02:00:12 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 21 14:00:12 2021 -0400"
      },
      "message": "Support aarch64-pc-windows-msvc (#206)\n\n"
    },
    {
      "commit": "8589f2084b738e2285d5e8547b8b699c03a177dd",
      "tree": "a351c165f2829b6dd8166521a2720639a2b0bd84",
      "parents": [
        "13d57703abca3005d97b19df1f2db731607a7dc2"
      ],
      "author": {
        "name": "pkasting",
        "email": "pkasting@google.com",
        "time": "Fri Jun 11 07:30:37 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 11 10:30:37 2021 -0400"
      },
      "message": "Fix -Wdeprecated-copy. (#205)\n\nBug: chromium:1213098\r\nChange-Id: I6230c6613f01e56e98d3deda66a9543042215206"
    },
    {
      "commit": "13d57703abca3005d97b19df1f2db731607a7dc2",
      "tree": "13109bdd826ec985edc6968aa30bbf5a7f79dce7",
      "parents": [
        "fda83bdc38b118cc6b56753bd540caa49e570745"
      ],
      "author": {
        "name": "Marat Dukhan",
        "email": "maratek@gmail.com",
        "time": "Wed Jan 13 08:19:30 2021 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 13 11:19:30 2021 -0500"
      },
      "message": "Port fixedpoint header to WebAssembly SIMD (#202)\n\n"
    },
    {
      "commit": "fda83bdc38b118cc6b56753bd540caa49e570745",
      "tree": "669a7790285d46ff186719a5afebe7003a3184dd",
      "parents": [
        "023c190f9341198e2cbdbac39b184a78f6f90806"
      ],
      "author": {
        "name": "Danny van der Rijn",
        "email": "vdr@google.com",
        "time": "Wed May 06 14:51:07 2020 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Wed May 06 14:54:31 2020 -0400"
      },
      "message": "Large-scale change: Mark static const class/struct members as constexpr. This change fixes declarations that have initial values but are technically not definitions by marking them constexpr (which counts as a definition). This enables, among other things, the modified constants to be passed into functions and function templates that accept arguments by reference. Without this change, such functions would cause linker errors.\n"
    },
    {
      "commit": "023c190f9341198e2cbdbac39b184a78f6f90806",
      "tree": "e5af518a1ee541683fc63e6f922c2bd3d9eb2256",
      "parents": [
        "2483d846ad865dd4190fe4a1a1ba2d9cfcea78e1"
      ],
      "author": {
        "name": "T.J. Alumbaugh",
        "email": "talumbau@google.com",
        "time": "Wed May 06 08:11:25 2020 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed May 06 14:40:05 2020 -0400"
      },
      "message": "Add 16-bit support for AVX2\n\nEquivalent to 16-bit SSE support added in:\n\nhttps://github.com/talumbau/gemmlowp/commit/76de7f790a2d65b88a06a2fbe9cfb5e7a70aebb6#diff-a414deff691f120bc86c429de8e68319\n"
    },
    {
      "commit": "2483d846ad865dd4190fe4a1a1ba2d9cfcea78e1",
      "tree": "dfb471dd685d694d64d119796a601b386fe8f07f",
      "parents": [
        "fcdb1b3f8a492b461e9e7b2458bdad3c2cd1a405"
      ],
      "author": {
        "name": "Lamar",
        "email": "rlamarrr@gmail.com",
        "time": "Sun Jan 19 09:37:21 2020 +0100"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Sun Jan 19 14:28:57 2020 -0500"
      },
      "message": "added template specialization for int8_t saturating add\n"
    },
    {
      "commit": "fcdb1b3f8a492b461e9e7b2458bdad3c2cd1a405",
      "tree": "97f7ee70e28122bf663f38a58c6cdfa7134fe39e",
      "parents": [
        "08c5dd30c8216848ad7e4b56c5fc437b6bb0578c"
      ],
      "author": {
        "name": "Lamar",
        "email": "rlamarrr@gmail.com",
        "time": "Sun Jan 19 09:28:11 2020 +0100"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Sun Jan 19 14:27:32 2020 -0500"
      },
      "message": "fixed doc comments for Mul and Sub\n"
    },
    {
      "commit": "08c5dd30c8216848ad7e4b56c5fc437b6bb0578c",
      "tree": "4a39b237a8a52c9363df49aed24b67552c97187f",
      "parents": [
        "e25e353b9a8342f21946cad161a7f3495dddcbae"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Fri Dec 06 10:50:35 2019 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Fri Dec 06 10:50:35 2019 -0500"
      },
      "message": "fix recent regression\n"
    },
    {
      "commit": "e25e353b9a8342f21946cad161a7f3495dddcbae",
      "tree": "fbbe7d71bd0a3818af34e879f875fc93b0b3abc6",
      "parents": [
        "6a007c79803e275966472caf96df58dd8e35b48b"
      ],
      "author": {
        "name": "Clement Courbet",
        "email": "courbet@google.com",
        "time": "Wed Dec 04 15:17:57 2019 +0100"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Dec 04 10:12:31 2019 -0500"
      },
      "message": "StoreFinalOutputImpl::Run is reloading MatrixMap::data_ and\nMatrixMap::stride_ in a loop.\n\nThe specialization for RegBlockUint8\u003c8, 8\u003e is the hottest one for our\ndata based on profiling. Specialize it for MatrixMap and make a local copy of\nthe destination so that the compiler can prove that data_ aliases neither \u0026data_\nnor \u0026stride_.\n\nThis makes small model \u0026 GoogLeNet GEMMs about 1% faster.\n\nProfiling shows that this mostly comes from \"unpack to row-major\" being faster:\n\nBefore:\ngemmlowp profile (1 threads, 9469 samples)\n94.31% gemmlowp::MultiThreadGemm\n    94.30% gemmlowp::SingleThreadGemm\n        73.97% compute\n            62.39% optimized kernel\n            11.57% other\n        8.73% pack LHS\n        6.51% unpack to column-major\n        4.95% unpack to row-major\n        0.13% pack RHS\n        0.01% other\n    0.01% other\n5.69% other (outside of any label)\n\nAfter:\n93.89% gemmlowp::MultiThreadGemm\n    93.89% gemmlowp::SingleThreadGemm\n        74.80% compute\n            61.82% optimized kernel\n            12.98% other\n        9.03% pack LHS\n        6.24% unpack to column-major\n        3.68% unpack to row-major\n        0.12% pack RHS\n        0.02% other\n    0.00% other\n6.11% other (outside of any label)\n"
    },
    {
      "commit": "6a007c79803e275966472caf96df58dd8e35b48b",
      "tree": "4f0481af9c4bf70af254d31f92c39b822fa1d378",
      "parents": [
        "dc69acdf61d7a64260ae0eb9c17421fef0488c02"
      ],
      "author": {
        "name": "Nick Kreeger",
        "email": "nick.kreeger@gmail.com",
        "time": "Fri Nov 29 20:58:51 2019 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Dec 02 11:27:22 2019 -0500"
      },
      "message": "Add some extra documentation to the magic numbers used in\nexp_on_negative_values().\n"
    },
    {
      "commit": "dc69acdf61d7a64260ae0eb9c17421fef0488c02",
      "tree": "379938a3290120f79fcd7ea3502b0508e56a965d",
      "parents": [
        "a227af1fdb47f250b5df07d6936366b0f8113b65"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Aug 12 13:02:11 2019 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Aug 12 13:02:11 2019 -0400"
      },
      "message": "fix avx header include\n"
    },
    {
      "commit": "a227af1fdb47f250b5df07d6936366b0f8113b65",
      "tree": "7810151293a3a06fb000943df3c556ddadd95406",
      "parents": [
        "447abda1b886362a237930f325ea1a6acd81c941"
      ],
      "author": {
        "name": "Chao Mei",
        "email": "chaomei@google.com",
        "time": "Mon Jul 08 13:25:43 2019 +0800"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Jul 08 09:42:10 2019 -0400"
      },
      "message": "Fix the type to avoid comparison of integers of different signs. The compiling error is reported when -Wsign-compared is added.\n"
    },
    {
      "commit": "447abda1b886362a237930f325ea1a6acd81c941",
      "tree": "6ca0ea6668e1299f4f461c5e58257e47f0b0d472",
      "parents": [
        "12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3"
      ],
      "author": {
        "name": "Sean Silva",
        "email": "silvasean@google.com",
        "time": "Thu Jun 13 10:32:29 2019 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Jun 13 13:44:11 2019 -0400"
      },
      "message": "Increase ProfilingStack::kMaxSize\n\nI ran into this limit with a real application that was hooking into gemmlowp\u0027s instrumentation.\r\n\r\n30 is the next available number after 14, due to the static_assert that sizeof(ProfilingStack) must be a power of 2.\r\nThere are 2 pointer-sized objects in Profiling stack, and then kMaxSize pointers. Thus, 14+2 \u003d\u003d 16, to increase it, the next available total size is 32, hence kMaxSize \u003d\u003d 30."
    },
    {
      "commit": "12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3",
      "tree": "56a16ef48fca3bffd7346c102e5dddd77322cd90",
      "parents": [
        "549528487e1f1dfd7210e850a08ad1f1286dc148"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Apr 29 16:36:13 2019 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Apr 29 16:36:13 2019 -0400"
      },
      "message": "Argh, we can\u0027t update MultiThreadGemm to use the new\nWorkersPool::Execute signature, because TensorFlow uses it against its\nown WorkersPool class.\n"
    },
    {
      "commit": "549528487e1f1dfd7210e850a08ad1f1286dc148",
      "tree": "ed600cc9508d4957349406bb362ce43d62d15ac2",
      "parents": [
        "f0077a59ec6d1df4ff2751cb74993994c2cca1d1"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Apr 29 11:40:31 2019 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Apr 29 11:42:10 2019 -0400"
      },
      "message": "Another take on what a sane Execute method would look like,\nand use it to simplify the actual multi thread gemm implementation.\n"
    },
    {
      "commit": "f0077a59ec6d1df4ff2751cb74993994c2cca1d1",
      "tree": "23e38701fc026d7b83c171ee319fb0d3304a72a7",
      "parents": [
        "948468b8edcc9c351879d7c0b3c5704ab95f9a14"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Apr 23 16:33:06 2019 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Apr 23 16:33:06 2019 -0400"
      },
      "message": "unused variable\n"
    },
    {
      "commit": "948468b8edcc9c351879d7c0b3c5704ab95f9a14",
      "tree": "8a19177fae683edef6598b1e650c1a8bc7021568",
      "parents": [
        "892c70f47f2ed51a1498bf83459fb8072835e5d6"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Apr 23 12:29:22 2019 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Apr 23 12:29:22 2019 -0400"
      },
      "message": "Rename Execute to LegacyExecuteAndDestroyTasks. Add better Execute\noverload.\n"
    },
    {
      "commit": "892c70f47f2ed51a1498bf83459fb8072835e5d6",
      "tree": "71d9b1d07d56a80dabad32e57b0a02e1cfd1f1be",
      "parents": [
        "36212ad3651871bc3e9a599f1a6d5324778aea25"
      ],
      "author": {
        "name": "dibyaran",
        "email": "dibyamishra016@gmail.com",
        "time": "Fri Apr 19 11:53:24 2019 +0530"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Apr 19 07:16:09 2019 -0400"
      },
      "message": "Making scripts compatible with Python 3\n"
    },
    {
      "commit": "36212ad3651871bc3e9a599f1a6d5324778aea25",
      "tree": "504f1639af748c8c12dfaf85a2874a05ee1077b5",
      "parents": [
        "dec2b7dd5f6f0043070af4587d2a9dc156f4ebab"
      ],
      "author": {
        "name": "Arritmic",
        "email": "arritmic@gmail.com",
        "time": "Thu Apr 04 14:34:33 2019 +0300"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Apr 04 08:07:07 2019 -0400"
      },
      "message": "Changed Microsoft-specific suffix for \u0027long long int\u0027 type to the C++ standard for the same type explained in the section \u00275.13 Literals\u0027.\n"
    },
    {
      "commit": "dec2b7dd5f6f0043070af4587d2a9dc156f4ebab",
      "tree": "a8ab78fc6a2a4e8dc6745101164d031954c43b38",
      "parents": [
        "1bf3b9c582c70bddb07b8004fc031d9765684f79"
      ],
      "author": {
        "name": "Suharsh Sivakumar",
        "email": "suharshs@google.com",
        "time": "Fri Mar 22 10:05:36 2019 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Mar 22 13:07:04 2019 -0400"
      },
      "message": "Fix pack_neon to use signed instruction.\n"
    },
    {
      "commit": "1bf3b9c582c70bddb07b8004fc031d9765684f79",
      "tree": "8286fbfaf839efaef65fba1b9c8f0544cb40d462",
      "parents": [
        "1ff8bddec9f241348d71b60f8597024f105a34ab"
      ],
      "author": {
        "name": "Suharsh Sivakumar",
        "email": "suharshs@google.com",
        "time": "Tue Mar 19 13:22:21 2019 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Mar 19 17:04:59 2019 -0400"
      },
      "message": "Fix ShiftLeft int16x8_t impl.\n"
    },
    {
      "commit": "1ff8bddec9f241348d71b60f8597024f105a34ab",
      "tree": "3894ca1568d0b0227c5dbc34e25b3d2f3f7ae1b0",
      "parents": [
        "82acdad67dcaa24f5b4ef301697ea6cb19af5fbf"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Mar 19 10:39:27 2019 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Tue Mar 19 10:39:53 2019 -0400"
      },
      "message": "fix the deps for the :fixedpoint target\n"
    },
    {
      "commit": "82acdad67dcaa24f5b4ef301697ea6cb19af5fbf",
      "tree": "b9167354c1482e0adaa0fc06bccf0faa6401d595",
      "parents": [
        "1b76f373d5543cbe67d259260f20ebc1a0b7b2af"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Mar 18 14:23:54 2019 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Mar 18 14:23:54 2019 -0400"
      },
      "message": "Do not register worker threads for profiling.\nThis makes profiles too confusing to interprete (e.g. if 4 threads\nare registered, thus getting equal numbers of samples, then if\nthe main thread is blocked 99% of the time in a given function,\nit appears as only 25% of the overall profile).\n"
    },
    {
      "commit": "1b76f373d5543cbe67d259260f20ebc1a0b7b2af",
      "tree": "892bd9299e8e56eea79798d97a037d9e397bc2eb",
      "parents": [
        "664f14a7754e6c78e7b063433c4d3e52fd843c09"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Mar 18 14:20:48 2019 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Mon Mar 18 14:20:48 2019 -0400"
      },
      "message": "make SSE 128bit specializations available also when AVX is available, as AVX per se only defines 256bit specializations, and user code may depend specifically on 128bit, as is the case in TFLite\n"
    },
    {
      "commit": "664f14a7754e6c78e7b063433c4d3e52fd843c09",
      "tree": "88a75dce1e47681bc572fb4036bf32c0522d84ea",
      "parents": [
        "2390b74a2ec7763c2fc0e0fe8ec466380ec11575"
      ],
      "author": {
        "name": "Suharsh Sivakumar",
        "email": "suharshs@google.com",
        "time": "Fri Mar 15 15:28:09 2019 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Mar 15 20:43:52 2019 -0400"
      },
      "message": "Per-channel output rescale and int8 input support for NEON.\n"
    },
    {
      "commit": "2390b74a2ec7763c2fc0e0fe8ec466380ec11575",
      "tree": "0aa5ddd044604291158c32a117a40cdcede6c1a2",
      "parents": [
        "58825b1f969451fc0462148f38d016b253fb40e9"
      ],
      "author": {
        "name": "Tetsuo Kiso",
        "email": "tetsuokiso9@gmail.com",
        "time": "Wed Jan 09 01:23:35 2019 +0900"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Feb 26 10:05:56 2019 -0500"
      },
      "message": "Fix documentation on OutputScalar in GemmWithOutputPipeline\n"
    },
    {
      "commit": "58825b1f969451fc0462148f38d016b253fb40e9",
      "tree": "d19ed930e487c62ce744f594ddd019dd15be560d",
      "parents": [
        "5e071e05fd3f47f4d714026c6731df49f3244e68"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "afrunze@wavecomp.com",
        "time": "Sun Jan 27 18:10:56 2019 -0800"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Jan 28 10:33:33 2019 -0500"
      },
      "message": "MIPS: Improve StoreFinalOutput for 8x4 and 8x8 blocks of uint8.\n"
    },
    {
      "commit": "5e071e05fd3f47f4d714026c6731df49f3244e68",
      "tree": "718dd946b7feac95610f9baadb30321ab9464fe2",
      "parents": [
        "1949d3c181baa4b4730159719e4aef72ea60c62d"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "afrunze@wavecomp.com",
        "time": "Sun Jan 27 18:18:47 2019 -0800"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Jan 28 10:32:52 2019 -0500"
      },
      "message": "Add a stage truncating int32 to uint8.\n\nThis stage can save time if used instead of the\nOutputStageSaturatingCastToUint8 stage immediately after the\nOutputStageClamp stage.\n"
    },
    {
      "commit": "1949d3c181baa4b4730159719e4aef72ea60c62d",
      "tree": "2c37aef53f8a4f122efff156aa43cf6b11cc8ec8",
      "parents": [
        "1762ea165739478b86a4211d925591a4507f16dd"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "afrunze@wavecomp.com",
        "time": "Thu Jan 17 19:18:04 2019 -0800"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Jan 18 09:19:34 2019 -0500"
      },
      "message": "MIPS: Implement an int8/LhsAlwaysNonzero kernel\n\nAlso remove most of the inferior kernels from the standalone benchmark.\n"
    },
    {
      "commit": "1762ea165739478b86a4211d925591a4507f16dd",
      "tree": "c486d408239fdf9f48821cd6cd392dd74416507b",
      "parents": [
        "2233f5e6ae1aead4f0fa951f84772737f07dd291"
      ],
      "author": {
        "name": "Tetsuo Kiso",
        "email": "tetsuokiso9@gmail.com",
        "time": "Tue Jan 15 23:47:10 2019 +0900"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Jan 15 09:56:42 2019 -0500"
      },
      "message": "Fix markdown format in kernel.md\n"
    },
    {
      "commit": "2233f5e6ae1aead4f0fa951f84772737f07dd291",
      "tree": "c9477f8153fa700a90b7b6ed5ca7f56fad3f0290",
      "parents": [
        "55680dfbd2ce8e6f3219f6c7445494402141c663"
      ],
      "author": {
        "name": "Paul Idstein",
        "email": "paulidstein@gmail.com",
        "time": "Thu Jan 10 16:19:40 2019 +0100"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Jan 10 11:03:55 2019 -0500"
      },
      "message": "fix warnings about unused parameters\n\nAddresses an issue when running with -Werror,-Wunused-parameter\r\nlee-bin@07eb865f35d6357ef9233a8fc41a5e2984958a46"
    },
    {
      "commit": "55680dfbd2ce8e6f3219f6c7445494402141c663",
      "tree": "8d59a1983b725ec9a8e39699d8426aac25cd4bbf",
      "parents": [
        "7aff33dbb0ea55ad8963f3de073a9073b6f6de5f"
      ],
      "author": {
        "name": "Tetsuo Kiso",
        "email": "tetsuokiso9@gmail.com",
        "time": "Wed Jan 09 00:55:54 2019 +0900"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Jan 08 10:58:03 2019 -0500"
      },
      "message": "Fix typo\n"
    },
    {
      "commit": "7aff33dbb0ea55ad8963f3de073a9073b6f6de5f",
      "tree": "b7def0011bf3c328876237965259d9a789127209",
      "parents": [
        "42c53187a56c12dc5518cc25e778e5e3e7dbaf72"
      ],
      "author": {
        "name": "Tetsuo Kiso",
        "email": "tetsuokiso9@gmail.com",
        "time": "Tue Jan 08 23:56:40 2019 +0900"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Jan 08 09:59:19 2019 -0500"
      },
      "message": "Fix typo\n"
    },
    {
      "commit": "42c53187a56c12dc5518cc25e778e5e3e7dbaf72",
      "tree": "80c11ef350ef5e010c15d2a78b9d99526c8c51c1",
      "parents": [
        "6a692f02f4c16ce5d493702d63039f3e74112882"
      ],
      "author": {
        "name": "linkerzhang",
        "email": "kezhan@microsoft.com",
        "time": "Mon Dec 31 15:43:51 2018 -0800"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Jan 04 09:58:14 2019 -0500"
      },
      "message": "use GEMMLOWP_NOINLINE to avoid windows build break.\n"
    },
    {
      "commit": "6a692f02f4c16ce5d493702d63039f3e74112882",
      "tree": "85d965f4565d44b928536b3215deb8cbb4b4ed1a",
      "parents": [
        "a3df028932a6b00e6ef9c4b6f1c6109f696c915d"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Dec 20 14:51:03 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Dec 20 14:51:03 2018 -0500"
      },
      "message": "Add --fix option to allow fixing up wrong encodings in place, useful when mutating already-encoded code\n"
    },
    {
      "commit": "a3df028932a6b00e6ef9c4b6f1c6109f696c915d",
      "tree": "89c9009d9b83c7359c667c4c22f8f500117b10b8",
      "parents": [
        "1490d29df3cbe8374892c8e0333075d8943435d8"
      ],
      "author": {
        "name": "Tetsuo Kiso",
        "email": "tetsuokiso9@gmail.com",
        "time": "Tue Dec 18 21:45:46 2018 +0900"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Dec 18 09:27:51 2018 -0500"
      },
      "message": "Fix typo in comments\n"
    },
    {
      "commit": "1490d29df3cbe8374892c8e0333075d8943435d8",
      "tree": "d87549dfd74034ea1ca1b88bd973732904d501a4",
      "parents": [
        "3fb5c176c17c765a3492cd2f0321b0dab712f350"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Dec 10 10:01:43 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Dec 10 10:01:43 2018 -0500"
      },
      "message": "add an experiment program to study how to interprete ARM PMU cache event counters.\n"
    },
    {
      "commit": "3fb5c176c17c765a3492cd2f0321b0dab712f350",
      "tree": "af09301c63e9145ec1d755c6a60d5a85c6fa151e",
      "parents": [
        "18e4cc012a21279b6fe4a24e7988ecdc3445cf5a"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "afrunze@wavecomp.com",
        "time": "Mon Nov 26 16:30:24 2018 -0800"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Nov 26 21:21:31 2018 -0500"
      },
      "message": "MIPS: Implement ImplSaturatingRoundingMultiplyByPOT\u003c,,-1\u003e\n"
    },
    {
      "commit": "18e4cc012a21279b6fe4a24e7988ecdc3445cf5a",
      "tree": "afb9c6fe2cb6c494f91c0ced28ff0f8d98573ea2",
      "parents": [
        "75c19aff747a71d03e648d4c5a12eb481ed3e97c"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Nov 12 22:24:00 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Nov 12 22:24:00 2018 -0500"
      },
      "message": "support encoding sdot as well as udot\n"
    },
    {
      "commit": "75c19aff747a71d03e648d4c5a12eb481ed3e97c",
      "tree": "01fd0bc49619984bab5b8eadc6117b46b1ae68e8",
      "parents": [
        "6db6c2ab9fb786a4c6ccddde863521bd529b3ef9"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "afrunze@wavecomp.com",
        "time": "Thu Nov 01 19:32:39 2018 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Nov 06 09:36:27 2018 -0500"
      },
      "message": "MIPS: Implement RoundingDivideByPOT().\n"
    },
    {
      "commit": "6db6c2ab9fb786a4c6ccddde863521bd529b3ef9",
      "tree": "ede853f90ff6827f46a8696e28b8e1fd46462be8",
      "parents": [
        "8416bab644641a5c0a81ecf91a5cda804af0aee1"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "afrunze@wavecomp.com",
        "time": "Fri Oct 19 15:47:28 2018 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Nov 06 09:35:35 2018 -0500"
      },
      "message": "MIPS: Improve saturation.\n"
    },
    {
      "commit": "8416bab644641a5c0a81ecf91a5cda804af0aee1",
      "tree": "dcb19a166e9b4a8da2ddf592dfc887fcc481619e",
      "parents": [
        "7d6d1239afdc3ec7ba1856d9a6a4c5c8c095460a"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "afrunze@wavecomp.com",
        "time": "Mon Aug 27 17:17:02 2018 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Oct 18 22:24:59 2018 -0400"
      },
      "message": "Fix #136 (test_blocking_counter)\n"
    },
    {
      "commit": "7d6d1239afdc3ec7ba1856d9a6a4c5c8c095460a",
      "tree": "3c68e98cbb83e324fcfca082b2f6fee811b77e27",
      "parents": [
        "3f87bab2e28611538dfd5da6cd6832b0be78aa8e"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Oct 16 10:01:27 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Oct 16 10:49:45 2018 -0400"
      },
      "message": "Import the new kernel contributed by ARM using the new dot-product\ninstructions (UDOT) available on newer CPUs such as Cortex-A76.\n\nThis particular kernel is not tuned for one particular CPU; it does\nwell on Cortex-A76 in particular.  ARM had contributed another kernel\nmore specifically optimized for Cortex-A55r1; it would have to be\nimported separately.\n\nContext: for ARM\u0027s contributions, see\nhttps://github.com/google/gemmlowp/pull/116\n\nNotice that the new kernel is not automatically enabled when the\ninstructions are present: the user is required to also define\na preprocessor token, GEMMLOWP_DOTPROD_KERNEL, to opt in to using\nthat kernel. Rationale: avoid worsening the ODR-violations situations\nwith more inline symbols having different definitions based on\npreprocessor tokens. Conveniently, this will also allow in the future\nto have multiple such kernels coexist, behind separate opt-in tokens.\n"
    },
    {
      "commit": "3f87bab2e28611538dfd5da6cd6832b0be78aa8e",
      "tree": "e7383841e5242c5807d1ffd7e9991a113999bef2",
      "parents": [
        "f183d881dd04b445f14089896a9204ae510a4f68"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Oct 10 10:49:37 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Oct 10 10:49:37 2018 -0400"
      },
      "message": "tiny fix to encode.py\n"
    },
    {
      "commit": "f183d881dd04b445f14089896a9204ae510a4f68",
      "tree": "fc6d8b8d67c9b33f9f3bf6443a68ac1aa1e71e96",
      "parents": [
        "b1d3c06b2ad3664fa687e950d7fdbb0b4b044709"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Oct 10 10:43:46 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Oct 10 10:43:46 2018 -0400"
      },
      "message": "further improvements on encode.py\n"
    },
    {
      "commit": "b1d3c06b2ad3664fa687e950d7fdbb0b4b044709",
      "tree": "ede95c5f37f40b5b646de3764ba82376085a4717",
      "parents": [
        "f3c2b9087a06b508a278cb8e6f79200caae1ac07"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Oct 10 10:15:55 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Oct 10 10:15:55 2018 -0400"
      },
      "message": "Minor touchups on standalone programs\n"
    },
    {
      "commit": "f3c2b9087a06b508a278cb8e6f79200caae1ac07",
      "tree": "1c6309c8576f55a9b1ae72fc2c16d6e211703223",
      "parents": [
        "2c33e3398097f67d31ad79329687191dd8861920"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Oct 09 16:44:58 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Oct 09 16:44:58 2018 -0400"
      },
      "message": "Add a tool to encode udot instructions in asm code so we compile\non any toolchain.\n"
    },
    {
      "commit": "2c33e3398097f67d31ad79329687191dd8861920",
      "tree": "757793ee1c6c9fedf06247f66e6340a95b9798d7",
      "parents": [
        "7c5f9be115ec68a41a1c12997ce7b680a7679791"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Sep 28 11:53:45 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Sep 28 11:53:45 2018 -0400"
      },
      "message": "make udot kernels build on current toolchains by manually encoding the udot instruction, and add another udot kernel, \"_narrow\"\n"
    },
    {
      "commit": "7c5f9be115ec68a41a1c12997ce7b680a7679791",
      "tree": "dcb15007dc679d3901719fc40fe7c5ee95fc257d",
      "parents": [
        "3aad16536c0212ff09c6c98f10a892b601cc31fa"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Sep 12 11:20:22 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Sep 12 11:21:49 2018 -0400"
      },
      "message": "Fix a use-after-free issue with the TLS data in the profiler,\ndiagnosed by Address Sanitizer.\n"
    },
    {
      "commit": "3aad16536c0212ff09c6c98f10a892b601cc31fa",
      "tree": "d977ebd3818c536a7d66afaa695d8e2e13ea4d93",
      "parents": [
        "719139ce755a0f31cbf1c37f7f98adcc7fc9f425"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Sep 12 10:16:33 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Sep 12 10:16:33 2018 -0400"
      },
      "message": "Fix a regression of the profiler introduced in commit\nfa273132e52dd9f9ecabc63117db73acbeead254\n\nA linter had wrongly suggested that a \u0027static int\u0027 local variable\nwas unused... it was a bit more subtle than that, see comment.\n"
    },
    {
      "commit": "719139ce755a0f31cbf1c37f7f98adcc7fc9f425",
      "tree": "08372d9192e19cc2066ddef27b4ee4ff04d98aba",
      "parents": [
        "d877b64425fc497dd5d103b7498a94ee5005e9c1"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Sep 04 14:02:51 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Sep 04 14:02:51 2018 -0400"
      },
      "message": "fix comment\n"
    },
    {
      "commit": "d877b64425fc497dd5d103b7498a94ee5005e9c1",
      "tree": "18516a200f5005e80844745bd41422eccad68eaf",
      "parents": [
        "4f098716da931d8503458792f89f87d7900c3628"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Sep 04 13:55:48 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Sep 04 13:55:48 2018 -0400"
      },
      "message": "Fix undefined behavior in the overflow case in ShiftLeft.\nWe don\u0027t care about the results in case of overflow, as they\nare going to be masked out and not actually used, but we need\nthis to avoid being Undefined Behavior.\n"
    },
    {
      "commit": "4f098716da931d8503458792f89f87d7900c3628",
      "tree": "691ca06deeb725c73a0064c2b860627b5db1bbc2",
      "parents": [
        "1080dba15992dde23b9dd30f839c134e2fa4efc3"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Sep 04 10:57:30 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Sep 04 10:57:30 2018 -0400"
      },
      "message": "lint\n"
    },
    {
      "commit": "1080dba15992dde23b9dd30f839c134e2fa4efc3",
      "tree": "0584fef06b115f5e2377cc2aeca054215e792fba",
      "parents": [
        "fa273132e52dd9f9ecabc63117db73acbeead254"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Sep 04 10:23:54 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Sep 04 10:23:54 2018 -0400"
      },
      "message": "Fixing missing header.  (Patch by Ben Vanik)\n"
    },
    {
      "commit": "fa273132e52dd9f9ecabc63117db73acbeead254",
      "tree": "0778f7e8715c5eb7c1275691c28e8e286d663162",
      "parents": [
        "dea287e2b0609cb2da0949cdc06bac6470479a4d"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Aug 30 10:18:30 2018 -0400"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Aug 30 10:23:30 2018 -0400"
      },
      "message": "Make gemmlowp multithreading correct:\n- std::memory_order_{acquire,release} in BlockingCounter\n- a mutex and std::memory_order_relaxed in Worker\n\nTweak kMaxBusyWaitNOPs.\n\nThanks to Hans Boehm.\n"
    },
    {
      "commit": "dea287e2b0609cb2da0949cdc06bac6470479a4d",
      "tree": "1982dd179717301690c2f88b5cc53bedee8943e3",
      "parents": [
        "a47fd4817066fd471e01f19a502359ff274217e8"
      ],
      "author": {
        "name": "Pete Warden",
        "email": "petewarden@google.com",
        "time": "Tue Aug 21 16:51:57 2018 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Aug 22 09:50:40 2018 -0400"
      },
      "message": "Added math header to fixed point for round() declaration\n"
    },
    {
      "commit": "a47fd4817066fd471e01f19a502359ff274217e8",
      "tree": "5baa5aa3fe33f4b8809ac0629a3a27429e05801c",
      "parents": [
        "e88547b659c10a6ec71c8bcb0603240d564f2b4f"
      ],
      "author": {
        "name": "Pete Warden",
        "email": "petewarden@google.com",
        "time": "Tue Aug 21 15:23:25 2018 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Aug 22 09:50:40 2018 -0400"
      },
      "message": "Separated platform detection into a new header, so fixed point routines can use the right architecture after previous removal of common.h header\n"
    },
    {
      "commit": "e88547b659c10a6ec71c8bcb0603240d564f2b4f",
      "tree": "d71e6de169771b2ccce636c2020ab0cfeaafcbc3",
      "parents": [
        "07eb865f35d6357ef9233a8fc41a5e2984958a46"
      ],
      "author": {
        "name": "Pete Warden",
        "email": "petewarden@google.com",
        "time": "Tue Aug 21 13:27:17 2018 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Aug 21 16:33:16 2018 -0400"
      },
      "message": "Removed fixed point dependency on wider gemmlowp headers, and added explicit casting for platforms where ints are 16-bits, to help with microcontroller portability\n"
    },
    {
      "commit": "07eb865f35d6357ef9233a8fc41a5e2984958a46",
      "tree": "878efb4790565e20b2896bcb6a7ec99de358b652",
      "parents": [
        "8724b8545dac763912d32f5515341fa83a27ab6e"
      ],
      "author": {
        "name": "Bin Li",
        "email": "libin11@xiaomi.com",
        "time": "Tue Jul 24 15:12:10 2018 +0800"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Aug 14 09:45:52 2018 -0400"
      },
      "message": "fix warnings about unused parameters\n"
    },
    {
      "commit": "8724b8545dac763912d32f5515341fa83a27ab6e",
      "tree": "09add9df77cf0902c46922fd43a28f3c22741818",
      "parents": [
        "cd685feaeb53f80cfd7aab2027716e46970559e2"
      ],
      "author": {
        "name": "Loo Rong Jie",
        "email": "loorongjie@gmail.com",
        "time": "Wed Jul 04 21:34:28 2018 +0800"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Jul 04 10:00:05 2018 -0400"
      },
      "message": "[MSVC] Enable SSE4 when AVX is turned on\n"
    },
    {
      "commit": "cd685feaeb53f80cfd7aab2027716e46970559e2",
      "tree": "f9a1ce048a8ed71d4c0bf405dce308f9e1d0341b",
      "parents": [
        "6c8f5d41aa27aec992bcb75e1279a4bcea5ba6ea"
      ],
      "author": {
        "name": "Loo Rong Jie",
        "email": "loorongjie@gmail.com",
        "time": "Wed Jul 04 21:33:32 2018 +0800"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Jul 04 09:59:28 2018 -0400"
      },
      "message": "[Bazel] Don\u0027t set -lpthread for Windows\n"
    },
    {
      "commit": "6c8f5d41aa27aec992bcb75e1279a4bcea5ba6ea",
      "tree": "44ed94fa9f1abadb6ab8c6e81c121aee2a28ec12",
      "parents": [
        "697ceea48f3505a1ae65aeb675c18cd2bba1277f"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Jun 11 18:22:50 2018 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 11 18:22:50 2018 -0400"
      },
      "message": "add missing inline keywords to fix linkage issues"
    },
    {
      "commit": "697ceea48f3505a1ae65aeb675c18cd2bba1277f",
      "tree": "53e6c631c3541c98d8f1c4deb7cd6ff591242dbb",
      "parents": [
        "38ebac7b059e84692f53e5938f97a9943c120d98"
      ],
      "author": {
        "name": "Marie White",
        "email": "mariewhite@google.com",
        "time": "Fri Jun 08 14:59:01 2018 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Jun 08 17:09:33 2018 -0700"
      },
      "message": "Add \u0027cc\u0027 and \u0027memory\u0027 to the clobbers list of NEON_64bit_GEMM_Int7Operands_AccumEightWithin16Bits and NEON_64bit_GEMM_Int425Operands kernels since they are being modified.\n"
    },
    {
      "commit": "38ebac7b059e84692f53e5938f97a9943c120d98",
      "tree": "5f1ecacbcd5acde4a8d98567e463171fef31d752",
      "parents": [
        "fc0ebb11af7dbea8a6a6d2840de26f41f2656bd6"
      ],
      "author": {
        "name": "Yong Tang",
        "email": "yong.tang.github@outlook.com",
        "time": "Mon Apr 16 17:40:58 2018 +0000"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Apr 16 15:08:04 2018 -0400"
      },
      "message": "Add malloc.h for Windows\n\nThis commit tries to fix errors in\n```\n         t:\\src\\github\\tensorflow\\cmake_build\\gemmlowp\\src\\gemmlowp\\internal\\../internal/platform.h(57): error C3861: \u0027_aligned_malloc\u0027: identifier not found (compiling source file T:\\src\\github\\tensorflow\\tensorflow\\core\\kernels\\quantized_matmul_op.cc) [T:\\src\\github\\tensorflow\\cmake_build\\tf_core_kernels.vcxproj]\n```\n\nSigned-off-by: Yong Tang \u003cyong.tang.github@outlook.com\u003e\n"
    },
    {
      "commit": "fc0ebb11af7dbea8a6a6d2840de26f41f2656bd6",
      "tree": "0643840ddaea15a09737c60a42d49dcba67b9ae8",
      "parents": [
        "85179c4022cbf2729b61ab1213a4047dbffa9071"
      ],
      "author": {
        "name": "Yong Tang",
        "email": "yong.tang.github@outlook.com",
        "time": "Mon Apr 16 17:31:03 2018 +0000"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Mon Apr 16 15:08:04 2018 -0400"
      },
      "message": "Fix compilation error in Windows\n\nThis fix tries to fix compilation error in Windows\nfor `meta/multi_thread_common.h`.\n\nIn `meta/multi_thread_common.h` the `sysconf(_SC_NPROCESSORS_CONF)` was used\nwhich is not available in Windows. This fix adds\nWindows alternative to address the build error.\n\n```\n+#ifdef _WIN32\n+    SYSTEM_INFO sysinfo;\n+    GetSystemInfo(\u0026sysinfo);\n+    return sysinfo.dwNumberOfProcessors;\n+#else\n     static const int hardware_threads_count \u003d\n         static_cast\u003cint\u003e(sysconf(_SC_NPROCESSORS_CONF));\n     return hardware_threads_count;\n+#endif\n```\n\nSigned-off-by: Yong Tang \u003cyong.tang.github@outlook.com\u003e\n"
    },
    {
      "commit": "85179c4022cbf2729b61ab1213a4047dbffa9071",
      "tree": "ec5d1d629cdc7cec92044df04b49a1d6d0b84ae3",
      "parents": [
        "d74760edd76d77e66336c90455cef10ed2e40e7d"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Apr 10 08:43:39 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Apr 10 08:48:00 2018 -0400"
      },
      "message": "add Richart Winterton to CONTRIBUTORS, clang-format and convert to unix line endings\n"
    },
    {
      "commit": "d74760edd76d77e66336c90455cef10ed2e40e7d",
      "tree": "9054d08432cba7cd60ed88496dd8a8e6436b20fd",
      "parents": [
        "ad03972a8777c72535023f4aa3c4fc2e248f03df"
      ],
      "author": {
        "name": "rrwinterton",
        "email": "rrwinterton@gmail.com",
        "time": "Tue Apr 10 05:29:30 2018 -0700"
      },
      "committer": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Tue Apr 10 08:29:30 2018 -0400"
      },
      "message": "Avx2optimizations (#122)\n\n* Add files via upload\r\n\r\n* Delete pack.h\r\n\r\n* Delete pack_avx.h\r\n\r\n* Delete output_avx.h\r\n\r\n* Delete kernel_default.h\r\n\r\n* Delete kernel_avx.h\r\n\r\n* Delete fixedpoint_avx.h\r\n\r\n* Delete fixedpoint.h\r\n\r\n* Delete common.h\r\n\r\n* avx2opt\r\n\r\n* Update fixedpoint.h\r\n\r\n* Delete fixedpoint_avx.h\r\n\r\n* avx2 optimizations\r\n\r\n* Delete Makefile.rrw\r\n\r\nRemoving simple example of Makefile for avx2\r\n\r\n* add user compiler options for simd\r\n\r\n* removed compiler option for SSE left for AVX2 optimization\r\n\r\n* remove Makefile.rrw\r\n\r\n* Added AVX2 compiler gemmlowp user option\r\n\r\n* rebased to google master avx2 optimizations\r\n\r\n* rebased avx2optimizations to the base of google gemmlowp master\r\n\r\n* avx2 optimizations\r\n\r\n* Added AVX2 compiler gemmlowp user option\r\n\r\n* rebased avx2optimizations to the base of google gemmlowp master\r\n\r\n* fix duplicated change in kregistersize\r\n"
    },
    {
      "commit": "ad03972a8777c72535023f4aa3c4fc2e248f03df",
      "tree": "a1a514b0cc88c5523052bf7ac1a8f88fdfd4c086",
      "parents": [
        "e08d0f612f02a199f2dc8d3620dfba1020526b6e"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Thu Apr 05 10:59:29 2018 -0400"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "benoitjacob@google.com",
        "time": "Thu Apr 05 11:00:40 2018 -0400"
      },
      "message": "Add profiling support to benchmark_all_sizes\n"
    },
    {
      "commit": "e08d0f612f02a199f2dc8d3620dfba1020526b6e",
      "tree": "763e501109f0db55488ed9523412d23f69271b0e",
      "parents": [
        "87510e593f378adbe16ea9b7bf2581240a1a2c73",
        "c033219c78a358b490c05d1868d1430742049a13"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Mar 30 10:44:28 2018 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 30 10:44:28 2018 -0400"
      },
      "message": "Merge pull request #132 from jalexstark/fixedpoint-constexpr\n\nAdjust use of static const / static constexpr in fixedpoint."
    },
    {
      "commit": "c033219c78a358b490c05d1868d1430742049a13",
      "tree": "763e501109f0db55488ed9523412d23f69271b0e",
      "parents": [
        "87510e593f378adbe16ea9b7bf2581240a1a2c73"
      ],
      "author": {
        "name": "Alex Stark",
        "email": "539273+jalexstark@users.noreply.github.com",
        "time": "Thu Mar 29 14:00:41 2018 -0700"
      },
      "committer": {
        "name": "Alex Stark",
        "email": "539273+jalexstark@users.noreply.github.com",
        "time": "Thu Mar 29 14:00:41 2018 -0700"
      },
      "message": "Adjust use of static const / static constexpr in fixedpoint.\n"
    },
    {
      "commit": "87510e593f378adbe16ea9b7bf2581240a1a2c73",
      "tree": "bcf88a679f903d9de1ee047b9b7b221b8b3e0d93",
      "parents": [
        "f59a96b8019a80a97c3f463ea3b4615854ea7209",
        "c318e3fc5d2bc2b8962d88ef23e31ae35523dadd"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Mar 28 10:15:44 2018 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 28 10:15:44 2018 -0400"
      },
      "message": "Merge pull request #131 from MIPS/msa_width_major\n\nMIPS: Improve the kernel by switching to width-major."
    },
    {
      "commit": "c318e3fc5d2bc2b8962d88ef23e31ae35523dadd",
      "tree": "bcf88a679f903d9de1ee047b9b7b221b8b3e0d93",
      "parents": [
        "f59a96b8019a80a97c3f463ea3b4615854ea7209"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@mips.com",
        "time": "Sat Mar 17 18:36:40 2018 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@mips.com",
        "time": "Tue Mar 27 19:39:42 2018 -0700"
      },
      "message": "MIPS: Improve the kernel by switching to width-major.\n"
    },
    {
      "commit": "f59a96b8019a80a97c3f463ea3b4615854ea7209",
      "tree": "653561b73ff26e6fb5a0694aee587ea8effa1d41",
      "parents": [
        "d6fe01d5157c4105e264d3a7efb7851192759c7e",
        "1a4582caf00dafa5de0207334435c73c2a3ca7b9"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Mar 08 09:46:20 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 08 09:46:20 2018 -0500"
      },
      "message": "Merge pull request #130 from ajtulloch/gemmlowp-wait-for-variable-change-spurious-wakeup\n\nmulti_thread_gemm.h::WaitForVariableChange: Handle spurious wakeups correctly"
    },
    {
      "commit": "1a4582caf00dafa5de0207334435c73c2a3ca7b9",
      "tree": "7c2f3a6f560398c5eaafab142dbe4da44be87327",
      "parents": [
        "5b40e389e56969ce75839412e8f9a56ac83bcaa6"
      ],
      "author": {
        "name": "Andrew Tulloch",
        "email": "andrew@tullo.ch",
        "time": "Wed Mar 07 17:14:52 2018 -0800"
      },
      "committer": {
        "name": "Andrew Tulloch",
        "email": "andrew@tullo.ch",
        "time": "Wed Mar 07 18:18:36 2018 -0800"
      },
      "message": "multi_thread_gemm.h::WaitForVariableChange: Handle spurious wakeups correctly\n"
    },
    {
      "commit": "d6fe01d5157c4105e264d3a7efb7851192759c7e",
      "tree": "55a7e7869ee54884b172f08af74b7a3398281ea6",
      "parents": [
        "5b40e389e56969ce75839412e8f9a56ac83bcaa6",
        "ea3a4bf3edc9964c2646e0e8b51d00763eaf6287"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Mar 07 21:14:19 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 07 21:14:19 2018 -0500"
      },
      "message": "Merge pull request #129 from ajtulloch/gemmlowp-fix-undefined-behaviour-in-left-shift\n\nUBSAN: Fix fixedpoint.h::ShiftLeft to not invoke undefined behaviour"
    },
    {
      "commit": "ea3a4bf3edc9964c2646e0e8b51d00763eaf6287",
      "tree": "55a7e7869ee54884b172f08af74b7a3398281ea6",
      "parents": [
        "5b40e389e56969ce75839412e8f9a56ac83bcaa6"
      ],
      "author": {
        "name": "Andrew Tulloch",
        "email": "andrew@tullo.ch",
        "time": "Wed Mar 07 17:11:01 2018 -0800"
      },
      "committer": {
        "name": "Andrew Tulloch",
        "email": "andrew@tullo.ch",
        "time": "Wed Mar 07 17:11:01 2018 -0800"
      },
      "message": "UBSAN: Fix fixedpoint.h::ShiftLeft to not invoke undefined behaviour\n"
    },
    {
      "commit": "5b40e389e56969ce75839412e8f9a56ac83bcaa6",
      "tree": "09876083791d7fbe6367417bca01b752d6978c47",
      "parents": [
        "ecae4d1ce525c72d72def5ce9a3926b00c9307ea",
        "34637772c3e1707d0be7fd2cc5f4630cac7dc7f3"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Sat Mar 03 07:48:08 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 03 07:48:08 2018 -0500"
      },
      "message": "Merge pull request #128 from mariecwhite/sevenbit\n\nAdd 7-bit and 4-bit instrinsics and asm kernels"
    },
    {
      "commit": "34637772c3e1707d0be7fd2cc5f4630cac7dc7f3",
      "tree": "09876083791d7fbe6367417bca01b752d6978c47",
      "parents": [
        "abc0fdba67e2db43b8f705cc342e77261a3cd1cf"
      ],
      "author": {
        "name": "Marie White",
        "email": "mariewhite@google.com",
        "time": "Thu Mar 01 11:31:05 2018 -0800"
      },
      "committer": {
        "name": "Marie White",
        "email": "mariewhite@google.com",
        "time": "Thu Mar 01 11:31:05 2018 -0800"
      },
      "message": "Add mariewhite@ to list of contributors\n"
    },
    {
      "commit": "abc0fdba67e2db43b8f705cc342e77261a3cd1cf",
      "tree": "ba7043f5e867b0a91e039ec2f91a6eee311d1107",
      "parents": [
        "73184f49762030ff9457ea2d866cb19e145a46b2"
      ],
      "author": {
        "name": "Marie White",
        "email": "mariewhite@google.com",
        "time": "Thu Mar 01 10:41:24 2018 -0800"
      },
      "committer": {
        "name": "Marie White",
        "email": "mariewhite@google.com",
        "time": "Thu Mar 01 11:20:10 2018 -0800"
      },
      "message": "Add 4-bit GEMM asm and intrinsics kernel\n"
    },
    {
      "commit": "73184f49762030ff9457ea2d866cb19e145a46b2",
      "tree": "784fe7bcd868cd3c651facb4f7de7aba3c0939a1",
      "parents": [
        "d41349dd87c7a20a8bd287973efc5d352ae589e2"
      ],
      "author": {
        "name": "Marie White",
        "email": "mariewhite@google.com",
        "time": "Thu Mar 01 10:37:39 2018 -0800"
      },
      "committer": {
        "name": "Marie White",
        "email": "mariewhite@google.com",
        "time": "Thu Mar 01 11:20:10 2018 -0800"
      },
      "message": "Add 7-bit GEMM asm and intrinsics kernel\n"
    },
    {
      "commit": "d41349dd87c7a20a8bd287973efc5d352ae589e2",
      "tree": "426a46d45c939956d771132a1735aa82edefaa50",
      "parents": [
        "ecae4d1ce525c72d72def5ce9a3926b00c9307ea"
      ],
      "author": {
        "name": "Marie White",
        "email": "mariewhite@google.com",
        "time": "Thu Mar 01 10:17:35 2018 -0800"
      },
      "committer": {
        "name": "Marie White",
        "email": "mariewhite@google.com",
        "time": "Thu Mar 01 11:14:57 2018 -0800"
      },
      "message": "Add kernel operand ranges to standalone benchmark\n"
    },
    {
      "commit": "ecae4d1ce525c72d72def5ce9a3926b00c9307ea",
      "tree": "eea6b23593400fab30e8007a7c0e1eb60a620da9",
      "parents": [
        "7c7c744640ddc3d0af18fb245b4d23228813a71b",
        "c9bd4385933d03976e765dddf762640d017ae7c7"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Feb 16 22:44:45 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 16 22:44:45 2018 -0500"
      },
      "message": "Merge pull request #125 from MIPS/mips_cast16\n\nMIPS: Add output stage casting to int16"
    },
    {
      "commit": "c9bd4385933d03976e765dddf762640d017ae7c7",
      "tree": "eea6b23593400fab30e8007a7c0e1eb60a620da9",
      "parents": [
        "7c7c744640ddc3d0af18fb245b4d23228813a71b"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@mips.com",
        "time": "Thu Feb 15 19:38:02 2018 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@mips.com",
        "time": "Fri Feb 16 14:41:01 2018 -0800"
      },
      "message": "MIPS: Add output stage casting to int16\n\nThis fixes test build break.\n\nThis also introduces a workaround for broken intrinsic\n__builtin_msa_maddv_w() in gcc.\n"
    },
    {
      "commit": "7c7c744640ddc3d0af18fb245b4d23228813a71b",
      "tree": "0e0d994916997d4fb2a9d8baf62c13a4d4875f27",
      "parents": [
        "d4d1e29a62192d8defdc057b913ef36ca582ac98",
        "416992ac27fa0b7d41d3983a33647f6562c79efc"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Feb 14 16:23:46 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 14 16:23:46 2018 -0500"
      },
      "message": "Merge pull request #124 from bjacob/updates-for-fast-lstm\n\nUpdates for fast lstm"
    },
    {
      "commit": "416992ac27fa0b7d41d3983a33647f6562c79efc",
      "tree": "0e0d994916997d4fb2a9d8baf62c13a4d4875f27",
      "parents": [
        "9d7ae8240052f20c1e1bbab46b5d134e840946f6"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Feb 14 16:20:32 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Feb 14 16:20:32 2018 -0500"
      },
      "message": "add OutputStageScaleInt32ByFixedPointAndExponent\n"
    },
    {
      "commit": "9d7ae8240052f20c1e1bbab46b5d134e840946f6",
      "tree": "7bd278d523398d05f022b6aeccdcfd056f4adb10",
      "parents": [
        "15a66adeb1bc5af91b36c6460f79ada58463f9a2"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Feb 14 13:51:50 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Feb 14 13:51:50 2018 -0500"
      },
      "message": "Add output stage casting to int16\n"
    },
    {
      "commit": "15a66adeb1bc5af91b36c6460f79ada58463f9a2",
      "tree": "0fa409db2dbdc795571b6e47012416bf2e34bacc",
      "parents": [
        "d4d1e29a62192d8defdc057b913ef36ca582ac98"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Feb 14 13:51:25 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Feb 14 13:51:25 2018 -0500"
      },
      "message": "rename: s/OutputStageQuantizeDownInt32ToUint8ScaleByFixedPoint/OutputStageQuantizeDownInt32ByFixedPoint/g - and keep the old name supported for compatibility\n"
    },
    {
      "commit": "d4d1e29a62192d8defdc057b913ef36ca582ac98",
      "tree": "c77536fbc2d0a76889314615e3e69395543b0dc3",
      "parents": [
        "c45f8f518bd5729fef44f9a144545affafa8fd5e"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Feb 02 11:48:41 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Feb 02 11:48:41 2018 -0500"
      },
      "message": "compilation fixes\n"
    },
    {
      "commit": "c45f8f518bd5729fef44f9a144545affafa8fd5e",
      "tree": "ae684bf471a86d6be86f46187736843e262f7eeb",
      "parents": [
        "95af7df686891bd5f54edadfe841b580e4d6a719",
        "80c9ee59cb5745904675a431c5203f11df55d0c4"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Feb 02 10:50:22 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 02 10:50:22 2018 -0500"
      },
      "message": "Merge pull request #123 from MIPS/mips_fixedpoint16bit\n\nMIPS: Add 16-bit support to gemmlowp/fixedpoint \u0026 math functions"
    },
    {
      "commit": "95af7df686891bd5f54edadfe841b580e4d6a719",
      "tree": "20ed7744a0528888c898c158a3fc7246d4508ae3",
      "parents": [
        "f4763b640a2f20dccfdaa6f545f59c2c7f34c502"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Feb 02 10:39:21 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Fri Feb 02 10:39:21 2018 -0500"
      },
      "message": "fix compilation\n"
    },
    {
      "commit": "80c9ee59cb5745904675a431c5203f11df55d0c4",
      "tree": "4b93e56343dee2d38386281640d4a91c46291cc8",
      "parents": [
        "f4763b640a2f20dccfdaa6f545f59c2c7f34c502"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@mips.com",
        "time": "Thu Feb 01 19:51:54 2018 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@mips.com",
        "time": "Thu Feb 01 19:51:54 2018 -0800"
      },
      "message": "MIPS: Add 16-bit support to gemmlowp/fixedpoint \u0026 math functions\n"
    },
    {
      "commit": "f4763b640a2f20dccfdaa6f545f59c2c7f34c502",
      "tree": "f4fed8842a09f2096902168730531dc2bb501cc7",
      "parents": [
        "304ac7424579384bc5375d751a36104d4f36e136"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Feb 01 17:18:40 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Thu Feb 01 17:18:40 2018 -0500"
      },
      "message": "compilation fixes\n"
    },
    {
      "commit": "304ac7424579384bc5375d751a36104d4f36e136",
      "tree": "40b70a70d81b157c6dfa46dad1b7dd3d6996b6bf",
      "parents": [
        "d77359f7f835f8cef5fb824a0f3b60147dfb2b0d"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Jan 31 17:11:46 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Jan 31 17:11:46 2018 -0500"
      },
      "message": "fix trailing whitespace in script\n"
    },
    {
      "commit": "d77359f7f835f8cef5fb824a0f3b60147dfb2b0d",
      "tree": "36cb46851f46c5f01fbd5c8a2e97fbd1885bf0c1",
      "parents": [
        "6da0669f670317596db44a52eb74dd45bda701be",
        "4c5cbde85e5fab69c0844f0038bf63c007dc5793"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Jan 31 16:56:28 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Jan 31 16:56:28 2018 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:google/gemmlowp\n"
    },
    {
      "commit": "6da0669f670317596db44a52eb74dd45bda701be",
      "tree": "56a7353919d6760a74bc4bee5afb52efe70babd9",
      "parents": [
        "3977925f88cc7a3cdea6f213e5b415031e01a82e"
      ],
      "author": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Jan 31 16:48:42 2018 -0500"
      },
      "committer": {
        "name": "Benoit Jacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Jan 31 16:53:33 2018 -0500"
      },
      "message": "clang-format\n"
    },
    {
      "commit": "4c5cbde85e5fab69c0844f0038bf63c007dc5793",
      "tree": "888b6b864a0c0f244e5763e5418d1816774482ba",
      "parents": [
        "3977925f88cc7a3cdea6f213e5b415031e01a82e",
        "322a0fcba87d2f9d2d12f2be2bfa9d9402d6741b"
      ],
      "author": {
        "name": "bjacob",
        "email": "jacob.benoit.1@gmail.com",
        "time": "Wed Jan 31 16:28:30 2018 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 31 16:28:30 2018 -0500"
      },
      "message": "Merge pull request #113 from achille/master\n\nAdd a flag: GEMMLOWP_DISABLE_SSE4 to selectively allow disabling SSE4"
    }
  ],
  "next": "3977925f88cc7a3cdea6f213e5b415031e01a82e"
}
