)]}'
{
  "commit": "e10afe01ec7c79f45f62d9a42b07a7d984bdc345",
  "tree": "70d8d08972d21e47d98584e491f38f8e7f75308a",
  "parents": [
    "7a5446f85bcce58c5185b62b79cc350d2f89fcab"
  ],
  "author": {
    "name": "SeongJaePark",
    "email": "111725324+SeongjaeP@users.noreply.github.com",
    "time": "Tue Oct 21 02:42:10 2025 +0900"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Oct 20 17:42:10 2025 +0000"
  },
  "message": "[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX/AVX512 subvector extraction intrinsics to be used in constexpr #157712 (#162836)\n\n**This PR supersedes and replaces PR #158853**\n\nThe original branch diverged too far from the main branch, resulting in\nsignificant merge conflicts that were difficult to resolve cleanly. To\nprovide a clean and reviewable history, this new PR was created by\ncherry-picking the necessary commits onto a fresh branch based on the\nlatest `main`.\n\n---\n\n*(Original Description)*\n\nThis patch enables the use of AVX/AVX512 subvector extraction intrinsics\nwithin `constexpr` functions. This is achieved by implementing the\nevaluation logic for these intrinsics in\n`VectorExprEvaluator::VisitCallExpr` and `InterpretBuiltin`.\n\nThe original discussion and review comments can be found in the previous\npull request for context: #158853\n\nFixes #157712",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "992838bd962cd7b949467370f7549509d1a31373",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/BuiltinsX86.td",
      "new_id": "54b3ce08f56259ea50c5d7aaf206d8803afa9c86",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/BuiltinsX86.td"
    },
    {
      "type": "modify",
      "old_id": "bc7a2da2c9beec66ab5a5c081b3d219be1c6f96b",
      "old_mode": 33188,
      "old_path": "clang/lib/AST/ByteCode/InterpBuiltin.cpp",
      "new_id": "39b991c68f0dbef1febee6fc6bc262958d3be1d1",
      "new_mode": 33188,
      "new_path": "clang/lib/AST/ByteCode/InterpBuiltin.cpp"
    },
    {
      "type": "modify",
      "old_id": "26d5ce4c474957552f7dfcebbdc697128a383e33",
      "old_mode": 33188,
      "old_path": "clang/lib/AST/ExprConstant.cpp",
      "new_id": "00aaaab957591738422f1ea6333382b40886925d",
      "new_mode": 33188,
      "new_path": "clang/lib/AST/ExprConstant.cpp"
    },
    {
      "type": "modify",
      "old_id": "3681ccab0b179925cdcfd348058c9046cbb1ce0a",
      "old_mode": 33188,
      "old_path": "clang/lib/Headers/avx512dqintrin.h",
      "new_id": "fef1a2d64d538c8e7017320193ae0dbb19ea3e05",
      "new_mode": 33188,
      "new_path": "clang/lib/Headers/avx512dqintrin.h"
    },
    {
      "type": "modify",
      "old_id": "07de036ef514376638a8a1d168131469fa5c93aa",
      "old_mode": 33188,
      "old_path": "clang/lib/Headers/avx512fintrin.h",
      "new_id": "18c4a44a4c76e789c0a6cec43a8a14b7b15fc865",
      "new_mode": 33188,
      "new_path": "clang/lib/Headers/avx512fintrin.h"
    },
    {
      "type": "modify",
      "old_id": "ee7974e924afef1e74fc181694f041a007d1666d",
      "old_mode": 33188,
      "old_path": "clang/lib/Headers/avx512vldqintrin.h",
      "new_id": "707d039cf4c07bd586bbc4c9c42327c451479733",
      "new_mode": 33188,
      "new_path": "clang/lib/Headers/avx512vldqintrin.h"
    },
    {
      "type": "modify",
      "old_id": "676b5a07e2521e2cb34ed0b475cc5e6743310db0",
      "old_mode": 33188,
      "old_path": "clang/lib/Headers/avx512vlintrin.h",
      "new_id": "92bb444aeb5b8abaa57a40a59fc1ba3ef11e8afd",
      "new_mode": 33188,
      "new_path": "clang/lib/Headers/avx512vlintrin.h"
    },
    {
      "type": "modify",
      "old_id": "ad3964fdfb6b3a64551382079121472e8338166f",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGen/X86/avx-builtins.c",
      "new_id": "26aed77283391fa2663d4762d3c401c9c12e8799",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/X86/avx-builtins.c"
    },
    {
      "type": "modify",
      "old_id": "c515a4ecbd4c5133d373e772d62ff5b478be35f8",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGen/X86/avx2-builtins.c",
      "new_id": "03b1bdeb55d7c7f58b38e4c586bb926dd988c19c",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/X86/avx2-builtins.c"
    },
    {
      "type": "modify",
      "old_id": "1b099594c88fa5f64923a7cec2b4862fb4975baa",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGen/X86/avx512dq-builtins.c",
      "new_id": "9c4ada3a2b7b841feebd28f341d4024c8c9c5635",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/X86/avx512dq-builtins.c"
    },
    {
      "type": "modify",
      "old_id": "6073fdfbdcef6c414c0a1d8a5108c7791a80905c",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGen/X86/avx512f-builtins.c",
      "new_id": "122dadd03a2114ca82f7208e40586523352bdacc",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/X86/avx512f-builtins.c"
    },
    {
      "type": "modify",
      "old_id": "9819dbd299a742fd83c0ca3dbaff66f75446d0ed",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGen/X86/avx512vl-builtins.c",
      "new_id": "34db7641b94481d23538e39f78a47a1bfcd93725",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/X86/avx512vl-builtins.c"
    },
    {
      "type": "modify",
      "old_id": "4773b609861693787f24bfd68e448f31573c12d5",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGen/X86/avx512vldq-builtins.c",
      "new_id": "1bfc0229eeb267693d58bbfe78669fe22b49d9de",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/X86/avx512vldq-builtins.c"
    }
  ]
}
