)]}'
{
  "commit": "75ca080daba6585d0a6522187aab4bc781ba4103",
  "tree": "c4efb41d47abe8e58dde819b243636f3db1cab56",
  "parents": [
    "d7c53a91c2c11439429bbd50bb1d0a202c553a47"
  ],
  "author": {
    "name": "Sam Elliott",
    "email": "quic_aelliott@quicinc.com",
    "time": "Thu Mar 27 17:43:26 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Mar 27 17:43:26 2025 -0700"
  },
  "message": "[RISCV][Xqccmp] Correctly Parse/Disassemble pushfp (#133188)\n\nIn the `qc.cm.pushfp` instruction, it is like `cm.pushfp` except in one\nimportant way - `qc.cm.pushfp {ra}, -N*16` is not a valid encoding,\nbecause this would update `s0`/`fp`/`x8` without saving it.\n\nThis change now correctly rejects this variant of the instruction, both\nduring parsing and during disassembly. I also implemented validation for\nimmediates that represent register lists (both kinds), which may help to\ncatch bugs in the future.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "02cb1b5c9a12b268cde0e0eb41a4cee9a460384f",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp",
      "new_id": "3c225fb38cb198c0116572929e53fc1276588ad3",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp"
    },
    {
      "type": "modify",
      "old_id": "46b01417a1ea14fe94b32b401af70c99ff2a39a7",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp",
      "new_id": "15f9ea0bb86bd29d624a91a93445ab98e53f85a8",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp"
    },
    {
      "type": "modify",
      "old_id": "1829291cd0348d4429371c7475024f5df30736ba",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp",
      "new_id": "d5f08ac05f82bf6ee0fa13836ef96a07126b028e",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp"
    },
    {
      "type": "modify",
      "old_id": "db305b00834157daf69e4f6f1805f1c6a8235570",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h",
      "new_id": "0ede9ba7cf712d436dcc7773d95735855b25bf95",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h"
    },
    {
      "type": "modify",
      "old_id": "77d33f2e068718845177dda82cf1602f0061002f",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp",
      "new_id": "f333ffe36cbf7c4d582428884578445dadf6ced5",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp"
    },
    {
      "type": "modify",
      "old_id": "de775f4f9a37bc871164e26bb4d9aa6aeee27828",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVInstrInfo.cpp",
      "new_id": "e9fa0c4e3bf3522631d5fb6011e4c8fa264a5ed8",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVInstrInfo.cpp"
    },
    {
      "type": "modify",
      "old_id": "5bb9c1e4b228b71e86ee9fc8ba0c1e679aff3c9f",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td",
      "new_id": "bee937f91f46c4e0fb81cc8dc158f518e0d54949",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td"
    },
    {
      "type": "modify",
      "old_id": "efed74ca8c87053ebe2513fe28ade26fa1da04f1",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVInstrInfoZc.td",
      "new_id": "3f90714cdbe887f7e0406225bd4a5a9c1224a53e",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVInstrInfoZc.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fe81c01a037af8d8787703990f46b55bad553980",
      "new_mode": 33188,
      "new_path": "llvm/test/MC/Disassembler/RISCV/xqccmp-invalid-rlist.txt"
    },
    {
      "type": "modify",
      "old_id": "74f96f076756ca2bf59359f3ebcea0e171d77374",
      "old_mode": 33188,
      "old_path": "llvm/test/MC/RISCV/rv32xqccmp-invalid.s",
      "new_id": "059009de3d8307eb480d9baac2ebc3b7c64d5200",
      "new_mode": 33188,
      "new_path": "llvm/test/MC/RISCV/rv32xqccmp-invalid.s"
    },
    {
      "type": "modify",
      "old_id": "5827777e524ca4ab965048dda3d95346630a19bc",
      "old_mode": 33188,
      "old_path": "llvm/test/MC/RISCV/rv32xqccmp-valid.s",
      "new_id": "b1f373ede247dc879ca0c500f236fdd5b16206e3",
      "new_mode": 33188,
      "new_path": "llvm/test/MC/RISCV/rv32xqccmp-valid.s"
    },
    {
      "type": "modify",
      "old_id": "8f9e3ce7ee533cfd1f92577863bcdaea1f82849a",
      "old_mode": 33188,
      "old_path": "llvm/test/MC/RISCV/rv64e-xqccmp-valid.s",
      "new_id": "003f9852b184ae6d3011b04d2929db1d95d8be00",
      "new_mode": 33188,
      "new_path": "llvm/test/MC/RISCV/rv64e-xqccmp-valid.s"
    },
    {
      "type": "modify",
      "old_id": "06ba33fe8a4958590d21a5857524cfd1861c2db4",
      "old_mode": 33188,
      "old_path": "llvm/test/MC/RISCV/rv64xqccmp-valid.s",
      "new_id": "29cf6f0dfbdac6b90fb3154bb14a28a1ba3bcdaa",
      "new_mode": 33188,
      "new_path": "llvm/test/MC/RISCV/rv64xqccmp-valid.s"
    }
  ]
}
