)]}'
{
  "commit": "90e3b6e68c0a9ff79de8cfb92fa81e6cd2a9d57d",
  "tree": "66255f2ec324419b08dc2714df6afb8a3b7b39fa",
  "parents": [
    "837ade76fd2a0ce8a310b0d7c8d7b523fcb23047"
  ],
  "author": {
    "name": "Ilya Tokar",
    "email": "tokarip@google.com",
    "time": "Thu Dec 01 17:21:54 2022 -0500"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Dec 21 21:32:14 2022 +0000"
  },
  "message": "Add prefetch to aesni_ctr32_ghash_6x\n\nPerformance is neutral (~1% change with ~2% noise level):\nBM_AesCtrEncrypt/999                940MB/s ± 2%            941MB/s ± 1%    ~           (p\u003d0.811 n\u003d40+39)\nBM_AesCtrEncrypt/4k                1.11GB/s ± 2%           1.11GB/s ± 2%    ~           (p\u003d0.452 n\u003d40+40)\nBM_AesCtrEncrypt/8k                1.14GB/s ± 2%           1.14GB/s ± 1%    ~           (p\u003d0.101 n\u003d40+39)\nBM_AesCtrEncrypt/12k               1.14GB/s ± 1%           1.14GB/s ± 2%    ~           (p\u003d0.629 n\u003d39+40)\nBM_AesCtrEncrypt/16k               1.16GB/s ± 2%           1.16GB/s ± 1%    ~           (p\u003d0.193 n\u003d40+38)\nBM_AesCtrEncrypt/24k               1.15GB/s ± 2%           1.15GB/s ± 2%  +0.32%        (p\u003d0.037 n\u003d40+40)\nBM_AesCtrEncrypt/64k               1.15GB/s ± 2%           1.15GB/s ± 2%    ~           (p\u003d0.246 n\u003d40+38)\nBM_AesCtrEncrypt/128k              1.15GB/s ± 2%           1.15GB/s ± 2%  +0.32%        (p\u003d0.042 n\u003d40+79)\nBM_AesCtrEncryptWithFlush/4k       1.03GB/s ± 2%           1.03GB/s ± 2%    ~           (p\u003d0.707 n\u003d39+40)\nBM_AesCtrEncryptWithFlush/8k       1.08GB/s ± 2%           1.08GB/s ± 2%    ~           (p\u003d0.381 n\u003d40+40)\nBM_AesCtrEncryptWithFlush/12k      1.10GB/s ± 2%           1.10GB/s ± 1%    ~           (p\u003d0.980 n\u003d40+37)\nBM_AesCtrEncryptWithFlush/16k      1.12GB/s ± 2%           1.12GB/s ± 2%    ~           (p\u003d0.568 n\u003d39+40)\nBM_AesCtrEncryptWithFlush/24k      1.12GB/s ± 2%           1.12GB/s ± 2%    ~           (p\u003d0.620 n\u003d39+40)\nBM_AesCtrEncryptWithFlush/64k      1.13GB/s ± 2%           1.14GB/s ± 2%    ~           (p\u003d0.289 n\u003d40+39)\nBM_AesCtrEncryptWithFlush/128k     1.14GB/s ± 2%           1.14GB/s ± 2%  +0.38%        (p\u003d0.011 n\u003d40+78)\nBM_AesGcmEncrypt/999               1.60GB/s ± 2%           1.59GB/s ± 2%  -0.67%        (p\u003d0.000 n\u003d40+39)\nBM_AesGcmEncrypt/4k                2.16GB/s ± 2%           2.14GB/s ± 1%  -0.72%        (p\u003d0.000 n\u003d40+40)\nBM_AesGcmEncrypt/8k                2.29GB/s ± 2%           2.28GB/s ± 1%  -0.49%        (p\u003d0.003 n\u003d40+40)\nBM_AesGcmEncrypt/12k               2.29GB/s ± 2%           2.27GB/s ± 2%  -0.67%        (p\u003d0.002 n\u003d40+40)\nBM_AesGcmEncrypt/16k               2.37GB/s ± 2%           2.35GB/s ± 2%  -0.70%        (p\u003d0.000 n\u003d39+40)\nBM_AesGcmEncrypt/24k               2.32GB/s ± 2%           2.31GB/s ± 2%  -0.49%        (p\u003d0.018 n\u003d40+40)\nBM_AesGcmEncrypt/64k               2.33GB/s ± 2%           2.31GB/s ± 2%  -0.54%        (p\u003d0.005 n\u003d40+40)\nBM_AesGcmEncrypt/128k              2.31GB/s ± 2%           2.30GB/s ± 2%  -0.49%        (p\u003d0.000 n\u003d40+80)\nBM_AesCtrDecrypt/999               93.2MB/s ± 2%           93.4MB/s ± 1%    ~           (p\u003d0.788 n\u003d40+40)\nBM_AesCtrDecrypt/4k                 363MB/s ± 2%            364MB/s ± 1%    ~           (p\u003d0.239 n\u003d40+39)\nBM_AesCtrDecrypt/8k                 680MB/s ± 2%            680MB/s ± 1%    ~           (p\u003d0.852 n\u003d40+40)\nBM_AesCtrDecrypt/12k                959MB/s ± 2%            963MB/s ± 1%  +0.49%        (p\u003d0.013 n\u003d40+37)\nBM_AesCtrDecrypt/16k               1.21GB/s ± 2%           1.21GB/s ± 2%  +0.41%        (p\u003d0.038 n\u003d40+38)\nBM_AesCtrDecrypt/24k                960MB/s ± 2%            964MB/s ± 2%  +0.44%        (p\u003d0.006 n\u003d40+39)\nBM_AesCtrDecrypt/64k               1.21GB/s ± 2%           1.21GB/s ± 2%    ~           (p\u003d0.114 n\u003d40+39)\nBM_AesCtrDecrypt/128k              1.21GB/s ± 2%           1.21GB/s ± 2%    ~           (p\u003d0.110 n\u003d40+77)\nBM_AesCtrDecryptRandomOffset/999   92.7MB/s ± 1%           92.9MB/s ± 1%    ~           (p\u003d0.386 n\u003d40+40)\nBM_AesCtrDecryptRandomOffset/4k     188MB/s ± 1%            188MB/s ± 2%    ~           (p\u003d0.055 n\u003d38+39)\nBM_AesCtrDecryptRandomOffset/8k     363MB/s ± 2%            363MB/s ± 1%    ~           (p\u003d0.890 n\u003d40+40)\nBM_AesCtrDecryptRandomOffset/12k    526MB/s ± 2%            527MB/s ± 1%    ~           (p\u003d0.107 n\u003d40+40)\nBM_AesCtrDecryptRandomOffset/16k    679MB/s ± 2%            681MB/s ± 2%    ~           (p\u003d0.162 n\u003d40+40)\nBM_AesCtrDecryptRandomOffset/24k    681MB/s ± 2%            682MB/s ± 2%    ~           (p\u003d0.307 n\u003d40+40)\nBM_AesCtrDecryptRandomOffset/64k   1.01GB/s ± 2%           1.01GB/s ± 1%    ~           (p\u003d0.574 n\u003d38+39)\nBM_AesCtrDecryptRandomOffset/128k  1.10GB/s ± 2%           1.10GB/s ± 2%    ~           (p\u003d0.073 n\u003d40+80)\nBM_AesGcmDecrypt/999                177MB/s ± 2%            175MB/s ± 2%  -0.77%        (p\u003d0.000 n\u003d39+40)\nBM_AesGcmDecrypt/4k                 704MB/s ± 2%            698MB/s ± 2%  -0.76%        (p\u003d0.000 n\u003d40+40)\nBM_AesGcmDecrypt/8k                1.35GB/s ± 2%           1.34GB/s ± 2%  -0.50%        (p\u003d0.001 n\u003d39+39)\nBM_AesGcmDecrypt/12k               1.95GB/s ± 2%           1.95GB/s ± 1%  -0.43%        (p\u003d0.004 n\u003d40+39)\nBM_AesGcmDecrypt/16k               2.54GB/s ± 1%           2.53GB/s ± 2%  -0.69%        (p\u003d0.000 n\u003d39+40)\nBM_AesGcmDecrypt/24k               1.95GB/s ± 1%           1.94GB/s ± 1%  -0.57%        (p\u003d0.001 n\u003d39+40)\nBM_AesGcmDecrypt/64k               2.52GB/s ± 1%           2.51GB/s ± 2%  -0.68%        (p\u003d0.000 n\u003d39+40)\nBM_AesGcmDecrypt/128k              2.51GB/s ± 2%           2.50GB/s ± 2%  -0.67%        (p\u003d0.000 n\u003d40+79)\nBM_AesGcmDecryptRandomOffset/999    173MB/s ± 2%            172MB/s ± 1%  -0.64%        (p\u003d0.000 n\u003d39+39)\nBM_AesGcmDecryptRandomOffset/4k     356MB/s ± 2%            354MB/s ± 2%  -0.66%        (p\u003d0.000 n\u003d40+40)\nBM_AesGcmDecryptRandomOffset/8k     700MB/s ± 2%            694MB/s ± 2%  -0.82%        (p\u003d0.000 n\u003d40+40)\nBM_AesGcmDecryptRandomOffset/12k   1.03GB/s ± 2%           1.03GB/s ± 2%  -0.50%        (p\u003d0.002 n\u003d40+39)\nBM_AesGcmDecryptRandomOffset/16k   1.35GB/s ± 2%           1.34GB/s ± 2%    ~           (p\u003d0.057 n\u003d40+40)\nBM_AesGcmDecryptRandomOffset/24k   1.35GB/s ± 2%           1.34GB/s ± 2%  -0.59%        (p\u003d0.003 n\u003d39+40)\nBM_AesGcmDecryptRandomOffset/64k   2.06GB/s ± 2%           2.05GB/s ± 1%  -0.46%        (p\u003d0.008 n\u003d40+40)\nBM_AesGcmDecryptRandomOffset/128k  2.26GB/s ± 2%           2.25GB/s ± 2%  -0.60%        (p\u003d0.000 n\u003d40+80)\n\nHowever on AMD with disabled hardware prefetchers gain is very\nsignificant (see 128Mb case, for a microbenchmark that doesn\u0027t fit  in\ncache, for a 50+% speed-up):\n\nname                               old time/op  new time/op  delta\nBM_AesCtrEncrypt/999               1.06µs ± 2%  1.06µs ± 2%   +0.42%  (p\u003d0.011 n\u003d38+40)\nBM_AesCtrEncrypt/128k               114µs ± 2%   114µs ± 2%     ~     (p\u003d0.333 n\u003d78+80)\nBM_AesCtrEncrypt/4k                3.70µs ± 2%  3.71µs ± 2%     ~     (p\u003d0.355 n\u003d40+40)\nBM_AesCtrEncrypt/8k                7.15µs ± 2%  7.19µs ± 2%   +0.44%  (p\u003d0.015 n\u003d38+39)\nBM_AesCtrEncrypt/12k               10.7µs ± 2%  10.8µs ± 2%     ~     (p\u003d0.366 n\u003d39+40)\nBM_AesCtrEncrypt/16k               14.1µs ± 2%  14.1µs ± 1%     ~     (p\u003d0.264 n\u003d40+40)\nBM_AesCtrEncrypt/24k               21.3µs ± 2%  21.4µs ± 2%     ~     (p\u003d0.075 n\u003d38+39)\nBM_AesCtrEncrypt/64k               56.8µs ± 2%  56.8µs ± 1%     ~     (p\u003d0.464 n\u003d40+40)\nBM_AesCtrEncrypt/128M               200ms ± 3%   201ms ± 3%     ~     (p\u003d0.677 n\u003d38+37)\nBM_AesCtrEncryptWithFlush/128k      115µs ± 2%   115µs ± 2%     ~     (p\u003d0.273 n\u003d76+79)\nBM_AesCtrEncryptWithFlush/4k       3.95µs ± 1%  3.95µs ± 1%     ~     (p\u003d0.664 n\u003d39+40)\nBM_AesCtrEncryptWithFlush/8k       7.53µs ± 2%  7.56µs ± 1%   +0.30%  (p\u003d0.011 n\u003d40+38)\nBM_AesCtrEncryptWithFlush/12k      11.1µs ± 2%  11.1µs ± 2%     ~     (p\u003d0.298 n\u003d38+39)\nBM_AesCtrEncryptWithFlush/16k      14.6µs ± 2%  14.7µs ± 2%     ~     (p\u003d0.184 n\u003d40+40)\nBM_AesCtrEncryptWithFlush/24k      21.9µs ± 2%  21.9µs ± 2%     ~     (p\u003d0.615 n\u003d39+40)\nBM_AesCtrEncryptWithFlush/64k      57.7µs ± 2%  57.8µs ± 2%     ~     (p\u003d0.747 n\u003d38+40)\nBM_AesCtrEncryptWithFlush/128M      201ms ± 3%   201ms ± 4%     ~     (p\u003d0.969 n\u003d33+40)\nBM_AesGcmEncrypt/999                625ns ± 2%   629ns ± 2%   +0.69%  (p\u003d0.000 n\u003d35+37)\nBM_AesGcmEncrypt/128k              56.7µs ± 2%  57.1µs ± 2%   +0.85%  (p\u003d0.000 n\u003d72+79)\nBM_AesGcmEncrypt/4k                1.90µs ± 2%  1.91µs ± 2%   +0.92%  (p\u003d0.000 n\u003d36+40)\nBM_AesGcmEncrypt/8k                3.58µs ± 2%  3.60µs ± 1%   +0.55%  (p\u003d0.000 n\u003d39+37)\nBM_AesGcmEncrypt/12k               5.36µs ± 2%  5.42µs ± 2%   +1.15%  (p\u003d0.000 n\u003d37+40)\nBM_AesGcmEncrypt/16k               6.91µs ± 1%  6.96µs ± 2%   +0.75%  (p\u003d0.000 n\u003d37+37)\nBM_AesGcmEncrypt/24k               10.6µs ± 2%  10.7µs ± 2%   +0.90%  (p\u003d0.000 n\u003d37+39)\nBM_AesGcmEncrypt/64k               28.1µs ± 3%  28.3µs ± 1%   +0.51%  (p\u003d0.001 n\u003d39+36)\nBM_AesGcmEncrypt/128M               217ms ± 2%   199ms ± 1%   -8.42%  (p\u003d0.000 n\u003d40+37)\nBM_AesCtrDecrypt/999               10.7µs ± 1%  10.7µs ± 1%     ~     (p\u003d0.683 n\u003d38+38)\nBM_AesCtrDecrypt/128k               108µs ± 1%   108µs ± 2%     ~     (p\u003d0.098 n\u003d77+78)\nBM_AesCtrDecrypt/4k                11.3µs ± 2%  11.3µs ± 2%     ~     (p\u003d0.950 n\u003d40+40)\nBM_AesCtrDecrypt/8k                12.0µs ± 2%  12.0µs ± 2%     ~     (p\u003d0.126 n\u003d39+38)\nBM_AesCtrDecrypt/12k               12.7µs ± 1%  12.8µs ± 2%   +0.39%  (p\u003d0.010 n\u003d37+40)\nBM_AesCtrDecrypt/16k               13.5µs ± 2%  13.5µs ± 2%     ~     (p\u003d0.148 n\u003d40+40)\nBM_AesCtrDecrypt/24k               25.5µs ± 2%  25.6µs ± 2%   +0.32%  (p\u003d0.047 n\u003d39+39)\nBM_AesCtrDecrypt/64k               53.9µs ± 1%  54.1µs ± 2%     ~     (p\u003d0.197 n\u003d38+40)\nBM_AesCtrDecrypt/128M               190ms ± 3%   189ms ± 2%     ~     (p\u003d0.656 n\u003d40+40)\nBM_AesCtrDecryptRandomOffset/999   10.8µs ± 2%  10.8µs ± 2%     ~     (p\u003d0.811 n\u003d40+39)\nBM_AesCtrDecryptRandomOffset/128k   119µs ± 2%   119µs ± 2%     ~     (p\u003d0.072 n\u003d80+77)\nBM_AesCtrDecryptRandomOffset/4k    21.8µs ± 2%  21.8µs ± 2%     ~     (p\u003d0.386 n\u003d39+38)\nBM_AesCtrDecryptRandomOffset/8k    22.5µs ± 2%  22.6µs ± 2%     ~     (p\u003d0.298 n\u003d40+38)\nBM_AesCtrDecryptRandomOffset/12k   23.3µs ± 2%  23.3µs ± 2%     ~     (p\u003d0.964 n\u003d38+39)\nBM_AesCtrDecryptRandomOffset/16k   24.0µs ± 2%  24.1µs ± 2%   +0.33%  (p\u003d0.022 n\u003d38+39)\nBM_AesCtrDecryptRandomOffset/24k   36.0µs ± 1%  35.9µs ± 1%     ~     (p\u003d0.376 n\u003d38+35)\nBM_AesCtrDecryptRandomOffset/64k   64.5µs ± 1%  64.6µs ± 1%     ~     (p\u003d0.237 n\u003d38+39)\nBM_AesCtrDecryptRandomOffset/128M   190ms ± 2%   191ms ± 2%   +0.54%  (p\u003d0.029 n\u003d40+38)\nBM_AesGcmDecrypt/999               5.65µs ± 1%  5.71µs ± 2%   +0.99%  (p\u003d0.000 n\u003d36+40)\nBM_AesGcmDecrypt/128k              51.8µs ± 2%  52.5µs ± 2%   +1.17%  (p\u003d0.000 n\u003d77+75)\nBM_AesGcmDecrypt/4k                5.82µs ± 2%  5.86µs ± 2%   +0.68%  (p\u003d0.000 n\u003d39+39)\nBM_AesGcmDecrypt/8k                6.07µs ± 2%  6.11µs ± 2%   +0.69%  (p\u003d0.000 n\u003d39+39)\nBM_AesGcmDecrypt/12k               6.26µs ± 1%  6.33µs ± 1%   +1.04%  (p\u003d0.000 n\u003d38+39)\nBM_AesGcmDecrypt/16k               6.42µs ± 1%  6.49µs ± 1%   +1.04%  (p\u003d0.000 n\u003d38+38)\nBM_AesGcmDecrypt/24k               12.6µs ± 2%  12.7µs ± 2%   +1.02%  (p\u003d0.000 n\u003d39+39)\nBM_AesGcmDecrypt/64k               26.0µs ± 2%  26.2µs ± 1%   +0.88%  (p\u003d0.000 n\u003d40+38)\nBM_AesGcmDecrypt/128M               210ms ± 2%    94ms ±12%  -55.31%  (p\u003d0.000 n\u003d40+32)\nBM_AesGcmDecryptRandomOffset/999   5.77µs ± 2%  5.83µs ± 2%   +1.11%  (p\u003d0.000 n\u003d39+40)\nBM_AesGcmDecryptRandomOffset/128k  57.7µs ± 2%  58.4µs ± 2%   +1.19%  (p\u003d0.000 n\u003d80+76)\nBM_AesGcmDecryptRandomOffset/4k    11.5µs ± 2%  11.6µs ± 2%   +0.67%  (p\u003d0.000 n\u003d40+36)\nBM_AesGcmDecryptRandomOffset/8k    11.6µs ± 2%  11.8µs ± 1%   +1.04%  (p\u003d0.000 n\u003d39+37)\nBM_AesGcmDecryptRandomOffset/12k   11.9µs ± 1%  12.0µs ± 2%   +0.95%  (p\u003d0.000 n\u003d39+39)\nBM_AesGcmDecryptRandomOffset/16k   12.1µs ± 2%  12.2µs ± 2%   +0.84%  (p\u003d0.000 n\u003d40+40)\nBM_AesGcmDecryptRandomOffset/24k   18.1µs ± 2%  18.3µs ± 1%   +0.97%  (p\u003d0.000 n\u003d40+38)\nBM_AesGcmDecryptRandomOffset/64k   31.6µs ± 1%  32.0µs ± 2%   +1.32%  (p\u003d0.000 n\u003d39+39)\nBM_AesGcmDecryptRandomOffset/128M   209ms ± 2%    93ms ± 2%  -55.34%  (p\u003d0.000 n\u003d40+31)\n\nChange-Id: I6312e01ff0da70cc52f09194846b82cc6b69d37a\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/55466\nCommit-Queue: Adam Langley \u003cagl@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "793f34c51b1b4b863edd338e5ec909675e0798c5",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl",
      "new_id": "21dbf6964ff01e0c9d85c54dd588e6732dba2eaf",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl"
    }
  ]
}
