)]}'
{
  "commit": "af38c6367ff0c6af1639b389eb34cf9983c30ff5",
  "tree": "7669d1eabbe02ea5befdadbc0c3cee1666c83dd8",
  "parents": [
    "42878336131e1b90623c5e2d7d011acc9b35c950"
  ],
  "author": {
    "name": "Xiao Zeng",
    "email": "zengxiao@eswincomputing.com",
    "time": "Thu Jun 06 15:59:51 2024 +0800"
  },
  "committer": {
    "name": "Nelson Chu",
    "email": "nelson@rivosinc.com",
    "time": "Thu Jun 06 16:10:48 2024 +0800"
  },
  "message": "RISC-V: Add support for Zfbfmin extension\n\nThis implements the Zfbfmin extension, as of version 1.0.\n\nView detailed information in:\n\u003chttps://github.com/riscv/riscv-isa-manual/blob/main/src/bfloat16.adoc#zfbfmin---scalar-bf16-converts\u003e\n\n1 The Zfbfmin extension depend on \u0027F\u0027, and the FLH, FSH, FMV.X.H, and\n  FMV.H.X instructions as defined in the Zfh extension.\n\n2 The Zfhmin extension includes the following instructions from the Zfh\n  extension: FLH, FSH, FMV.X.H, FMV.H.X... View detailed information in:\n  \u003chttps://github.com/riscv/riscv-isa-manual/blob/main/src/zfh.adoc\u003e\n\n3 Zfhmin extension depend on \u0027F\u0027.\n\n4 Simply put, just make Zfbfmin dependent on Zfhmin.\n\nPerhaps in the future, we could propose making the FLH, FSH, FMV.X.H, and\nFMV.H.X instructions an independent extension to achieve precise dependency\nrelationships for the Zfbfmin.\n\n5 For relevant information in gcc, please refer to:\n  \u003chttps://gcc.gnu.org/git/?p\u003dgcc.git;a\u003dcommit;h\u003d35224ead63732a3550ba4b1332c06e9dc7999c31\u003e\n\nbfd/ChangeLog:\n\n\t* elfxx-riscv.c (riscv_multi_subset_supports): Handle Zfbfmin.\n\t(riscv_multi_subset_supports_ext): Ditto.\n\ngas/ChangeLog:\n\n\t* NEWS: Updated.\n\t* testsuite/gas/riscv/march-help.l: Ditto.\n\t* testsuite/gas/riscv/zfbfmin.d: New test.\n\t* testsuite/gas/riscv/zfbfmin.s: New test.\n\ninclude/ChangeLog:\n\n\t* opcode/riscv-opc.h (MATCH_FCVT_BF16_S): Define.\n\t(MASK_FCVT_BF16_S): Ditto.\n\t(MATCH_FCVT_S_BF16): Ditto.\n\t(MASK_FCVT_S_BF16): Ditto.\n\t(DECLARE_INSN): New declarations for Zfbfmin.\n\t* opcode/riscv.h (enum riscv_insn_class): Add INSN_CLASS_ZFBFMIN.\n\nopcodes/ChangeLog:\n\n\t* riscv-opc.c: Add Zfbfmin instructions.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5cb063a68a914f751d59f927e6289e64f7962046",
      "old_mode": 33188,
      "old_path": "bfd/elfxx-riscv.c",
      "new_id": "1d70139725a4ac0639969724ad0459c10db0ac88",
      "new_mode": 33188,
      "new_path": "bfd/elfxx-riscv.c"
    },
    {
      "type": "modify",
      "old_id": "e51c3bbba6d3856e10d4f7ead9e0c0b21bdbaf99",
      "old_mode": 33188,
      "old_path": "gas/NEWS",
      "new_id": "cdf3094189403191e69f7b6d520b6f8b6183c0ad",
      "new_mode": 33188,
      "new_path": "gas/NEWS"
    },
    {
      "type": "modify",
      "old_id": "5b5a36633e1a9b4ff6a5b5f2fc5a59493275641c",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/riscv/march-help.l",
      "new_id": "57c73b3074e136d2c745c56a3b1d7df284956787",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/march-help.l"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7cacc0bd684b8e5c88ef9753e1160597a2353ffd",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/zfbfmin.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c9a9af3e394bde51bfaff70ee89e5856f80b61b4",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/zfbfmin.s"
    },
    {
      "type": "modify",
      "old_id": "cd957ef9b6fc05f192a98068ded6e4ea298db80f",
      "old_mode": 33188,
      "old_path": "include/opcode/riscv-opc.h",
      "new_id": "ef33aeb1b36dee7f5afa7a404421d09141ac2298",
      "new_mode": 33188,
      "new_path": "include/opcode/riscv-opc.h"
    },
    {
      "type": "modify",
      "old_id": "0653ae5725508002f6a056833bc2bd09661dbef1",
      "old_mode": 33188,
      "old_path": "include/opcode/riscv.h",
      "new_id": "dfb86966b0aeda70734722c79dcbbcfabb8e79f6",
      "new_mode": 33188,
      "new_path": "include/opcode/riscv.h"
    },
    {
      "type": "modify",
      "old_id": "4bb54b7eaf0ec7a0977f207f87ca2daca22c55b4",
      "old_mode": 33188,
      "old_path": "opcodes/riscv-opc.c",
      "new_id": "1ccf0685b2bc50c6a4fa959c584a7e2e6ec9ba90",
      "new_mode": 33188,
      "new_path": "opcodes/riscv-opc.c"
    }
  ]
}
