)]}'
{
  "commit": "c7cfde42a9ec05b72d15ebaa9a59cefed4cd323a",
  "tree": "395d38ba42df5e8be5abe33baa028bc937226155",
  "parents": [
    "d889035fe6802b64567c2ed250c1dff0eb377acf"
  ],
  "author": {
    "name": "Johann",
    "email": "johannkoenig@google.com",
    "time": "Thu Apr 07 13:17:22 2011 -0400"
  },
  "committer": {
    "name": "Johann",
    "email": "johannkoenig@google.com",
    "time": "Mon Apr 18 16:30:38 2011 -0400"
  },
  "message": "Add save/restore xmm registers in x86 assembly code\n\nWent through the code and fixed it. Verified on Windows.\n\nWhere possible, remove dependencies on xmm[67]\n\nCurrent code relies on pushing rbp to the stack to get 16 byte\nalignment. This broke when rbp wasn\u0027t pushed\n(vp8/encoder/x86/sad_sse3.asm). Work around this by using unaligned\nmemory accesses. Revisit this and the offsets in\nvp8/encoder/x86/sad_sse3.asm in another change to SAVE_XMM.\n\nChange-Id: I5f940994d3ebfd977c3d68446cef20fd78b07877\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "edee1578e2607ec0b1311665a68b504f6c620fb1",
      "old_mode": 33188,
      "old_path": "vp8/common/x86/idctllm_sse2.asm",
      "new_id": "c873869abd4562adcf053870fcecb85b524ae6db",
      "new_mode": 33188,
      "new_path": "vp8/common/x86/idctllm_sse2.asm"
    },
    {
      "type": "modify",
      "old_id": "0ec18de764201af5a611abc61a9c58b1091509d6",
      "old_mode": 33188,
      "old_path": "vp8/common/x86/subpixel_ssse3.asm",
      "new_id": "1db3d629ca1a479bf1dee4fd8081057a2dc11662",
      "new_mode": 33188,
      "new_path": "vp8/common/x86/subpixel_ssse3.asm"
    },
    {
      "type": "modify",
      "old_id": "652dd98040665dc5a87e681dcb46db816c9c96c5",
      "old_mode": 33188,
      "old_path": "vp8/encoder/x86/dct_sse2.asm",
      "new_id": "287ad482fe4783b85e99e05af265b525d87617c5",
      "new_mode": 33188,
      "new_path": "vp8/encoder/x86/dct_sse2.asm"
    },
    {
      "type": "modify",
      "old_id": "c0f06bbbb638f868d799df669b5d55e4371d3289",
      "old_mode": 33188,
      "old_path": "vp8/encoder/x86/encodeopt.asm",
      "new_id": "e142a75738d195e8b0cd63d8a78b15c76854b1f4",
      "new_mode": 33188,
      "new_path": "vp8/encoder/x86/encodeopt.asm"
    },
    {
      "type": "modify",
      "old_id": "cc6bc3cd99654ee8f2550f89b22e3c780faa2bfd",
      "old_mode": 33188,
      "old_path": "vp8/encoder/x86/sad_sse2.asm",
      "new_id": "d9ac3ff4fc2d4a3500f7e83b2efd74e3ae929ae8",
      "new_mode": 33188,
      "new_path": "vp8/encoder/x86/sad_sse2.asm"
    },
    {
      "type": "modify",
      "old_id": "f0336ab175f7bda413c7bc0706ec2907fc4bcb21",
      "old_mode": 33188,
      "old_path": "vp8/encoder/x86/sad_sse3.asm",
      "new_id": "666879267be3df7ed9d7e82329909e14484c690c",
      "new_mode": 33188,
      "new_path": "vp8/encoder/x86/sad_sse3.asm"
    },
    {
      "type": "modify",
      "old_id": "69c5eaedc795ae7d5886f4e984e50ba18adf8c81",
      "old_mode": 33188,
      "old_path": "vp8/encoder/x86/sad_ssse3.asm",
      "new_id": "7c7cd0ade1659919b50f3e52e4da235bf6776240",
      "new_mode": 33188,
      "new_path": "vp8/encoder/x86/sad_ssse3.asm"
    },
    {
      "type": "modify",
      "old_id": "c2c30deb27a74973f67eb334b89d63e8a8f4c940",
      "old_mode": 33188,
      "old_path": "vp8/encoder/x86/variance_impl_sse2.asm",
      "new_id": "2c0e170d86ba8f41523af015c0c843d34cdfdd13",
      "new_mode": 33188,
      "new_path": "vp8/encoder/x86/variance_impl_sse2.asm"
    },
    {
      "type": "modify",
      "old_id": "be64cd7c708020a09a726a655c4b8e86e77efb75",
      "old_mode": 33188,
      "old_path": "vpx_ports/x86_abi_support.asm",
      "new_id": "60dff4916845a5d4d58c67933c3ce7daefea86c0",
      "new_mode": 33188,
      "new_path": "vpx_ports/x86_abi_support.asm"
    }
  ]
}
