)]}'
{
  "commit": "8ee52bcf39e95abbc9cfffbb0afbb55be67e8c3d",
  "tree": "b7a28eb5ac550e20500c27cb59ee1e10bc5f4626",
  "parents": [
    "a122baf523b0d03c43abeaa797b82d51aac91061"
  ],
  "author": {
    "name": "Jan Beulich",
    "email": "jbeulich@suse.com",
    "time": "Thu Nov 24 09:35:51 2022 +0100"
  },
  "committer": {
    "name": "Jan Beulich",
    "email": "jbeulich@suse.com",
    "time": "Thu Nov 24 09:35:51 2022 +0100"
  },
  "message": "x86: widen applicability and use of CheckRegSize\n\nFirst of all make operand_type_register_match() apply to all sized\noperands, i.e. in Intel Syntax also to respective memory ones. This\naddresses gas wrongly accepting certain SIMD insns where register and\nmemory operand sizes should match but don\u0027t. This apparently has\naffected all templates with one memory-only operand and one or more\nregister ones, both permitting at least two sizes, due to CheckRegSize\nnot taking effect.\n\nThen also add CheckRegSize to a couple of non-SIMD templates matching\nthat same pattern of memory-only vs register operands. This replaces\nbogus (for Intel Syntax) diagnostics referring to a wrong suffix (when\nnone was used at all) by \"type mismatch\" ones, just like already emitted\nfor insns where the template allows a register operand alongside a\nmemory one at any particular position.\n\nThis also is a prereq to limiting (ideally eliminating in the long run)\nsuffix \"derivation\" in Intel Syntax mode.\n\nWhile making the code adjustment also flip order of checks to do the\ncheaper one first in both cases.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f54e7fddee0d58dbcdda184639ea6909b565d175",
      "old_mode": 33188,
      "old_path": "gas/config/tc-i386.c",
      "new_id": "5a88d25a9c27a510fcd60cae8417ca0c8510d255",
      "new_mode": 33188,
      "new_path": "gas/config/tc-i386.c"
    },
    {
      "type": "modify",
      "old_id": "c81d283dee3c49a56f1945888faaec5c68d2b2be",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/i386/intelbad.l",
      "new_id": "8f6341d150f2b3e7b3571f66aa9095f95fe35cd8",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/intelbad.l"
    },
    {
      "type": "modify",
      "old_id": "fd8c9cae433a62aff0d1b4477399b230cb821996",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/i386/intelbad.s",
      "new_id": "77375579a472a7462bc3c4290bf9d5a9782c08e2",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/intelbad.s"
    },
    {
      "type": "modify",
      "old_id": "467307557da0f25865271baa81a6e74b022084e8",
      "old_mode": 33188,
      "old_path": "opcodes/i386-opc.tbl",
      "new_id": "e59ad8f3aff3f66c6b8e6a8bb44fb7dc3e9f8867",
      "new_mode": 33188,
      "new_path": "opcodes/i386-opc.tbl"
    },
    {
      "type": "modify",
      "old_id": "3830e227b07e578e376382e0c68daa2d074488ea",
      "old_mode": 33188,
      "old_path": "opcodes/i386-tbl.h",
      "new_id": "e25c04780ec8ad13b262178f40e464557812d11e",
      "new_mode": 33188,
      "new_path": "opcodes/i386-tbl.h"
    }
  ]
}
