)]}'
{
  "commit": "86f4e50375080c1e8a7ba1544e8648ef97625160",
  "tree": "ec565d4fee1c1710516642776624e2d4859b584a",
  "parents": [
    "403de00f4369dcfc3e5cf82299c18ec16559d405"
  ],
  "author": {
    "name": "Connal de Souza",
    "email": "connaldesouza@google.com",
    "time": "Wed Sep 02 11:34:19 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Sep 02 11:35:29 2026 -0700"
  },
  "message": "Merge CRC+memcpy functionality into Extend function.\n\nThis improves performance through improved instruction level parallelism.  We mostly do the copying separately, but in lockstep with the crc streams. We don\u0027t reuse the loads between the crc calculation and the copy, since the loads are to different register types, except for VPCLMUL streams. We also force AVX loads and stores for platforms that support them, even if the rest of the binary is built without AVX support. Also explicitly disallow PCLMUL streams on platforms that do not support AVX, so we can split out the AVX instructions to an implementation only for large copies that support AVX (or are not x86).\n\nPiperOrigin-RevId: 975239746\nChange-Id: I40610e23dc81045f0511e08f39ce11dfe4447804\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "902056373c4a87af336ee4d78d96812d53ccd634",
      "old_mode": 33188,
      "old_path": "absl/crc/crc32c.cc",
      "new_id": "3c5e59b29b26108472cdcda36a2e119ada8d6678",
      "new_mode": 33188,
      "new_path": "absl/crc/crc32c.cc"
    },
    {
      "type": "modify",
      "old_id": "ec6a031c512e6faf3b1e2e6d18780bf36797aee8",
      "old_mode": 33188,
      "old_path": "absl/crc/internal/crc.cc",
      "new_id": "80192488493fd01aa103ea0adf7b8168a099a3ae",
      "new_mode": 33188,
      "new_path": "absl/crc/internal/crc.cc"
    },
    {
      "type": "modify",
      "old_id": "90e05f1a89bbfbd06df311f37eea9a008c2f70bb",
      "old_mode": 33188,
      "old_path": "absl/crc/internal/crc.h",
      "new_id": "49487c62f73611ffd558c3c90845d6bc83cd0f2c",
      "new_mode": 33188,
      "new_path": "absl/crc/internal/crc.h"
    },
    {
      "type": "modify",
      "old_id": "c50a3013c741d8d4c78e4b793cd5e37c68d4a7b3",
      "old_mode": 33188,
      "old_path": "absl/crc/internal/crc32_x86_arm_combined_simd.h",
      "new_id": "3acde8017f8742283297437a52202c582c4e2971",
      "new_mode": 33188,
      "new_path": "absl/crc/internal/crc32_x86_arm_combined_simd.h"
    },
    {
      "type": "modify",
      "old_id": "a0fed65afa2c2c29c57b0c6a76d34355d2aa8b86",
      "old_mode": 33188,
      "old_path": "absl/crc/internal/crc_memcpy.h",
      "new_id": "72d7ce4a9d330738ee20a23667e219389f319e55",
      "new_mode": 33188,
      "new_path": "absl/crc/internal/crc_memcpy.h"
    },
    {
      "type": "modify",
      "old_id": "edffd36717d469692c6545e91f44ebe51f9e13e9",
      "old_mode": 33188,
      "old_path": "absl/crc/internal/crc_x86_arm_combined.cc",
      "new_id": "eb93e57dc7624efc7c9ffac1df9edf8af27230b1",
      "new_mode": 33188,
      "new_path": "absl/crc/internal/crc_x86_arm_combined.cc"
    }
  ]
}
