)]}'
{
  "commit": "704452b488bf5a96bb9b68d7e801d1568aedbe4a",
  "tree": "055251a8964c5e8674d74dc29ac49334988d12b9",
  "parents": [
    "7195f52f734578177b7044ba1a22df2ca15dad24"
  ],
  "author": {
    "name": "Haochen Jiang",
    "email": "haochen.jiang@intel.com",
    "time": "Wed Dec 18 10:40:33 2024 +0800"
  },
  "committer": {
    "name": "Haochen Jiang",
    "email": "haochen.jiang@intel.com",
    "time": "Wed Dec 18 10:40:33 2024 +0800"
  },
  "message": "Support Intel SM4 AVX10.2 extension\n\nIn this patch, we will support SM4 AVX10.2 extension part. It is\na promotion from VEX encoding to EVEX encoding. The EVEX encoding\nis based on AVX10.2, which is the same as the upcoming MOVRS ISA.\nThus, we decide to pull AVX10.2 out to CPU_COMMON_FLAGS.\n\nWhile I have also tried to merge the table like AVX/AVX512, I\nchoose to just templatize the table. I am okay to go either way,\nbut slightly prefer the templatizing one since probably SM4 would\nbe the only ISA with AVX10.2 needs such VEX to EVEX extension (MOVRS\ndoes not need that). Also, it is a tendancy that we will directly\nprovide EVEX encodings and no VEX encodings for vector instructions\nsince AVX10. This will make the adding in gas/config/tc-i386.c not\nthat worthy.\n\ngas/ChangeLog:\n\n\t* NEWS: Support Intel SM4 EVEX instructions.\n\t* config/tc-i386.c (_is_cpu): Handle AVX10.2.\n\t* testsuite/gas/i386/i386.exp: Run SM4 tests.\n\t* testsuite/gas/i386/x86-64.exp: Ditto.\n\t* testsuite/gas/i386/avx10_2-256-sm4-intel.d: Add SM4 tests.\n\t* testsuite/gas/i386/avx10_2-256-sm4.d: Ditto.\n\t* testsuite/gas/i386/avx10_2-256-sm4.s: Ditto.\n\t* testsuite/gas/i386/avx10_2-512-sm4-intel.d: Ditto.\n\t* testsuite/gas/i386/avx10_2-512-sm4.d: Ditto.\n\t* testsuite/gas/i386/avx10_2-512-sm4.s: Ditto.\n\t* testsuite/gas/i386/avx10_2-sm4-inval.l: Ditto.\n\t* testsuite/gas/i386/avx10_2-sm4-inval.s: Ditto.\n\t* testsuite/gas/i386/x86-64-avx10_2-256-sm4-intel.d: Ditto.\n\t* testsuite/gas/i386/x86-64-avx10_2-256-sm4.d: Ditto.\n\t* testsuite/gas/i386/x86-64-avx10_2-256-sm4.s: Ditto.\n\t* testsuite/gas/i386/x86-64-avx10_2-512-sm4-intel.d: Ditto.\n\t* testsuite/gas/i386/x86-64-avx10_2-512-sm4.d: Ditto.\n\t* testsuite/gas/i386/x86-64-avx10_2-512-sm4.s: Ditto.\n\t* testsuite/gas/i386/x86-64-avx10_2-sm4-inval.l: Ditto.\n\t* testsuite/gas/i386/x86-64-avx10_2-sm4-inval.s: Ditto.\n\nopcodes/ChangeLog:\n\n\t* i386-dis-evex.h: Add evex table entry for SM4.\n\t* i386-dis.h: Ditto.\n\t* i386-opc.h: (i386_cpu): Move AVX10.2 to CPU_FLAGS_COMMON.\n\t* i386-opc.tbl: Add SM4 EVEX instructions.\n\t* i386-init.h: Regenerated.\n\t* i386-tbl.h: Ditto.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "269b63e2056b419ee66f97605c95b560777b8e2e",
      "old_mode": 33188,
      "old_path": "gas/NEWS",
      "new_id": "8d4bca61126c9653cba1387c840e8938c1bf9266",
      "new_mode": 33188,
      "new_path": "gas/NEWS"
    },
    {
      "type": "modify",
      "old_id": "aeb9b97445102b4f3a89a7124c3ba6d2a15462a9",
      "old_mode": 33188,
      "old_path": "gas/config/tc-i386.c",
      "new_id": "f508a13efae4c90c04d4c3c55ef536e11f2c88d8",
      "new_mode": 33188,
      "new_path": "gas/config/tc-i386.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aaeed2484d0b7d1af7d26c8dea1b71074534939c",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/avx10_2-256-sm4-intel.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "08d644e277b532e05f28f83dee7ea5464ee75941",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/avx10_2-256-sm4.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "93aed0869024fc4ab21a81699ddb3dc673b243b6",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/avx10_2-256-sm4.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8ea86978083a1dda125abd894f755da5162d8979",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/avx10_2-512-sm4-intel.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "abb5ade307f136ade3dc8e51b81595a8f49df358",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/avx10_2-512-sm4.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d2ebe81e43aba496b4b9706bc6bf41dd592a2a50",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/avx10_2-512-sm4.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b5410c2770f1651f0426478643daa94ce63c8207",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/avx10_2-sm4-inval.l"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8bd6aea36378a3bc4f8532cafa26ace84f900f1b",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/avx10_2-sm4-inval.s"
    },
    {
      "type": "modify",
      "old_id": "17458ce2c9a25168558b37f1cd267c7e799fcb9b",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/i386/i386.exp",
      "new_id": "75a2aa5337d91534ea8d84150036887273d595e4",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/i386.exp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0624bfbbd4aa11eea162e3a7437897844788049a",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-avx10_2-256-sm4-intel.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2646c3e63c26d3446472d19ad4071e44a70ac306",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-avx10_2-256-sm4.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5813ef52b046577562f7d700b3647aacad601a88",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-avx10_2-256-sm4.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c9dbdfbb46dfd84266f4607dc3589c9900ed1484",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-avx10_2-512-sm4-intel.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ee66096234045af1aecc61f0243bed991717f16f",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-avx10_2-512-sm4.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eff1a598468dfdc7b0177cd26555e057338eee0f",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-avx10_2-512-sm4.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b5410c2770f1651f0426478643daa94ce63c8207",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-avx10_2-sm4-inval.l"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8234412f3db58905bf643c51d9999cc8780191c5",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64-avx10_2-sm4-inval.s"
    },
    {
      "type": "modify",
      "old_id": "ebdc2ad369bbdc1be212c38795b487f31d09a68f",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/i386/x86-64.exp",
      "new_id": "02a32dc43463d30e0e26585893f61877dbb7f434",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/i386/x86-64.exp"
    },
    {
      "type": "modify",
      "old_id": "1785d2fdd272ec9ff3c942d8e384ec7f78c4609e",
      "old_mode": 33188,
      "old_path": "opcodes/i386-dis-evex.h",
      "new_id": "f94c0d9d6aebccdf0b58030b968a8ee73c292bc7",
      "new_mode": 33188,
      "new_path": "opcodes/i386-dis-evex.h"
    },
    {
      "type": "modify",
      "old_id": "8795e3970820b513b445ca44acd22680cef2790f",
      "old_mode": 33188,
      "old_path": "opcodes/i386-dis.c",
      "new_id": "e8f5d8b293c6f16a2922e5718e021c6a1757b3ae",
      "new_mode": 33188,
      "new_path": "opcodes/i386-dis.c"
    },
    {
      "type": "modify",
      "old_id": "3d12c6bd0129d6ab7b043289db334cb31f3ae3f6",
      "old_mode": 33188,
      "old_path": "opcodes/i386-init.h",
      "new_id": "76a64509ee1879eb79c701e1e3bd5368eada7e61",
      "new_mode": 33188,
      "new_path": "opcodes/i386-init.h"
    },
    {
      "type": "modify",
      "old_id": "e50f518ec1acd51e57f4f4378c31c912966b7d61",
      "old_mode": 33188,
      "old_path": "opcodes/i386-opc.h",
      "new_id": "75d8c4f8b703d7ae9541216ea08496ddf407f7db",
      "new_mode": 33188,
      "new_path": "opcodes/i386-opc.h"
    },
    {
      "type": "modify",
      "old_id": "502264cb78a4d888305f47882f5d0fdc9640f651",
      "old_mode": 33188,
      "old_path": "opcodes/i386-opc.tbl",
      "new_id": "5800e5811f45452a472fdbc2dc1fde6c7f0a2c65",
      "new_mode": 33188,
      "new_path": "opcodes/i386-opc.tbl"
    },
    {
      "type": "modify",
      "old_id": "c0510492736723de81f345669c9cdf5975cb0352",
      "old_mode": 33188,
      "old_path": "opcodes/i386-tbl.h",
      "new_id": "93146d962630e32b6aca5e91b7ad537dc559c517",
      "new_mode": 33188,
      "new_path": "opcodes/i386-tbl.h"
    }
  ]
}
