)]}'
{
  "commit": "be28a26aebc6537e6ce3544aeba6ec70828cf126",
  "tree": "4a11e7d8e1dc0502539e8c91af510d38721b4793",
  "parents": [
    "ed57ac46e53a71c463c0f7510d4e3bb5aac675ab"
  ],
  "author": {
    "name": "Tsukasa OI",
    "email": "research_trasio@irq.a4lg.com",
    "time": "Sun May 18 04:35:16 2025 +0000"
  },
  "committer": {
    "name": "Tsukasa OI",
    "email": "research_trasio@irq.a4lg.com",
    "time": "Mon May 19 10:55:31 2025 +0000"
  },
  "message": "RISC-V: Add implication from the XTheadZvamo extension\n\nT-Head/XuanTie\u0027s vector extension documentation states that their vector\nextensions are based on the standard vector extension draft,\nversion 0.7.1.\n\nIn that draft, it is rare to see dependencies between extensions as\nin the ratified version ... except: \"Zvamo\" -\u003e \"Zaamo\".\n\ncf. \u003chttps://github.com/riscvarchive/riscv-v-spec/releases/tag/0.7.1\u003e\n\n\u003e If vector AMO instructions are supported, then the scalar Zaamo\n\u003e instructions (atomic operations from the standard A extension)\n\u003e must be present.\n\nNote that using the words like \"imply\" or \"depend\" for extensions\nweren\u0027t a common practice to represent dependencies between extensions\nat the time the documentation was created.\n\nThe \"Zaamo\" was not ratified as an extension at the time but this is a\nsubset of the \"A\" extension and defines scalar AMO operations (while\n\"Zvamo\" -- NOT in the ratified specification -- defines vector AMO ops).\n\nThe important part is that the T-Head/XuanTie\u0027s documentation just\nstates that the \"Zvamo\" (draft) extension is renamed to \"XTheadZvamo\".\nIt means, this implication should have been preserved in some way.\n\n\u003e The extension Zvamo is renamed to XTheadZvamo.\n\ncf. \u003chttps://github.com/XUANTIE-RV/thead-extension-spec/blob/2.3.0/xtheadvector.adoc\u003e\n\nbfd/ChangeLog:\n\n\t* elfxx-riscv.c (riscv_implicit_subsets): Add implication\n\t\"XTheadZvamo\" -\u003e \"Zaamo\".\n\ngas/ChangeLog:\n\n\t* testsuite/gas/riscv/imply.s: Add \"XTheadZvamo\" implication.\n\t* testsuite/gas/riscv/imply.d: Ditto.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2487beeecc5659aa882e52c7f50f3704121bf5b2",
      "old_mode": 33188,
      "old_path": "bfd/elfxx-riscv.c",
      "new_id": "007eedb3b239a7322271a28c7c0a09a18e6e9eef",
      "new_mode": 33188,
      "new_path": "bfd/elfxx-riscv.c"
    },
    {
      "type": "modify",
      "old_id": "58f13e488cfe5bb17fb810ac98bd3c8692cf310f",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/riscv/imply.d",
      "new_id": "aa9c1c0458feff974b962119b2432fde29de35cd",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/imply.d"
    },
    {
      "type": "modify",
      "old_id": "fc5cd5007754d4937c6ba88516e11ce28644fc67",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/riscv/imply.s",
      "new_id": "be3c420a9da60fc3606007e01624475c897145b5",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/imply.s"
    }
  ]
}
