)]}'
{
  "commit": "07f2d4237eade624182b1cf11f1f516985aed620",
  "tree": "fad27d61fc7e05c8bc08662fd1caa4fb2bea928e",
  "parents": [
    "3382ba45561ea82a1d8976578b2a41facff3b8bc"
  ],
  "author": {
    "name": "Ilya Leoshkevich",
    "email": "iii@linux.ibm.com",
    "time": "Wed Sep 10 11:28:03 2025 +0200"
  },
  "committer": {
    "name": "Mark Adler",
    "email": "git@madler.net",
    "time": "Tue Jan 27 20:22:17 2026 -0800"
  },
  "message": "Vectorize the CRC-32 calculation on the s390x.\n\nUse vector extensions when compiling for s390x and binutils knows\nabout them. At runtime, check whether kernel supports vector\nextensions (it has to be not just the CPU, but also the kernel)\nand choose between the regular and the vectorized implementations.\n\nCo-authored-by: Eduard Stefes \u003ceddy@linux.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8aa8751fb129b6a66055599196cb51544166ef78",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "8a8fde79267569ba75990db37d9fe07706ae74fa",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "52d5c2c4041643aef0cc55dad48d95b5fb33979c",
      "old_mode": 33188,
      "old_path": "Makefile.in",
      "new_id": "d9de5630769ed6c4340c28d75507fcf733284d35",
      "new_mode": 33188,
      "new_path": "Makefile.in"
    },
    {
      "type": "modify",
      "old_id": "3770b03d2eb39052a8b68881b78f6f4fcff3e11a",
      "old_mode": 33261,
      "old_path": "configure",
      "new_id": "05bee1f493022f60e698ff3423758c96d733a30d",
      "new_mode": 33261,
      "new_path": "configure"
    },
    {
      "type": "modify",
      "old_id": "8ec3bbd94bc3a90bd0b5bdcf3310cc1278b92468",
      "old_mode": 33188,
      "old_path": "contrib/CMakeLists.txt",
      "new_id": "37a3491fbc8adddae70d941e1df809e882c8596f",
      "new_mode": 33188,
      "new_path": "contrib/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "d9480eeacd6ad3e4d59480775ab17d45ae82cbb9",
      "old_mode": 33188,
      "old_path": "contrib/README.contrib",
      "new_id": "173f1d4811536f60bd1f8507eed884285ab816b3",
      "new_mode": 33188,
      "new_path": "contrib/README.contrib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ee46fa3ac697e14f342a8ae6b6cb12482c1e6cf4",
      "new_mode": 33188,
      "new_path": "contrib/crc32vx/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "329610d5690d9dc8f42018475fbbb0eb509dca26",
      "new_mode": 33188,
      "new_path": "contrib/crc32vx/README"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e718e3404e399c9fdc213cc6202274b5ae63eedd",
      "new_mode": 33188,
      "new_path": "contrib/crc32vx/crc32_vx.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "951c3188ab2ec7c791f72862e05f5d6fbbf7c67c",
      "new_mode": 33188,
      "new_path": "contrib/crc32vx/crc32_vx_hooks.h"
    },
    {
      "type": "modify",
      "old_id": "4cc573f858c5c3f76319c8d76105106dce7bb5ff",
      "old_mode": 33188,
      "old_path": "crc32.c",
      "new_id": "4d5f5b23d85e2010beb99b5a02db9174294d28c0",
      "new_mode": 33188,
      "new_path": "crc32.c"
    }
  ]
}
