)]}'
{
  "commit": "e2b9566fc5b99012805a87c2ee972f6bc8a400df",
  "tree": "520f66122bc42f6bcf2c7d74f97c8789fecf93fc",
  "parents": [
    "605b10a49229bc9ab69f313248617e377da6e96c"
  ],
  "author": {
    "name": "Nigel Tao",
    "email": "nigeltao@golang.org",
    "time": "Sun Jul 23 21:20:35 2023 +1000"
  },
  "committer": {
    "name": "Nigel Tao",
    "email": "nigeltao@golang.org",
    "time": "Sun Jul 23 21:20:35 2023 +1000"
  },
  "message": "base: restrict x86_avx2 to 64-bit (not 32-bit) x86\n\n32-bit C/C++ compilers don\u0027t always compile the AVX intrinsics. Per the\n60773 bug below,\n\u003e clang++ -m32 etc etc fuzz/c/std/jpeg_fuzzer.c\n\u003e undefined reference to `_mm_cvtsi128_si64\u0027\n\u003e undefined reference to `_mm256_extract_epi64\u0027\n\nSee also the \"#ifdef __x86_64__\" guards in\nhttps://github.com/gcc-mirror/gcc/blob/4a3895903c29ed85da6fcb886f31ff23d4c6e935/gcc/config/i386/emmintrin.h#L228-L231\nhttps://github.com/llvm/llvm-project/blob/08fab9ebecf72a682279d75489dc2460121cbeed/clang/lib/Headers/emmintrin.h#L3502-L3515\n\nNote that -m32 is not the same as -mx32\n\u003e $ touch empty.c\n\u003e $ gcc       -dM -E empty.c | grep -E \u0027__i386__|__x86_64__\u0027\n\u003e #define __x86_64__ 1\n\u003e $ gcc -m32  -dM -E empty.c | grep -E \u0027__i386__|__x86_64__\u0027\n\u003e #define __i386__ 1\n\u003e $ gcc -mx32 -dM -E empty.c | grep -E \u0027__i386__|__x86_64__\u0027\n\u003e #define __x86_64__ 1\n\nUpdates https://bugs.chromium.org/p/oss-fuzz/issues/detail?id\u003d60773\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "682c6a4e99f0ec115377660a13cd87951e69e849",
      "old_mode": 33188,
      "old_path": "internal/cgen/base/fundamental-public.h",
      "new_id": "617343a9376b3ad0bc4de1450763415e0f648905",
      "new_mode": 33188,
      "new_path": "internal/cgen/base/fundamental-public.h"
    },
    {
      "type": "modify",
      "old_id": "7f12939f21fd3a5f335629fadbc886ce1e3b3013",
      "old_mode": 33188,
      "old_path": "internal/cgen/base/pixconv-submodule-regular.c",
      "new_id": "568e628ad1fbc05cae430ae8e684231088d5e3de",
      "new_mode": 33188,
      "new_path": "internal/cgen/base/pixconv-submodule-regular.c"
    },
    {
      "type": "modify",
      "old_id": "4abbb410dbdba3e5af341ab8c764560b5abb2aec",
      "old_mode": 33188,
      "old_path": "internal/cgen/base/pixconv-submodule-x86-avx2.c",
      "new_id": "650047f82b2517271f7a7423bd83f66ef653ae80",
      "new_mode": 33188,
      "new_path": "internal/cgen/base/pixconv-submodule-x86-avx2.c"
    },
    {
      "type": "modify",
      "old_id": "f27f434aeb83c4202a67e27ccb46d2e54af6116b",
      "old_mode": 33188,
      "old_path": "internal/cgen/base/pixconv-submodule-ycck.c",
      "new_id": "adf8d24ccf0695d8cfd684e41bb58c93ff602cd3",
      "new_mode": 33188,
      "new_path": "internal/cgen/base/pixconv-submodule-ycck.c"
    },
    {
      "type": "modify",
      "old_id": "dc7d465cb3fa2999d8217a3c3d325d27ab6af625",
      "old_mode": 33188,
      "old_path": "internal/cgen/statement.go",
      "new_id": "d98edc3853cea401dcfae8d7e8898bc8810a70cb",
      "new_mode": 33188,
      "new_path": "internal/cgen/statement.go"
    },
    {
      "type": "modify",
      "old_id": "906ebe7451cafc98239e3eff45c40df424cfe929",
      "old_mode": 33188,
      "old_path": "release/c/wuffs-unsupported-snapshot.c",
      "new_id": "cf5b53fed09b73952ef063ff2a724b898d4e6145",
      "new_mode": 33188,
      "new_path": "release/c/wuffs-unsupported-snapshot.c"
    },
    {
      "type": "modify",
      "old_id": "83d9cee1d0e00b28026a28430af0a5a97c063364",
      "old_mode": 33188,
      "old_path": "test/c/std/jpeg.c",
      "new_id": "e8d6b3ee11d8a2350a8f05a428481a54005bc346",
      "new_mode": 33188,
      "new_path": "test/c/std/jpeg.c"
    }
  ]
}
