)]}'
{
  "commit": "7507fe37980edcd85b5811c2ec2859bdaf93107e",
  "tree": "73c47d4137809f5738133ab1748bf66d0dfc4f6b",
  "parents": [
    "0e6fdecde3a85fc81fea6722458e6319fbe81cb7"
  ],
  "author": {
    "name": "Jens Remus",
    "email": "jremus@linux.ibm.com",
    "time": "Fri Nov 29 15:37:19 2024 +0100"
  },
  "committer": {
    "name": "Jens Remus",
    "email": "jremus@linux.ibm.com",
    "time": "Fri Nov 29 15:37:19 2024 +0100"
  },
  "message": "s390: Fix disassembly of optional addressing operands\n\n\"nop D1(B1)\" erroneously disassembled into \"nop D1(B1\" (missing\nclosing parenthesis).  \"nop D1(X1,0)\" and \"nop D1(X1,)\" erroneously\ndisassembled into \"nop D1(X1)\" (missing zero base register) instead\nof \"nop D1(X1,0)\".\n\nDo not skip disassembly of optional operands if they are index (X)\nor base (B) registers or length (L) in an addressing operand sequence\n\"D(X,B)\",  \"D(B)\", or \"D(L,B).  Index and base register operand values\nof zero are being handled separately, as they may not be omitted\nunconditionally.  For instance a base register value of zero must be\nprinted in above mentioned case, to distinguish the index from the\nbase register.  This also ensures proper formatting of addressing\noperand sequences.\n\nWhile at it add further test cases for instructions with optional\noperands.\n\nopcodes/\n\t* s390-dis.c (s390_print_insn_with_opcode): Do not\n\tunconditionally skip disassembly of optional operands with a\n\tvalue of zero, if within an addressing operand sequence.\n\ngas/testsuite/\n\t* gas/s390/zarch-optargs.d: Add further test cases for\n\tinstructions with optional operands.\n\t* gas/s390/zarch-optargs.s: Likewise.\n\nReported-by: Florian Krohm \u003cflo2030@eich-krohm.de\u003e\nSigned-off-by: Jens Remus \u003cjremus@linux.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ae425e448dc844d1cb54d7111005c286d87c19e8",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/s390/zarch-optargs.d",
      "new_id": "919acbbac3673de07eccbe93ab3f01f1032643f2",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/s390/zarch-optargs.d"
    },
    {
      "type": "modify",
      "old_id": "594ca9f26673f353cdeacb8add6321148f3d8142",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/s390/zarch-optargs.s",
      "new_id": "86d9334ee9b29305466382f9dc78eed935d1e467",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/s390/zarch-optargs.s"
    },
    {
      "type": "modify",
      "old_id": "852d2f6ebb934fc00acc3177d18b730edf144c65",
      "old_mode": 33188,
      "old_path": "opcodes/s390-dis.c",
      "new_id": "1a23afc8f402acb1a2d951a6ec62ab0b94814544",
      "new_mode": 33188,
      "new_path": "opcodes/s390-dis.c"
    }
  ]
}
