)]}'
{
  "commit": "ecb96e55497e44b6c0818553dcb86dfb96b8deef",
  "tree": "0184294c2a21d63bcad25223bfa621aa46c3ef44",
  "parents": [
    "5f784ec9277e9303eee3ce366c40ce9fa3203f3e"
  ],
  "author": {
    "name": "Jan Beulich",
    "email": "jbeulich@suse.com",
    "time": "Mon Mar 20 16:56:24 2023 +0100"
  },
  "committer": {
    "name": "Jan Beulich",
    "email": "jbeulich@suse.com",
    "time": "Mon Mar 20 16:56:24 2023 +0100"
  },
  "message": "x86: re-work build_modrm_byte()\u0027s register assignment\n\nThe function has accumulated a number of special cases for no real\nreason. Some were necessary because insn attributes (SwapSources in\nparticular) weren\u0027t suitably utilized instead. Note that the addition of\nSwapSources actually increases consistency among the templates: Like\nothers which already have the attribute, these are all insns where the\nVEX.VVVV-encoded register comes first (or last when looking at the SDM).\n\nNote that the vexvvvv attribute now has merely boolean meaning anymore,\nin line with the SDM long having dropped the NDS/NDD/DDS concept of\nidentifying encoding variants. The fallout will be taken care of\nsubsequently, though, to not further clutter the change here.\n\nAs to the TILEZERO special case: If more instructions like this\nappeared, a new attribute would likely be the way to go. But as long as\nit\u0027s only a single insn, going from the mnemonic is cheaper.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "835fd145c87619328fb64b28b21900dabb51e472",
      "old_mode": 33188,
      "old_path": "gas/config/tc-i386.c",
      "new_id": "2f75e01f734d8d7d574e6e238579957ea834ca62",
      "new_mode": 33188,
      "new_path": "gas/config/tc-i386.c"
    },
    {
      "type": "modify",
      "old_id": "1a5c775dfe963f8b6bf316cb1378668e72291006",
      "old_mode": 33188,
      "old_path": "opcodes/i386-opc.tbl",
      "new_id": "cfb19b69a329a3ae8d4ea1958fcee413aa4add49",
      "new_mode": 33188,
      "new_path": "opcodes/i386-opc.tbl"
    },
    {
      "type": "modify",
      "old_id": "46389df721a68924342f54907524743e87099db9",
      "old_mode": 33188,
      "old_path": "opcodes/i386-tbl.h",
      "new_id": "08410a71a0fc6f92d033238506ff99e7c65ae659",
      "new_mode": 33188,
      "new_path": "opcodes/i386-tbl.h"
    }
  ]
}
