)]}'
{
  "commit": "3b4b682becdfa9f42321aa024d5cc84f71f06d8c",
  "tree": "807cac0bfbc45d45f156dae742b31f9a66aaa559",
  "parents": [
    "59daa706fbec745684702741b9f5373142dd9fdc"
  ],
  "author": {
    "name": "Ma Ling",
    "email": "ling.ma@intel.com",
    "time": "Fri Sep 17 03:12:40 2010 +0800"
  },
  "committer": {
    "name": "H. Peter Anvin",
    "email": "hpa@zytor.com",
    "time": "Fri Sep 24 18:57:11 2010 -0700"
  },
  "message": "x86, mem: Optimize memmove for small size and unaligned cases\n\nmovs instruction will combine data to accelerate moving data,\nhowever we need to concern two cases about it.\n\n1. movs instruction need long lantency to startup,\n   so here we use general mov instruction to copy data.\n2. movs instruction is not good for unaligned case,\n   even if src offset is 0x10, dest offset is 0x0,\n   we avoid and handle the case by general mov instruction.\n\nSigned-off-by: Ma Ling \u003cling.ma@intel.com\u003e\nLKML-Reference: \u003c1284664360-6138-1-git-send-email-ling.ma@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "81130d477ee2c48904e0f910b4ab73b303273e20",
      "old_mode": 33188,
      "old_path": "arch/x86/lib/memcpy_32.c",
      "new_id": "b908a59eccf52fe4ab22382ae793cb2a9f023e4f",
      "new_mode": 33188,
      "new_path": "arch/x86/lib/memcpy_32.c"
    },
    {
      "type": "modify",
      "old_id": "ecacc4b3d9e5056785daea45742db183f283e065",
      "old_mode": 33188,
      "old_path": "arch/x86/lib/memmove_64.c",
      "new_id": "6d0f0ec41b348ad2a912fdb184303c094ce1a996",
      "new_mode": 33188,
      "new_path": "arch/x86/lib/memmove_64.c"
    }
  ]
}
