)]}'
{
  "commit": "5010a2ca3f503b039bb25bac2fd0e32e032b2de5",
  "tree": "3156b6ac0be38547202270e0292d80dd56eadde5",
  "parents": [
    "39ba948f9b86e136395b6edfe167ac7ba7232928"
  ],
  "author": {
    "name": "Hans-Peter Nilsson",
    "email": "hp@axis.com",
    "time": "Thu Aug 27 07:22:57 2026 +0200"
  },
  "committer": {
    "name": "Hans-Peter Nilsson",
    "email": "hp@gcc.gnu.org",
    "time": "Thu Aug 27 07:22:57 2026 +0200"
  },
  "message": "CRIS: Simplify btst pattern slightly\n\nThe fix for PR rtl-optimization/126276 changed the mode of the result\nof the post-split zero_extract for the *btst pattern from SImode to\nthat of the incoming (SImode, HImode, QImode) and required a slightly\nmore complex \"btst\" pattern.  That\u0027s not necessary: the zero_extract\nis inherently zero-extending, so it\u0027s correct to only generate a\nSImode result for the zero_extract in the define_insn_and_split split\ninsns, even if the incoming operand 0 is any of (SImode, HImode,\nQImode).  So, the *btst pattern can be slightly less complex.\n\nThe comment removed in that commit at some time became stale, as well\nas in the wrong place (post cc0 it should have been moved to the\nrecognizing parts of the generating define_insn_and_split:s).\n\n\t* config/cris/cris.md (\"*btst\u003cmode\u003e): Simplify; iterate only over\n\tZnNNZSET and compare only to a zero_extract result of SImode.\n\tJust add sanity checks for the mode of operand 0 in the condition.\n\t(\"*cbranch\u003cmode\u003e4_btstrq1_\u003cCC\u003e\", \"*cbranch\u003cmode\u003e4_btstqb0_\u003cCC\u003e\"):\n\tGenerate a zero_extract in SImode.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "83b60fbeca4e8861e06b241f61d93a31318456ed",
      "old_mode": 33188,
      "old_path": "gcc/config/cris/cris.md",
      "new_id": "494779f0886f02248cb21a209fdf9fdf5551707b",
      "new_mode": 33188,
      "new_path": "gcc/config/cris/cris.md"
    }
  ]
}
