)]}'
{
  "commit": "98f14800c1496bad443ee8ada8f2ecf8220f1168",
  "tree": "d01d721a37480b9dd7eab1cea3dc21c9898e7dae",
  "parents": [
    "4529cef56b4330e41a08140a3f3500d08a72ccda"
  ],
  "author": {
    "name": "Jeff Bailey",
    "email": "jbailey@raspberryginger.com",
    "time": "Thu May 07 12:25:32 2026 +0100"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu May 07 04:31:06 2026 -0700"
  },
  "message": "[libc] Add generic cpp::byteswap to CPP/bit.h (#196274)\n\nAdded a constexpr byteswap template using recursive half-swap\ndecomposition. Accepts all integral types, matching C++23 std::byteswap\nsemantics. Signed types delegate to the unsigned path via static_cast,\nwhich the compiler elides entirely.\n\nA single recursive template handles all sizes from 8 to 128 bits with no\nper-width specialisations or builtin fallbacks needed. Produces optimal\nbswap/rolw instructions on Clang at -O2. A static_assert rejects types\nlarger than 128 bits.\n\nRefactored endian_internal.h to call cpp::byteswap directly, replacing\nthe explicit template specialisations and builtin dispatch.\n\nAssisted-by: Automated tooling, human reviewed.\nGitOrigin-RevId: d24638888a16010c79bf7c45174b6afcc5b51671\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6eab12ec8b637c204f9188f34b12d81d97819817",
      "old_mode": 33188,
      "old_path": "src/__support/CMakeLists.txt",
      "new_id": "098fb6ef86936d637c8e11409ab4063bb504cdab",
      "new_mode": 33188,
      "new_path": "src/__support/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "0ba8b9219a317cafec46b50e3b1d4abecb2754db",
      "old_mode": 33188,
      "old_path": "src/__support/CPP/bit.h",
      "new_id": "3dfa81017472d24f009a483160f8f06c7582d1f7",
      "new_mode": 33188,
      "new_path": "src/__support/CPP/bit.h"
    },
    {
      "type": "modify",
      "old_id": "07cde7b905c4d3f0afcd8d99926ecfd832ee38a6",
      "old_mode": 33188,
      "old_path": "src/__support/endian_internal.h",
      "new_id": "8d81329fd243d0c524659490d849542d33fba5f5",
      "new_mode": 33188,
      "new_path": "src/__support/endian_internal.h"
    },
    {
      "type": "modify",
      "old_id": "891e693e0c953ec090f5b5e29fe4731484867ca4",
      "old_mode": 33188,
      "old_path": "test/src/__support/CPP/bit_test.cpp",
      "new_id": "bf22abe5b7d4ac8826819bada18d9b9192488b8b",
      "new_mode": 33188,
      "new_path": "test/src/__support/CPP/bit_test.cpp"
    }
  ]
}
