)]}'
{
  "commit": "e55a178befefc87dc60f4848295f1bf5f6265455",
  "tree": "5f44695169494da85b25f5d1959064712bab651a",
  "parents": [
    "0847906365add42bf96dae420ce369094ffb692e"
  ],
  "author": {
    "name": "MPACT-Sim team",
    "email": "no-reply@google.com",
    "time": "Thu Sep 03 12:45:07 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Sep 08 14:13:09 2026 -0700"
  },
  "message": "fix(mpact): fix vector instruction bugs and refine trap logic\n\nRefine RVV implementation in mpact simulator to address several\ninstruction bugs and trap handling mismatches:\n\n1. Trap Handling: Append \"\u0026\u0026 is_interrupt\" to existing trap conditions\n   to resolve PC mismatch in ecall.\n2. Mask Search: Correct the implementation for Vmsbf, Vmsif, and Vmsof\n   mask search instructions.\n3. Bitwise Ops: Update BitwiseMaskBinaryOp for vmand, vmnor, and vmxor.\n4. vsetvli: Fix x0, x0 logic to preserve current_vl when max_vector_length\n   remains unchanged.\n5. Reduction: Fix data truncation in Vwredsum/u by aligning the\n   accumulator with the destination\u0027s widening width.\n6. Vslide:\n   - Introduced is_down flag and corrected Vslideup/down logic.\n   - Refined execution logic for Vslide1up/down single-element slide.\n\n(Backported from mpact-riscv-vsi commit 6dac0e2a09d0845f1499f46ca2d05d24e1306605)\nNote: The VlIndexed fix was omitted from this backport as it was natively fixed in google3 already.\nPiperOrigin-RevId: 975873345\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3a2d61656558e89896feab491f6997f50dab6353",
      "old_mode": 33188,
      "old_path": "riscv/riscv_state.cc",
      "new_id": "69465e826391583639ac7a17de657f5fcf3aaf96",
      "new_mode": 33188,
      "new_path": "riscv/riscv_state.cc"
    },
    {
      "type": "modify",
      "old_id": "21e31575a91980cd3acc05f88bbce34644f85888",
      "old_mode": 33188,
      "old_path": "riscv/riscv_vector_opm_instructions.cc",
      "new_id": "234a01f161f97caaa93986c1cfb4c6152746cfd8",
      "new_mode": 33188,
      "new_path": "riscv/riscv_vector_opm_instructions.cc"
    },
    {
      "type": "modify",
      "old_id": "9dda8e98a6b633c62e90caf3f7d4a07224f4d78a",
      "old_mode": 33188,
      "old_path": "riscv/riscv_vector_permute_instructions.cc",
      "new_id": "9710286593ca697d128dfc80f7ef490c51e4a19d",
      "new_mode": 33188,
      "new_path": "riscv/riscv_vector_permute_instructions.cc"
    },
    {
      "type": "modify",
      "old_id": "53d099f47ee84e2a1b091969536a7908f3e57057",
      "old_mode": 33188,
      "old_path": "riscv/riscv_vector_reduction_instructions.cc",
      "new_id": "df8e82d53c013d1b55eafb8d988b8ee9b9f8a66e",
      "new_mode": 33188,
      "new_path": "riscv/riscv_vector_reduction_instructions.cc"
    },
    {
      "type": "modify",
      "old_id": "9183614f49f3194e23dd37859bf2f7bb8bf3f673",
      "old_mode": 33188,
      "old_path": "riscv/riscv_vector_unary_instructions.cc",
      "new_id": "6769b7189cc32d9758ef56c71381f77ea79619ec",
      "new_mode": 33188,
      "new_path": "riscv/riscv_vector_unary_instructions.cc"
    },
    {
      "type": "modify",
      "old_id": "786e12f10f1c6eb7b04f681168e94d063ec2dccd",
      "old_mode": 33188,
      "old_path": "riscv/test/riscv_vector_opm_instructions_test.cc",
      "new_id": "8c8070d424218c739c37ff5a66fa98fa6589bb62",
      "new_mode": 33188,
      "new_path": "riscv/test/riscv_vector_opm_instructions_test.cc"
    },
    {
      "type": "modify",
      "old_id": "827419c8e77c80866c9be90a7acff1c129c58417",
      "old_mode": 33188,
      "old_path": "riscv/test/riscv_vector_reduction_instructions_test.cc",
      "new_id": "3943f4f3f21dfef91b238642dfd54d94393d67b8",
      "new_mode": 33188,
      "new_path": "riscv/test/riscv_vector_reduction_instructions_test.cc"
    }
  ]
}
