)]}'
{
  "commit": "11c6d8cc9e5924c3a70e9289d1be2c2885b1dc6d",
  "tree": "d5ca1abee546855db43d8aba838b5c8eb9ad177e",
  "parents": [
    "50359c0a44381edb6dbd9359ef2ebdadbcc3ed42"
  ],
  "author": {
    "name": "Richard Sandiford",
    "email": "richard.sandiford@arm.com",
    "time": "Thu Mar 13 13:23:28 2025 +0000"
  },
  "committer": {
    "name": "Richard Sandiford",
    "email": "richard.sandiford@arm.com",
    "time": "Thu Mar 13 13:23:28 2025 +0000"
  },
  "message": "testsuite: Add -fno-tree-sink to sve/pr96357.c\n\ngcc.target/aarch64/sve/pr96357.c started failing after\nr15-518-g99b1daae18c095d6, which tweaked the heuristics\nabout when to sink code.  The testcase has:\n\n  double i \u003d d, j \u003d 1.0 - f, k \u003d j ? d : j;\n  if (k \u003d\u003d 1.0)\n    i \u003d 0.0;\n  *l \u003d *n \u003d *g \u003d *h \u003d i * 0.5;\n\nwhere k \u003d\u003d 1.0 is false if j is zero (since k is then also 0).\nSo we end up with a diamond whose condition is j !\u003d 0 \u0026\u0026 d \u003d\u003d 1.\nThe else branch of the diamond is the only one that uses the result\nof i \u003d d, so after the patch, we sink the conversion to there.\nAnd that seems like a reasonable thing to do.\n\nHowever, aarch64 doesn\u0027t yet allow int-\u003edouble conversions to be\npredicated, so ifcvt cannot handle the sunk form, meaning that we\ncan no longer vectorise.\n\nThe testcase is highly artificial and so shouldn\u0027t IMO be used\nto tune the sinking heuristics.  Instead I think we should just\ndisable sinking for the test.  An alternative would be to add\n-ffast-math, but I think that would interfere more with the\noriginal intent.\n\ngcc/testsuite/\n\t* gcc.target/aarch64/sve/pr96357.c: Add -fno-tree-sink.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5d8fd8b53c3de7e52bc325410b40e86fbf359b0f",
      "old_mode": 33188,
      "old_path": "gcc/testsuite/gcc.target/aarch64/sve/pr96357.c",
      "new_id": "9a7f912e529f634dd167d95aabed2738a7c87ac0",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/aarch64/sve/pr96357.c"
    }
  ]
}
