)]}'
{
  "commit": "962432c687f67f8df1aa6e3dd364fbc88fea4ed8",
  "tree": "4fd90bda42147bd9d07476834c81f0decdb5fef1",
  "parents": [
    "a220a6024f66c123019b5c080f6bd8bcaf75448c"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Sat May 18 09:47:39 2024 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jun 11 17:46:11 2024 +0000"
  },
  "message": "Remove OPENSSL_ia32cap_P references from AES-NI assembly\n\nThe AES-NI key schedule functions have two versions, dating to OpenSSL\u0027s\n23f6eec71dbd472044db7dc854599f1de14a1f48. This cites RT#3576.\nUnfortunately, OpenSSL purged their old RT bugs, without any archives,\nso this context is now lost. Some archives of openssl-dev discussion\n(also predating OpenSSL\u0027s archives) give most of the context:\nhttps://groups.google.com/g/mailing.openssl.dev/c/OuFXwW4NfO8/m/7d2ZXVjkxVkJ\n\nBroadly, although AES-NI has an aeskeygenassist instruction for the key\nschedule, apparently it\u0027s overall faster to ignore it and use aesenclast\ninstead. But it\u0027s slower on older processors, so the assembly would\ncheck for AVX \u0026\u0026 !XOP as a proxy. (Note we always set XOP to false, even\nthough this likely wasn\u0027t a capability check but a proxy for pre-Xen AMD\nchips.)\n\nIt is unclear if the aeskeygenassist version is still worthwhile.\nHowever, the aesenclast version requires SSSE3. SSSE3 long predates\nAES-NI, but it\u0027s not clear if AES-NI implies SSSE3. In OpenSSL, the CCM\nAES-NI assembly seems to assume it does. For now, I\u0027ve preserved the\npair of them.\n\nThere are now only two assembly files with OPENSSL_ia32cap_P references!\n\nBug: 673\nChange-Id: I990b1393d780db4caf074c184ce8bbd182da6e29\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/68690\nReviewed-by: Bob Beck \u003cbbe@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "56dfbe2e51176107ccea5ebc363c1d68c3a9e8c0",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/aes.c",
      "new_id": "7eab5ac9e32d3ca6bbd8172821f9ff680145c280",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/aes.c"
    },
    {
      "type": "modify",
      "old_id": "dc90067d908ac2575e1cfcb90dad57126c51f5f6",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/aes_test.cc",
      "new_id": "07feabbe33276c0340e00a5be4e0a2d0080eae95",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/aes_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d8fdfb8228451fa7737bea90c1e832f6820e2b59",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/asm/aesni-x86.pl",
      "new_id": "077be94e7404ba389ba72fc378b4158335ecbf54",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/asm/aesni-x86.pl"
    },
    {
      "type": "modify",
      "old_id": "8b6036ee09b21bdd483049a8cdbf1b9e1f2f7d26",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/asm/aesni-x86_64.pl",
      "new_id": "ab45749c5168c9f80c24fd3411f08122daae91da",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/asm/aesni-x86_64.pl"
    },
    {
      "type": "modify",
      "old_id": "e7f55d24201993880252ae10a1a42676acb45eb8",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/internal.h",
      "new_id": "7d2db3b229fb8f6ea60ea67a1da286b61b2cb17a",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/internal.h"
    },
    {
      "type": "modify",
      "old_id": "f0d631067fafec716a75dc9c2d1c451699f8255e",
      "old_mode": 33188,
      "old_path": "crypto/perlasm/x86asm.pl",
      "new_id": "b10eaf6be607880cc5bd5f3ac73ef7b9414eb5be",
      "new_mode": 33188,
      "new_path": "crypto/perlasm/x86asm.pl"
    },
    {
      "type": "modify",
      "old_id": "e64b4bb9fb490f80e00c62a821f769b716883e34",
      "old_mode": 33188,
      "old_path": "gen/bcm/aesni-x86-apple.S",
      "new_id": "dda66ed1d298099c10c389b7a039f502fc9e88da",
      "new_mode": 33188,
      "new_path": "gen/bcm/aesni-x86-apple.S"
    },
    {
      "type": "modify",
      "old_id": "1f15c71598afda02cd4dc70c9e0e15f5b7c35f33",
      "old_mode": 33188,
      "old_path": "gen/bcm/aesni-x86-linux.S",
      "new_id": "6fefe1755555037d56decc0fc3ceb98783b34dca",
      "new_mode": 33188,
      "new_path": "gen/bcm/aesni-x86-linux.S"
    },
    {
      "type": "modify",
      "old_id": "2d32e77560e0df578fc8e4baf9a8b4530264d6dc",
      "old_mode": 33188,
      "old_path": "gen/bcm/aesni-x86-win.asm",
      "new_id": "4453afb1bfc3d9a98fbc84609c608ca8ee25a7c1",
      "new_mode": 33188,
      "new_path": "gen/bcm/aesni-x86-win.asm"
    },
    {
      "type": "modify",
      "old_id": "ccf9f8f2579b3176fd0fe8c5d456e9452ff2ea8c",
      "old_mode": 33188,
      "old_path": "gen/bcm/aesni-x86_64-apple.S",
      "new_id": "23c15c3d2622f38c30e0f5a114fece625dd520d8",
      "new_mode": 33188,
      "new_path": "gen/bcm/aesni-x86_64-apple.S"
    },
    {
      "type": "modify",
      "old_id": "38ed6e72a52e59bf35c2eacdadd35e44bcf49052",
      "old_mode": 33188,
      "old_path": "gen/bcm/aesni-x86_64-linux.S",
      "new_id": "cd695b4255690b4031211756ef9e7384e8ca7b8d",
      "new_mode": 33188,
      "new_path": "gen/bcm/aesni-x86_64-linux.S"
    },
    {
      "type": "modify",
      "old_id": "64dd6be8593fa47ab16dc338b2d2f1a42ffbc048",
      "old_mode": 33188,
      "old_path": "gen/bcm/aesni-x86_64-win.asm",
      "new_id": "4876ed79e5b5790cab88ad2573518c8b543c3bc2",
      "new_mode": 33188,
      "new_path": "gen/bcm/aesni-x86_64-win.asm"
    },
    {
      "type": "modify",
      "old_id": "4d2c4856d1d7c117bad6219e1e84a7828c17e672",
      "old_mode": 33188,
      "old_path": "gen/bcm/vpaes-x86-apple.S",
      "new_id": "02d37870443ce70a332751d29f0ae6ba2501e10d",
      "new_mode": 33188,
      "new_path": "gen/bcm/vpaes-x86-apple.S"
    },
    {
      "type": "modify",
      "old_id": "02786a76157d81a40346342d95f3e67aec92c558",
      "old_mode": 33188,
      "old_path": "gen/bcm/vpaes-x86-linux.S",
      "new_id": "31dc9a081bd27a2b470d0c6e6bd985d5c011aa22",
      "new_mode": 33188,
      "new_path": "gen/bcm/vpaes-x86-linux.S"
    },
    {
      "type": "modify",
      "old_id": "661496e363525219dc82fe21cc7384c387cf33da",
      "old_mode": 33188,
      "old_path": "gen/bcm/vpaes-x86-win.asm",
      "new_id": "3f087e1014d26969b95e315c3880dbc626c50053",
      "new_mode": 33188,
      "new_path": "gen/bcm/vpaes-x86-win.asm"
    }
  ]
}
