)]}'
{
  "commit": "86fbfedd715df8a89d73374d70b1f068f95b450e",
  "tree": "e569a7d8ff6b5cf8e154f295173d37a1772c4a27",
  "parents": [
    "da02021b59983145f7da0226afb46345cda5d9ef"
  ],
  "author": {
    "name": "Jin Ma",
    "email": "jinma@linux.alibaba.com",
    "time": "Sat Nov 18 14:53:08 2023 +0800"
  },
  "committer": {
    "name": "Nelson Chu",
    "email": "nelson@rivosinc.com",
    "time": "Thu Nov 23 09:31:25 2023 +0800"
  },
  "message": "RISC-V: Add T-Head VECTOR vendor extension.\n\nT-Head has a range of vendor-specific instructions ([2]).\nTherefore it makes sense to group them into smaller chunks\nin form of vendor extensions.\n\nThis patch adds the \"XTheadVector\" extension, a collection of\nT-Head-specific vector instructions. The \u0027th\u0027 prefix and the\n\"XTheadVector\" extension are documented in a PR for the RISC-V\ntoolchain conventions ([1]).\n\nHere are some things that need to be explained:\nThe \"XTheadVector\" extension is not a custom-extension, but\na non-standard non-conforming extension. The encoding space\nof the \"TheadVector\" instructions overlaps with those of\nthe \u0027V\u0027 extension. This encoding space conflict is not on\npurpose, but the result of issues in the past that have\nbeen resolved since. Therefore, the \"XTheadVector\" extension\nand the \u0027V\u0027 extension are in conflict.\n\n[1] https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/19\n[2] https://github.com/T-head-Semi/thead-extension-spec/releases/download/2.3.0/xthead-2023-11-10-2.3.0.pdf\n\nCo-developed-by: Lifang Xia \u003clifang_xia@linux.alibaba.com\u003e\nCo-developed-by: Christoph Müllner \u003cchristoph.muellner@vrull.eu\u003e\n\nbfd/ChangeLog:\n\n\t* elfxx-riscv.c (riscv_parse_check_conflicts): The\n\t\"XTheadVector\" extension and the \u0027V\u0027 extension are in conflict.\n\t(riscv_multi_subset_supports): Likewise..\n\t(riscv_multi_subset_supports_ext): Likewise.\n\ngas/ChangeLog:\n\n\t* doc/c-riscv.texi:\n\t* testsuite/gas/riscv/x-thead-vector-fail.d: New test.\n\t* testsuite/gas/riscv/x-thead-vector-fail.l: New test.\n\t* testsuite/gas/riscv/x-thead-vector.s: New test.\n\ninclude/ChangeLog:\n\n\t* opcode/riscv.h (enum riscv_insn_class):\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c9acf12462661ee3ab2a3bcbc44b9c39864086c7",
      "old_mode": 33188,
      "old_path": "bfd/elfxx-riscv.c",
      "new_id": "e2c3ffe4b4f5e9052d4e32dd97734282a4124729",
      "new_mode": 33188,
      "new_path": "bfd/elfxx-riscv.c"
    },
    {
      "type": "modify",
      "old_id": "9d0fb3b63d03b730ef8b33fea84d038aa0d3d15a",
      "old_mode": 33188,
      "old_path": "gas/NEWS",
      "new_id": "53b87593f71cbc77b54c771684c3b51d320d9ef8",
      "new_mode": 33188,
      "new_path": "gas/NEWS"
    },
    {
      "type": "modify",
      "old_id": "b23504648bd2dc30b99736ad3b0615e2d314597f",
      "old_mode": 33188,
      "old_path": "gas/doc/c-riscv.texi",
      "new_id": "a7c9420bd86de7d5557802a56510e541fae2c0e9",
      "new_mode": 33188,
      "new_path": "gas/doc/c-riscv.texi"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ac99c3f53985c4fc5ce1d773d59b5c3276879b89",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/x-thead-vector-fail.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7dd88e317ce4fb411f2adb547e94c08191c816df",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/x-thead-vector-fail.l"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/x-thead-vector.s"
    },
    {
      "type": "modify",
      "old_id": "710a9b731892d33678d5773a6a71ce12bdc77ff4",
      "old_mode": 33188,
      "old_path": "include/opcode/riscv.h",
      "new_id": "a26ef8abf122ac456db57e1859732b5845766f2d",
      "new_mode": 33188,
      "new_path": "include/opcode/riscv.h"
    }
  ]
}
