)]}'
{
  "commit": "129afee724d1662512636ae5a1c20a5cec9215e1",
  "tree": "7999adcb108bb435e8e7b4ab61be978fc84c4959",
  "parents": [
    "d2dea66b3b92026a68ae7fc180837484d8edd1e6"
  ],
  "author": {
    "name": "Rupert Swarbrick",
    "email": "rupert.swarbrick@argondesign.com",
    "time": "Tue Oct 24 17:54:10 2017 +0100"
  },
  "committer": {
    "name": "Debargha Mukherjee",
    "email": "debargha@google.com",
    "time": "Wed Oct 25 17:02:29 2017 +0000"
  },
  "message": "Avoid UB from misaligned loads/stores in loopfilter code\n\nThis patch changes 32 bit loads and stores (which did trigger\nundefined behaviour when the pointer wasn\u0027t aligned) to use the\nxx_storel_32 synonym. This should also just generate a MOVD and is\nless verbose to boot!\n\nThe patch also changes store_buffer_horz_8 to take its SSE register by\nvalue rather than by pointer. The most restrictive ABI for passing SSE\nregisters by value is win32, where you can pass at most 3. There\u0027s\nonly one here, so it should be fine.\n\nBUG\u003daomedia:912\n\nChange-Id: I6d75803e57da090db59eedad902bd27908eb5118\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8343dbbedf61610a7e9aad84e882a3f43a1396e1",
      "old_mode": 33188,
      "old_path": "aom_dsp/x86/loopfilter_sse2.c",
      "new_id": "e33ce2f5743e34db6b81d0e1013cfa801dbdbc9f",
      "new_mode": 33188,
      "new_path": "aom_dsp/x86/loopfilter_sse2.c"
    }
  ]
}
