)]}'
{
  "commit": "0b64ead834531bb1c158656d044e47bb028cb147",
  "tree": "2d7912ec185c55ed0ccdb5525ba002d667d886b3",
  "parents": [
    "c2aef36116320a03bf44e0faff46509b12d221fd"
  ],
  "author": {
    "name": "George Steed",
    "email": "george.steed@arm.com",
    "time": "Fri Nov 03 07:53:47 2023 +0000"
  },
  "committer": {
    "name": "George Steed",
    "email": "george.steed@arm.com",
    "time": "Fri Nov 03 19:26:26 2023 +0000"
  },
  "message": "Remove partial vector loads from mem_neon.h\n\nThese were only ever used to either (a) load the 0th lane of the vector\n(in which case we can simply zero-init the rest at zero cost), or (b)\nused as one of multiple calls to fully initialise the vector with a\nstride. The use of a macro with immediate is problematic since it\ndepends on the compiler to be able to fully analyze the use of the\nvector to determine whether the initialization is safe or not.\n\nFor loading the 0th lane we already had a `load_u8_4x1_lane0` to handle\nthe zeroing automatically which we now use everywhere where it is\nneeded, and for fully-initializing the vector with a stride we can\nsimply pass in the stride and do the loading in the mem_neon.h helper\nfunction. This has the nice advantage that we can remove the load macros\nentirely.\n\nAdditionally, since the `_lane0` suffix is no longer needed to\ndistinguish from the lane-immediate macro version, the suffix is\nremoved.\n\nBug: aomedia:3507\nChange-Id: I33ea4885c96c96059f0de67a5fdc4024b588d228\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "880f7f65f512bfa07f0fb6583cb7bc0be2dc7053",
      "old_mode": 33188,
      "old_path": "aom_dsp/arm/intrapred_neon.c",
      "new_id": "41f070e1d52b5d3d93e2b091fa36b84b9783e5bd",
      "new_mode": 33188,
      "new_path": "aom_dsp/arm/intrapred_neon.c"
    },
    {
      "type": "modify",
      "old_id": "fd2a50f4e4f15875bca9c4158a0d685cb7002386",
      "old_mode": 33188,
      "old_path": "aom_dsp/arm/loopfilter_neon.c",
      "new_id": "0e683a78485a786c5266bcfb728fb43683c2a798",
      "new_mode": 33188,
      "new_path": "aom_dsp/arm/loopfilter_neon.c"
    },
    {
      "type": "modify",
      "old_id": "ca04bccf471aba354991a157ce9042eda26729e5",
      "old_mode": 33188,
      "old_path": "aom_dsp/arm/mem_neon.h",
      "new_id": "d1ac648d1ef218f765bcc8d026e0c10004a5c13b",
      "new_mode": 33188,
      "new_path": "aom_dsp/arm/mem_neon.h"
    },
    {
      "type": "modify",
      "old_id": "807546015109b64b1190e9d807f467aa31e202aa",
      "old_mode": 33188,
      "old_path": "av1/encoder/arm/neon/reconinter_enc_neon.c",
      "new_id": "03afa303cf440445e01a593ca65243df16a317d2",
      "new_mode": 33188,
      "new_path": "av1/encoder/arm/neon/reconinter_enc_neon.c"
    },
    {
      "type": "modify",
      "old_id": "38a6e4b30a80b9b10e9f092737034e0e7ef348a9",
      "old_mode": 33188,
      "old_path": "av1/encoder/arm/neon/temporal_filter_neon.c",
      "new_id": "986f1438645c572ba71868b20818fad46b50735d",
      "new_mode": 33188,
      "new_path": "av1/encoder/arm/neon/temporal_filter_neon.c"
    }
  ]
}
