)]}'
{
  "commit": "04521e258ee8f2e4e27d242a2e34047cfc1ccd11",
  "tree": "a015ab9ec221b002152e274492abd516f13091dd",
  "parents": [
    "af4eb9e20a6b4d9a5e61d9caaf89daf4c3742150"
  ],
  "author": {
    "name": "Indu Bhagat",
    "email": "indu.bhagat@oracle.com",
    "time": "Thu Jul 18 20:24:10 2024 -0700"
  },
  "committer": {
    "name": "Indu Bhagat",
    "email": "indu.bhagat@oracle.com",
    "time": "Thu Jul 18 20:54:14 2024 -0700"
  },
  "message": "include: opcodes: aarch64: define new subclasses\n\nThe existing iclass information tells us the general shape and purpose\nof the instructions.  In some cases, however, we need to further disect\nthe iclass on the basis of other finer-grain information.  E.g., for the\npurpose of SCFI, we need to know whether a given insn with iclass of\nldst_* is a load or a store.  Similarly, whether a particular arithmetic\ninsn is an add or sub or mov, etc.\n\nThis patch defines new flags to demarcate the insns.  Also provide an\naccess function for subclass lookup.\n\nLater, we will enforce (in aarch64-gen.c) that if an iclass has at least\none instruction with a non-zero subclass, all instructions of the iclass\nmust have a non-zero subclass information.  If none of the defined\nsubclasses are applicable (or not required for SCFI purposes),\nF_SUBCLASS_OTHER can be used for such instructions.\n\ninclude/\n        * opcode/aarch64.h (F_SUBCLASS): New flag.\n        (F_SUBCLASS_OTHER): Likewise.\n        (F_LDST_LOAD): Likewise.\n        (F_LDST_STORE): Likewise.\n        (F_ARITH_ADD): Likewise.\n        (F_ARITH_SUB): Likewise.\n        (F_ARITH_MOV): Likewise.\n        (F_BRANCH_CALL): Likewise.\n        (F_BRANCH_RET): Likewise.\n\t(F_DP_TAG_ONLY): Likewise.\n        (aarch64_opcode_subclass_p): New definition.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1b01931b0cba6d27fe577bb9983ddce20b7ac4af",
      "old_mode": 33188,
      "old_path": "include/opcode/aarch64.h",
      "new_id": "df07d3b1bbab1bb92397a0ffb78ef6cf24d22deb",
      "new_mode": 33188,
      "new_path": "include/opcode/aarch64.h"
    }
  ]
}
