)]}'
{
  "commit": "b0dd832fa45de3e8e2038e7564331476b80c42a5",
  "tree": "36898c69fe4a6fc4237c1b743e3ca127fc019b2c",
  "parents": [
    "026eb0595f615f118d25be7f1297f071d20efa37"
  ],
  "author": {
    "name": "Cui, Lili",
    "email": "lili.cui@intel.com",
    "time": "Thu Jul 04 15:49:16 2024 +0800"
  },
  "committer": {
    "name": "Cui, Lili",
    "email": "lili.cui@intel.com",
    "time": "Thu Jul 04 15:55:00 2024 +0800"
  },
  "message": "Support APX CFCMOV\n\nThe CMOVcc instruction proposed by EVEX has four different forms,\ncorresponding to the four possible combinations of EVEX.ND and EVEX.NF\nvalues.\n\nIn the encoder part, when the CFCMOV template supports EVEX_NF, it means that\nit requires EVEX.NF to be 1.\n\nIn the decoder part, CFCMOV_Fixup is used to reverse source and destination\noperands in the 2-operand case.\n\ngas/ChangeLog:\n\n        * config/tc-i386.c (build_apx_evex_prefix): Set NF bit for cfcmov\n        when the insn template supports EVEX_NF.\n        * testsuite/gas/i386/x86-64-apx-inval.l: Add invalid tests for cfcmov.\n        * testsuite/gas/i386/x86-64-apx-inval.s: Ditto.\n        * testsuite/gas/i386/x86-64.exp: Add tests for cfcmov and cmov.\n        * testsuite/gas/i386/x86-64-apx-cfcmov-intel.d: Ditto.\n        * testsuite/gas/i386/x86-64-apx-cfcmov.d: Ditto.\n        * testsuite/gas/i386/x86-64-apx-cfcmov.s: Ditto.\n\nopcodes/ChangeLog:\n\n        * i386-dis-evex-prefix.h: Add cfcmov instructions.\n        * i386-dis.c (CFCMOV_Fixup): Special handling of cfcmov.\n        (putop): Print \u0027cf\u0027 for cfcmov instructions.\n        * i386-opc.h (EVEX_NF): New.\n        * i386-opc.tbl: Add cfcmov instructions.\n        * i386-mnem.h: Regerated.\n        * i386-tbl.h: Regerated.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3b4d9cacc2e490881afdc5b0feecd21a3e904322",
      "old_mode": 33188,
      "old_path": "gas/config/tc-i386.c",
      "new_id": "14d788cb818c93a5078801ddf130453c97e710c2",
      "new_mode": 33188,
      "new_path": "gas/config/tc-i386.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0345d127054d4affa740f892f41cf4d6e506000a",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-apx-cfcmov-intel.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d379ae870ef5ea1997694d83fbc0fd2021f4df67",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-apx-cfcmov.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b36bca57e54ad2aba5858639fd443f95fdd03bf7",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-apx-cfcmov.s"
    },
    {
      "type": "modify",
      "old_id": "a15f6b87cac30de1979455daa55e1e0ab2b90705",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/i386/x86-64-apx-inval.l",
      "new_id": "7249923b5201dcb203551a3dabcd9290b84f65e7",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-apx-inval.l"
    },
    {
      "type": "modify",
      "old_id": "3d69deabe4d99f417b2b88cbd01c87e4731aeece",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/i386/x86-64-apx-inval.s",
      "new_id": "281478e284d17ce79bed29760d8f4009415c4f6a",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-apx-inval.s"
    },
    {
      "type": "modify",
      "old_id": "8974a461fe1ead0bc01bc3ad789375fb9e128230",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/i386/x86-64.exp",
      "new_id": "bd1aa5495857bf58f5db5a80e5fa955f8a8a3eac",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64.exp"
    },
    {
      "type": "modify",
      "old_id": "0eba11d87de973d289719ef7ef03205b3e729dde",
      "old_mode": 33188,
      "old_path": "opcodes/i386-dis-evex-prefix.h",
      "new_id": "0fb6bd4e2adf2a374bec45bae025179e6e454622",
      "new_mode": 33188,
      "new_path": "opcodes/i386-dis-evex-prefix.h"
    },
    {
      "type": "modify",
      "old_id": "9c5063eb4ccd5a1b5dd7dda7dbe76bed13174035",
      "old_mode": 33188,
      "old_path": "opcodes/i386-dis.c",
      "new_id": "3abeb29341d7c08d72cdab0d1d23e2f3f291f0d5",
      "new_mode": 33188,
      "new_path": "opcodes/i386-dis.c"
    },
    {
      "type": "modify",
      "old_id": "5f01bb969dd48a014c5a69a69867460c262755ce",
      "old_mode": 33188,
      "old_path": "opcodes/i386-mnem.h",
      "new_id": "48f8c94f24bab9061b5b7825efa9fe9b57c053cf",
      "new_mode": 33188,
      "new_path": "opcodes/i386-mnem.h"
    },
    {
      "type": "modify",
      "old_id": "7400428eb24f1600d6180a3e052b7b416ea6d528",
      "old_mode": 33188,
      "old_path": "opcodes/i386-opc.h",
      "new_id": "db5ca36b8e062330d5bd55115291aca1ca4aee05",
      "new_mode": 33188,
      "new_path": "opcodes/i386-opc.h"
    },
    {
      "type": "modify",
      "old_id": "03734884aa5502a6b9e633c258cb0532eb7c24b9",
      "old_mode": 33188,
      "old_path": "opcodes/i386-opc.tbl",
      "new_id": "8c0d93402b53828a5cd926c7daf2b55176733354",
      "new_mode": 33188,
      "new_path": "opcodes/i386-opc.tbl"
    },
    {
      "type": "modify",
      "old_id": "4d2c28ebe64f4da50f61aa202e130f8b3ae2cfdd",
      "old_mode": 33188,
      "old_path": "opcodes/i386-tbl.h",
      "new_id": "0e5e603a153e4e1dae47ba256abfdd29b0841e4d",
      "new_mode": 33188,
      "new_path": "opcodes/i386-tbl.h"
    }
  ]
}
