)]}'
{
  "commit": "ba76be9c75d35798a397a8f6d741cc360a3026ae",
  "tree": "fcec764b17a27517fe5e897e6e50fe8ea79b09a5",
  "parents": [
    "1fcfbfd745168b6e6a1b2a78026edd8cef046ceb"
  ],
  "author": {
    "name": "Andres Erbsen",
    "email": "andreser@google.com",
    "time": "Mon Jun 01 23:24:41 2026 -0700"
  },
  "committer": {
    "name": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jun 02 15:41:28 2026 -0700"
  },
  "message": "Replace most of P-256 assembly code with C\n\nBenchmark (X64 full)                                 Time             CPU      Time Old      Time New       CPU Old       CPU New\n---------------------------------------------------------------------------------------------------------------------------------\nBM_SpeedECDH/p256/threads:1                       +0.0012         +0.0012        146195        146366        146138        146319\nBM_SpeedECDSASign/p256/threads:1                  -0.0509         -0.0511         61778         58631         61762         58608\nBM_SpeedECDSAVerify/p256/threads:1                +0.0079         +0.0078        113813        114712        113780        114669\nOVERALL_GEOMEAN                                   -0.0143         -0.0144             0             0             0             0\n\nBenchmark (X64 full)                                 Time             CPU      Time Old      Time New       CPU Old       CPU New\n---------------------------------------------------------------------------------------------------------------------------------\nBM_SpeedECDH/p256/threads:1                       +0.0063         +0.0066        146195        147118        146138        147101\nBM_SpeedECDSASign/p256/threads:1                  -0.0434         -0.0432         61778         59098         61762         59091\nBM_SpeedECDSAVerify/p256/threads:1                +0.0259         +0.0259        113813        116760        113780        116725\nOVERALL_GEOMEAN                                   -0.0042         -0.0040             0             0             0             0\n\nBenchmark (X64 small)                                Time             CPU      Time Old      Time New       CPU Old       CPU New\n---------------------------------------------------------------------------------------------------------------------------------\nBM_SpeedECDH/p256/threads:1                       -0.0982         -0.0982         76798         69259         76769         69234\nBM_SpeedECDSASign/p256/threads:1                  -0.2843         -0.2843         37843         27085         37827         27074\nBM_SpeedECDSAVerify/p256/threads:1                -0.2139         -0.2139         71935         56548         71909         56528\nOVERALL_GEOMEAN                                   -0.2024         -0.2024             0             0             0             0\n\nBenchmark (AArch64 full)                             Time             CPU      Time Old      Time New       CPU Old       CPU New\n---------------------------------------------------------------------------------------------------------------------------------\nBM_SpeedECDH/p256/threads:1                       +0.1155         +0.1160         53096         59229         52977         59123\nBM_SpeedECDSASign/p256/threads:1                  +0.0310         +0.0313         19131         19724         19093         19691\nBM_SpeedECDSAVerify/p256/threads:1                +0.1186         +0.1190         47258         52861         47159         52773\nOVERALL_GEOMEAN                                   +0.0876         +0.0880             0             0             0             0\n\nBenchmark (AArch64 small)                            Time             CPU      Time Old      Time New       CPU Old       CPU New\n---------------------------------------------------------------------------------------------------------------------------------\nBM_SpeedECDH/p256/threads:1                       -0.4665         -0.4666        121953         65063        121647         64892\nBM_SpeedECDSASign/p256/threads:1                  -0.4952         -0.4953         50219         25349         50118         25293\nBM_SpeedECDSAVerify/p256/threads:1                -0.4997         -0.4997        104284         52178        104045         52058\nOVERALL_GEOMEAN                                   -0.4811         -0.4746             0             0             0             0\n\nBenchmark (SSE32 on X64)                             Time             CPU      Time Old      Time New       CPU Old       CPU New\n---------------------------------------------------------------------------------------------------------------------------------\nBM_SpeedECDH/p256/threads:1                       -0.0813         -0.0813        769580        706976        769293        706712\nBM_SpeedECDSASign/p256/threads:1                  -0.1820         -0.1820        288068        235645        287970        235555\nBM_SpeedECDSAVerify/p256/threads:1                -0.1031         -0.1032        687829        616947        687620        616690\nOVERALL_GEOMEAN                                   -0.1232         -0.1233             0             0             0             0\n\nCo-authored-by: Miriam Polzer \u003cmpolzer@google.com\u003e\nChange-Id: Ic03a53963ae7a3a6b7d43eadf197fb59be2bc7f3\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/74627\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nPresubmit-BoringSSL-Verified: boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cboringssl-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "358a8c319d24d5132378ac6d080814b6dda44f3a",
      "old_mode": 33188,
      "old_path": "build.json",
      "new_id": "d0eb60cce45e4f2fd1f63174fe9601f614b39ea5",
      "new_mode": 33188,
      "new_path": "build.json"
    },
    {
      "type": "modify",
      "old_id": "f39f934f4314b18a988216bd099ca7f92f510bee",
      "old_mode": 33188,
      "old_path": "crypto/ecdh/ecdh_test.cc",
      "new_id": "9a81f4a7b0fa055d1c2b2aecc5ea60d7cad715c8",
      "new_mode": 33188,
      "new_path": "crypto/ecdh/ecdh_test.cc"
    },
    {
      "type": "modify",
      "old_id": "b0eae679e4825b4534956aeafea4ace16bd80a9d",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/bcm.cc",
      "new_id": "7cb8410b65ad75518499c9d9675b8df3ffec1ee1",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/bcm.cc"
    },
    {
      "type": "modify",
      "old_id": "f844cbf6d4e04499f4ca8dc006e9736d7f9a388c",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/asm/p256-armv8-asm.pl",
      "new_id": "4b3016bf1199cc67ae75a0cadf0621d1d86b19a3",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/asm/p256-armv8-asm.pl"
    },
    {
      "type": "modify",
      "old_id": "08a6a934ae06c5f51a75b401662d56146a95e6d9",
      "old_mode": 33261,
      "old_path": "crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl",
      "new_id": "7a366b853cf5488ba48c25108f0d19e1f5662e6b",
      "new_mode": 33261,
      "new_path": "crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl"
    },
    {
      "type": "modify",
      "old_id": "5c795d90ac58e683168dd49a4b0dd03e661b430c",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/ec.cc.inc",
      "new_id": "e23d43633986dc91f8a4a91e18f2342863de5697",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/ec.cc.inc"
    },
    {
      "type": "modify",
      "old_id": "2261f201fb8b217a22d5bacba377b9dc6dba59e7",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/internal.h",
      "new_id": "14fe00661ebe6b6a34af6b806026238659a9fb13",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/internal.h"
    },
    {
      "type": "delete",
      "old_id": "0e2d282c92eb32134a570d125063c920b53070cd",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/p256-nistz.cc.inc",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "43da01cf12dac8383a26ee7817ecaf7941f6b355",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/p256-nistz.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "e32894e4b91b4581ce8ca64359d3e753bdbbedab",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/p256-nistz_test.cc",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "099564f071544f5379eea19444d2867cc395f15a",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/p256-nistz_tests.txt",
      "new_id": "099564f071544f5379eea19444d2867cc395f15a",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/p256-tests.txt",
      "score": 100
    },
    {
      "type": "modify",
      "old_id": "a67923d2972300f78ad59b3ddfcbf3fed316ec43",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/p256.cc.inc",
      "new_id": "6ce9471a5519152e8296a095025c32b93d2a9803",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/p256.cc.inc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a320e0cebdfbd89446c162dce292cdd8786f8528",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/p256_internal.h"
    },
    {
      "type": "modify",
      "old_id": "a8039c38568bc565389e5b6c4d3f385c21aef9ba",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/p256_test.cc",
      "new_id": "3439d1ba60b7c49cc9c2c0b3f7d635cf55496139",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/p256_test.cc"
    },
    {
      "type": "modify",
      "old_id": "7c835fa96304699e4a436ec702a43cda4fe75e3f",
      "old_mode": 33188,
      "old_path": "crypto/internal.h",
      "new_id": "dcc109ac5202322121470bdb5ac3edb4acd5e8b4",
      "new_mode": 33188,
      "new_path": "crypto/internal.h"
    },
    {
      "type": "modify",
      "old_id": "283240fb1869b0b857b5dc8585258048fad8b2b0",
      "old_mode": 33188,
      "old_path": "gen/bcm/p256-armv8-asm-apple.S",
      "new_id": "2f18db1ba72bb6d7155c24c19479b1d33320f153",
      "new_mode": 33188,
      "new_path": "gen/bcm/p256-armv8-asm-apple.S"
    },
    {
      "type": "modify",
      "old_id": "1d63f024273f180ebf15d02b66f83c4c676deb96",
      "old_mode": 33188,
      "old_path": "gen/bcm/p256-armv8-asm-linux.S",
      "new_id": "36295daed6b24aea026c2fa75011d987b66c3c8a",
      "new_mode": 33188,
      "new_path": "gen/bcm/p256-armv8-asm-linux.S"
    },
    {
      "type": "modify",
      "old_id": "f15b8ab010a72a519f7ca06ba61afd2b19cb6aa4",
      "old_mode": 33188,
      "old_path": "gen/bcm/p256-armv8-asm-win.S",
      "new_id": "985678032688c69e41e57cfb220c2c75946863e2",
      "new_mode": 33188,
      "new_path": "gen/bcm/p256-armv8-asm-win.S"
    },
    {
      "type": "modify",
      "old_id": "80ffa014dd88bb552a3718d380c8ad59a4ec5458",
      "old_mode": 33188,
      "old_path": "gen/bcm/p256-x86_64-asm-apple.S",
      "new_id": "6bde21e7d5394d69580589ac044a634ba2b7d72b",
      "new_mode": 33188,
      "new_path": "gen/bcm/p256-x86_64-asm-apple.S"
    },
    {
      "type": "modify",
      "old_id": "c54d57724d471ee7d491ee67ce11ed0c88cd02a5",
      "old_mode": 33188,
      "old_path": "gen/bcm/p256-x86_64-asm-linux.S",
      "new_id": "04733ab6352c7784b1b9085e92717c53858364be",
      "new_mode": 33188,
      "new_path": "gen/bcm/p256-x86_64-asm-linux.S"
    },
    {
      "type": "modify",
      "old_id": "729e8ecef83204443892604122cefca3e9f6228b",
      "old_mode": 33188,
      "old_path": "gen/bcm/p256-x86_64-asm-win.asm",
      "new_id": "4a54536a4ae94b5039452361d76bd766be32e671",
      "new_mode": 33188,
      "new_path": "gen/bcm/p256-x86_64-asm-win.asm"
    },
    {
      "type": "modify",
      "old_id": "e29d4bedb26e1354d624f9ac35f1c56e339adcd5",
      "old_mode": 33188,
      "old_path": "gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc",
      "new_id": "7ab85dfd501b94d5b7ee38e65ffc9dd2e39eac60",
      "new_mode": 33188,
      "new_path": "gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc"
    },
    {
      "type": "modify",
      "old_id": "060a50b52841e0b53bf8c2ecbfd3d02b70cef976",
      "old_mode": 33188,
      "old_path": "gen/boringssl_prefix_symbols_internal_x86_win_asm.inc",
      "new_id": "24eb9000782a2c6e7be653e4f7da99390048ffde",
      "new_mode": 33188,
      "new_path": "gen/boringssl_prefix_symbols_internal_x86_win_asm.inc"
    },
    {
      "type": "modify",
      "old_id": "a7ff8d49b8d4fec3789799171fed1cec9706e42b",
      "old_mode": 33188,
      "old_path": "gen/sources.bzl",
      "new_id": "a92991a429372b6f380803e4c58362490f9c9d3f",
      "new_mode": 33188,
      "new_path": "gen/sources.bzl"
    },
    {
      "type": "modify",
      "old_id": "e04e9681f8d8f5e5e39dfc6f9f0e00404bccf73c",
      "old_mode": 33188,
      "old_path": "gen/sources.cmake",
      "new_id": "36e97961a174a93dc50b4415664119a44add34d0",
      "new_mode": 33188,
      "new_path": "gen/sources.cmake"
    },
    {
      "type": "modify",
      "old_id": "611aab581aa56b1a8e170e15a4f7f2649715b317",
      "old_mode": 33188,
      "old_path": "gen/sources.gni",
      "new_id": "8172b504f198ff0249215f053ac09020ae84f826",
      "new_mode": 33188,
      "new_path": "gen/sources.gni"
    },
    {
      "type": "modify",
      "old_id": "6309f27d46af0a0395f36f3177c02fb58defe632",
      "old_mode": 33188,
      "old_path": "gen/sources.json",
      "new_id": "966e72721fe6e27b2c353e9245389bb2c132778c",
      "new_mode": 33188,
      "new_path": "gen/sources.json"
    },
    {
      "type": "modify",
      "old_id": "87b3d530f549ed3bee2b7ed298dcbb77f8f53492",
      "old_mode": 33188,
      "old_path": "gen/sources.mk",
      "new_id": "f24cef4fda1caf153b5130d343123a2927367abb",
      "new_mode": 33188,
      "new_path": "gen/sources.mk"
    },
    {
      "type": "modify",
      "old_id": "4e5a51b48a63720fe64b218f881a10c137730b52",
      "old_mode": 33188,
      "old_path": "include/openssl/prefix_symbols_internal_S.h",
      "new_id": "170ac1c1583db953319a05086126cfe86ff02ade",
      "new_mode": 33188,
      "new_path": "include/openssl/prefix_symbols_internal_S.h"
    },
    {
      "type": "modify",
      "old_id": "6e8407119fc09e78539d15989aa54f0d179b2dae",
      "old_mode": 33188,
      "old_path": "include/openssl/prefix_symbols_internal_c.h",
      "new_id": "ef1245238eef0fe038afe66fcf40a8adc6addbb0",
      "new_mode": 33188,
      "new_path": "include/openssl/prefix_symbols_internal_c.h"
    },
    {
      "type": "modify",
      "old_id": "d2b03c1fa21b91f9045cf88b56573f619e6a6eaf",
      "old_mode": 33188,
      "old_path": "third_party/fiat/bedrock_unverified_platform.c.inc",
      "new_id": "cb9490a16d885a124f39fb2c3e4b273208469e8c",
      "new_mode": 33188,
      "new_path": "third_party/fiat/bedrock_unverified_platform.c.inc"
    },
    {
      "type": "modify",
      "old_id": "8cad1695a6aa0198ac2fc578105c682aace5c16b",
      "old_mode": 33188,
      "old_path": "third_party/fiat/p256_64.h",
      "new_id": "ee07a4583f1c5069af0104b3b6b288e1815d6d51",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_64.h"
    },
    {
      "type": "modify",
      "old_id": "aff43d3599e34ab3150388e895e0858b100f79da",
      "old_mode": 33188,
      "old_path": "third_party/fiat/p256_64_msvc.h",
      "new_id": "abed672b87ff4e0faa6748c789087ead5126ef7a",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_64_msvc.h"
    },
    {
      "type": "modify",
      "old_id": "bbd25de846ec7c6ce60be6f7f81901cc428e1f3c",
      "old_mode": 33188,
      "old_path": "third_party/fiat/p256_field.c.inc",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_field.c.inc"
    },
    {
      "type": "modify",
      "old_id": "117547bdfec523668d2682932beca180d2ed457b",
      "old_mode": 33188,
      "old_path": "third_party/fiat/p256_point.br.c.inc",
      "new_id": "4928034863a9074102fd7831c2445d4b05799cb3",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_point.br.c.inc"
    }
  ]
}
