)]}'
{
  "commit": "b1b2146ded9ce5a84c62f30c6c4a922b449f6c90",
  "tree": "969d007a0e310df537f7f9495b353bbad4e984d4",
  "parents": [
    "04904a0fff639c058d38b355d75485ca5dde0a89"
  ],
  "author": {
    "name": "Daniel Hu",
    "email": "Daniel.Hu@arm.com",
    "time": "Mon Feb 07 10:17:06 2022 +0000"
  },
  "committer": {
    "name": "Pauli",
    "email": "pauli@openssl.org",
    "time": "Tue May 03 14:37:46 2022 +1000"
  },
  "message": "Acceleration of chacha20 on aarch64 by SVE\n\nThis patch accelerates chacha20 on aarch64 when Scalable Vector Extension\n(SVE) is supported by CPU. Tested on modern micro-architecture with\n256-bit SVE, it has the potential to improve performance up to 20%\n\nThe solution takes a hybrid approach. SVE will handle multi-blocks that fit\nthe SVE vector length, with Neon/Scalar to process any tail data\n\nTest result:\nWith SVE\ntype            1024 bytes   8192 bytes  16384 bytes\nChaCha20        1596208.13k  1650010.79k  1653151.06k\n\nWithout SVE (by Neon/Scalar)\ntype            1024 bytes   8192 bytes  16384 bytes\nchacha20        1355487.91k  1372678.83k  1372662.44k\n\nThe assembly code has been reviewed internally by\nARM engineer Fangming.Fang@arm.com\n\nSigned-off-by: Daniel Hu \u003cDaniel.Hu@arm.com\u003e\n\nReviewed-by: Tomas Mraz \u003ctomas@openssl.org\u003e\nReviewed-by: Paul Dale \u003cpauli@openssl.org\u003e\n(Merged from https://github.com/openssl/openssl/pull/17916)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ad48c53402a9a467943756cf11146d0e1eb1577f",
      "old_mode": 33261,
      "old_path": "crypto/arm64cpuid.pl",
      "new_id": "0a6cd01e30a735eb9b981dca7bdb2211cdeac681",
      "new_mode": 33261,
      "new_path": "crypto/arm64cpuid.pl"
    },
    {
      "type": "modify",
      "old_id": "33acbd99c0b34558b9ff596a86dcced6ec7f126f",
      "old_mode": 33188,
      "old_path": "crypto/arm_arch.h",
      "new_id": "5fc0905885a7448cc62d4eb538436cd4a885b9ab",
      "new_mode": 33188,
      "new_path": "crypto/arm_arch.h"
    },
    {
      "type": "modify",
      "old_id": "c50322f504bdff13c778f129cbe4fbe3f79b5916",
      "old_mode": 33188,
      "old_path": "crypto/armcap.c",
      "new_id": "91ba45c950333f4af227762c6ecb787767ebb957",
      "new_mode": 33188,
      "new_path": "crypto/armcap.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6080414e0d570135f1ca84b345845b366d1975e1",
      "new_mode": 33261,
      "new_path": "crypto/chacha/asm/chacha-armv8-sve.pl"
    },
    {
      "type": "modify",
      "old_id": "e1a8b8159421ae32b2b977b93f5efbfa4eb1e0d7",
      "old_mode": 33261,
      "old_path": "crypto/chacha/asm/chacha-armv8.pl",
      "new_id": "f6e0e2ef5423dc41e5384da0aa3fb4c92d29d438",
      "new_mode": 33261,
      "new_path": "crypto/chacha/asm/chacha-armv8.pl"
    },
    {
      "type": "modify",
      "old_id": "5fe74778733e4f38e8f2fb86e3ebf3a2d73f5d85",
      "old_mode": 33188,
      "old_path": "crypto/chacha/build.info",
      "new_id": "d02c571d02ddec8855c384b12c1e5dffefd73808",
      "new_mode": 33188,
      "new_path": "crypto/chacha/build.info"
    }
  ]
}
