)]}'
{
  "commit": "b625eff8a2346fe1107aa4ab7bbf4302f2c2136e",
  "tree": "9e11fce586187e074473ba6d38ea3e2be64c8697",
  "parents": [
    "15d842846d1fd79e141b1eddc9f648a8200223da"
  ],
  "author": {
    "name": "Philipp Tomsich",
    "email": "philipp.tomsich@vrull.eu",
    "time": "Tue Jun 27 07:22:49 2023 -0600"
  },
  "committer": {
    "name": "Jeff Law",
    "email": "jlaw@ventanamicro",
    "time": "Tue Jun 27 07:24:43 2023 -0600"
  },
  "message": "    RISC-V: Support Zicond extension\n\n    This implements the Zicond (conditional integer operations) extension,\n    as of version 1.0-rc2.\n\n    The Zicond extension acts as a building block for branchless sequences\n    including conditional-arithmetic, conditional-logic and\n    conditional-select/move.\n    The following instructions constitute Zicond:\n      - czero.eqz rd, rs1, rs2  \u003d\u003e  rd \u003d (rs2 \u003d\u003d 0) ? 0 : rs1\n      - czero.nez rd, rs1, rs2  \u003d\u003e  rd \u003d (rs2 !\u003d 0) ? 0 : rs1\n\n    See\n      https://github.com/riscv/riscv-zicond/releases/download/v1.0-rc2/riscv-zicond-v1.0-rc2.pdf\n    for the proposed specification and usage details.\n\n    bfd/ChangeLog:\n\n            * elfxx-riscv.c (riscv_multi_subset_supports): Recognize\n            INSN_CLASS_ZICOND.\n            (riscv_multi_subset_supports_ext): Recognize INSN_CLASS_ZICOND.\n\n    gas/ChangeLog:\n\n            * testsuite/gas/riscv/zicond.d: New test.\n            * testsuite/gas/riscv/zicond.s: New test.\n\n    include/ChangeLog:\n\n            * opcode/riscv-opc.h (MATCH_CZERO_EQZ): Define.\n            (MASK_CZERO_EQZ): Define.\n            (MATCH_CZERO_NEZ): Define,\n            (MASK_CZERO_NEZ): Define.\n            (DECLARE_INSN): Add czero.eqz and czero.nez.\n            * opcode/riscv.h (enum riscv_insn_class): Add\n            INSN_CLASS_ZICOND.\n\n    opcodes/ChangeLog:\n\n            * riscv-opc.c: Add czero.eqz and czero.nez.\n\n    Signed-off-by: Philipp Tomsich \u003cphilipp.tomsich@vrull.eu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7f453246449d47038bfce286e11739ac40466835",
      "old_mode": 33188,
      "old_path": "bfd/elfxx-riscv.c",
      "new_id": "1407c55597df12553419a5e3169f0594a682e0b1",
      "new_mode": 33188,
      "new_path": "bfd/elfxx-riscv.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7a79ee6a7163665cee5951f57f9a7df95a121388",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/zicond.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4e5edd5056aee3b4734b97697edc16886f2a914a",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/zicond.s"
    },
    {
      "type": "modify",
      "old_id": "91e56c03191b4e894bf74bf54faf5bb181bce13e",
      "old_mode": 33188,
      "old_path": "include/opcode/riscv-opc.h",
      "new_id": "ad91c5a7b086064a1605584b7a01ac7736c5a9f1",
      "new_mode": 33188,
      "new_path": "include/opcode/riscv-opc.h"
    },
    {
      "type": "modify",
      "old_id": "877ec66b957f3c34af8d01aef9e2421c911e191e",
      "old_mode": 33188,
      "old_path": "include/opcode/riscv.h",
      "new_id": "4b108e439c474bd2018e4d55fc8b5d99f6e60c5b",
      "new_mode": 33188,
      "new_path": "include/opcode/riscv.h"
    },
    {
      "type": "modify",
      "old_id": "57e7b90e480cefc9473d8b96927cd51dcbbb60fe",
      "old_mode": 33188,
      "old_path": "opcodes/riscv-opc.c",
      "new_id": "2b2dce1a19467adb49586d1963ac02a95f94b2b0",
      "new_mode": 33188,
      "new_path": "opcodes/riscv-opc.c"
    }
  ]
}
