)]}'
{
  "commit": "47a54e6926a13e6016b5306823f650e67fe063b0",
  "tree": "9ecce6b7f65529e0b7c9818b2ed151054573851e",
  "parents": [
    "e7a3005fabe7b0a431c0394a5c472a2729d63f03"
  ],
  "author": {
    "name": "TMahlatini",
    "email": "128567935+TMahlatini@users.noreply.github.com",
    "time": "Fri Jul 31 03:06:55 2026 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jul 31 08:06:55 2026 +0000"
  },
  "message": "[RVV] Enable SpaceMiT vendor IME (#24706)\n\n## Summary\n\nThis PR adds an s8s8s32 mmt4d ukernel for SpaceMiT IME (`+xsmtvdot` /\n`smt.vmadot`)\nand wires the compiler to use it. The tile is fixed at 12x16x8 (3x4 grid\nof 4x4x8 atoms). Under `+xsmtvdot` we\nselect that shape and auto-enable mmt4d; plain `+v` targets are\nunchanged.\n\nAlso, runtime detection can\u0027t use the usual ISA hwprobe bits for this\nvendor extension, so we set the feature bit from SpaceMiT X60\n`mvendorid`/`marchid`. And adds lit coverage, mmt4d unit/benchmark\nentries, and an\n`riscv_64:ime:+v,+zvl256b,+xsmtvdot` e2e matmul variant. Validated on\nBanana Pi (BPI-F3 / X60): cpuinfo, mmt4d_test, and the ukernel e2e path.\n\n\n\nFixes #24576\n\nCo-authored-by: Coden  \u003cgithub.com/coden-s\u003e\nCo-authored-by: Andrew \u003cgithub.com/akuhlken\u003e\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e\nSigned-off-by: Terence \u003cterrencemahlatini@gmail.com\u003e\n\n---------\n\nSigned-off-by: Terence \u003cterrencemahlatini@gmail.com\u003e\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "327a0692f7fd290d0717f05e1f2e06fc2e047abb",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/test/materialize_encoding_riscv.mlir",
      "new_id": "651353c95622fdcc5812aae86ea0ee069c77edff",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/test/materialize_encoding_riscv.mlir"
    },
    {
      "type": "modify",
      "old_id": "7260db74db095ca8657bd407f4df31f36d6d2881",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/CPUEncodingExternalModels.cpp",
      "new_id": "4ea7b0762a126cb43b79895d83c7e7c5da867f29",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/CPUEncodingExternalModels.cpp"
    },
    {
      "type": "modify",
      "old_id": "1e30292795a05a5332bdc83c318abd1876970ddb",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Utils/Utils.cpp",
      "new_id": "34d30e455ac40b5c62bc20728845f2e1be36881a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Utils/Utils.cpp"
    },
    {
      "type": "modify",
      "old_id": "1862851b4085a9292aa6d6c42974d7bc17ac7ab0",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/internal/cpu.c",
      "new_id": "3ba85de9af3534f1a56ae058d1f47c4866c8f74a",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/internal/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "02dae9e67f600148a8f5b9724edf0f0c8898939d",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/BUILD.bazel",
      "new_id": "79fee62ce57b01799e70a33c97c23a0881a6642d",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "f155c068682fe31995fadbb0ac89a83c32bf5a70",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/CMakeLists.txt",
      "new_id": "3ba7d6ff26109ee512f07d62625fc313e247e73e",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "b68d9610e56ed5eb45f65fa6651b5e539a8cdb26",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/common_riscv_64.h",
      "new_id": "e864e59bcf33932b3ac70540e0a5b3b72ebd0894",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/common_riscv_64.h"
    },
    {
      "type": "modify",
      "old_id": "bee185d6099174f5d29ac83a3d935c5780409ae7",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/config_riscv_64.h.in",
      "new_id": "a1dbaab5d876ff15e78a7f6b11c97d6958fd23bd",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/config_riscv_64.h.in"
    },
    {
      "type": "modify",
      "old_id": "bdde1c57c54b4cf74fe94f6d0791ed15249326d0",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/mmt4d_riscv_64_entry_point.c",
      "new_id": "4f9026d2d5c257b3e0aeaf26dc48f343902dae59",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/mmt4d_riscv_64_entry_point.c"
    },
    {
      "type": "modify",
      "old_id": "c67baa595ad1696001e23da75a826b4de4bf0d17",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/mmt4d_riscv_64_tiles.inl",
      "new_id": "af48484b2e8abde1e3cf244b65d9a6679238c264",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/mmt4d_riscv_64_tiles.inl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "08c84b94e85e8ec221dd2a4c9330c294a6c05fcc",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/riscv_64/mmt4d_riscv_64_xsmtvdot.c"
    },
    {
      "type": "modify",
      "old_id": "7474bb5a20822a491315f9feecd33b1da0823732",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/tools/mmt4d_benchmark.c",
      "new_id": "c0f631c4ecb037c542d4499949f66c3d291f8544",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/tools/mmt4d_benchmark.c"
    },
    {
      "type": "modify",
      "old_id": "8b6e17a65fa161b8c14e11ed77d80ec2401fe20e",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/tools/mmt4d_test.c",
      "new_id": "68bcc1bbd12e8bb01b873845ac8b75341032dd2e",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/tools/mmt4d_test.c"
    },
    {
      "type": "modify",
      "old_id": "b634143794f28013bd14f1f61a86092e686a6032",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/schemas/cpu_feature_bits.inl",
      "new_id": "b0aa262e635a5b2773e1dac901afe3216fa65e00",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/schemas/cpu_feature_bits.inl"
    },
    {
      "type": "modify",
      "old_id": "cf42715be1eec0e47134e1a56056e951d05460dd",
      "old_mode": 33188,
      "old_path": "tests/e2e/matmul/BUILD.bazel",
      "new_id": "ef83b219b40382d709d761827f126a6e9785edb7",
      "new_mode": 33188,
      "new_path": "tests/e2e/matmul/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "40f516d2252badba8691fd8d17035f3a3864be61",
      "old_mode": 33188,
      "old_path": "tests/e2e/matmul/CMakeLists.txt",
      "new_id": "5e93079580dbb9974e745e026fde08b8f324336b",
      "new_mode": 33188,
      "new_path": "tests/e2e/matmul/CMakeLists.txt"
    }
  ]
}
