)]}'
{
  "commit": "eb29d7f2773b64e3bc8a6804db44bc45dfecb032",
  "tree": "e0c9a7f0d0f4bcb058fe377115fb53873cb294d0",
  "parents": [
    "acf21896447b2eaecb8f62d94d8dbec1f2860ad3"
  ],
  "author": {
    "name": "SiHuaN",
    "email": "liyongtai@iscas.ac.cn",
    "time": "Mon Jun 29 15:11:22 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jun 29 15:11:22 2026 +0800"
  },
  "message": "[RISCV][P-ext] Add codegen for packed reduction sum (#206004)\n\nThe predsum/predsumu instructions reduce a packed vector to a scalar:\neach element is sign- or zero-extended to the accumulator width and\nadded to the scalar accumulator rs2.\n\nThis patch adds the llvm.riscv.predsum and predsumu intrinsics along\nwith isel patterns for target-legal results (predsum.bs/hs/ws, plus\nthe paired predsum.dbs/dhs for a GPRPair source on RV32).\n\nThe remaining combinations have a target-illegal result and are split\nin ReplaceNodeResults:\n* On RV64: An i32 accumulator reduces at i64 and is then truncated\n  (the 32-bit source is zero-extended first).\n* On RV32: An i64 accumulator reduces to a 32-bit partial sum and is\n  widening-accumulated via wadda/waddau.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "531f48c38622e655dcf74835a0fc20d7eabf25a7",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/IR/IntrinsicsRISCV.td",
      "new_id": "f201c0e38e94ebd67512337b23b2ef13a9b41870",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/IR/IntrinsicsRISCV.td"
    },
    {
      "type": "modify",
      "old_id": "e5ce36afb7b2f26128ee7522af97870777f0950d",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVISelLowering.cpp",
      "new_id": "ff14ecbd4917cf6b302c582caa9d877279c7dbc4",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVISelLowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "83095ae1985b4e0b95b7c00c2f2ba26c08ee973c",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVInstrInfoP.td",
      "new_id": "6acdcb83797306b6567965aa73bffd8679c3b2fe",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVInstrInfoP.td"
    },
    {
      "type": "modify",
      "old_id": "7e4c7d4317eac6edf6cc44037420fdcaec8c3b47",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/RISCV/rvp-simd-32.ll",
      "new_id": "36a3430be3a1b0259d0f3f4a5502a61738df680e",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/RISCV/rvp-simd-32.ll"
    },
    {
      "type": "modify",
      "old_id": "808ff81102479a840a5e0d31d68902566d04e074",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/RISCV/rvp-simd-64.ll",
      "new_id": "76838b44a98272ff21909e16ddd1b257e68bc422",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/RISCV/rvp-simd-64.ll"
    }
  ]
}
