)]}'
{
  "commit": "545bdfc81340100cfbf69de1fbd4f0fd26d1ed9c",
  "tree": "28eecc17c978121815fc56a28d26787c526c9c35",
  "parents": [
    "ef71446e499338a0b84e1480968113c0913a3114"
  ],
  "author": {
    "name": "Richard Earnshaw",
    "email": "rearnsha@arm.com",
    "time": "Tue Oct 14 13:53:05 2025 +0100"
  },
  "committer": {
    "name": "Richard Earnshaw",
    "email": "rearnsha@arm.com",
    "time": "Mon Nov 10 15:00:24 2025 +0000"
  },
  "message": "arm: avoid unmatched insn in movhfcc [PR118460]\n\nWhen compiling for m-profile with the floating-point extension we have\na vsel instruction that takes a limited set of comparisons.  In most\ncases we can use this with careful selection of the operand order, but\nwe need to expand things in the right way.  This patch is in two parts:\n\n1) We validate that the expansion will produce correct RTL;\n2) We canonicalize the comparison to increase the chances that the\nabove check will pass.\n\ngcc:\n\n\tPR target/118460\n\t* config/arm/arm.cc (arm_canonicalize_comparison): For floating-\n\tpoint comparisons, swap the operand order if that will be more\n\tlikely to produce a comparison that can be used with VSEL.\n\t(arm_validize_comparison): Make sure that HFmode comparisons\n\tare compatible with VSEL.\n\ngcc/testsuite:\n\n\tPR target/118460\n\t* gcc.target/arm/armv8_2-fp16-move-1.c: Adjust expected output.\n\t* gcc.target/arm/armv8_2-fp16-move-2.c: Likewise.\n\n(cherry picked from commit 99af0f9078865269ae13367a25e2b156c8ccba77)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "670f487bcce3aba0f9b458eafa1362d54fa9ba5c",
      "old_mode": 33188,
      "old_path": "gcc/config/arm/arm.cc",
      "new_id": "5b6558e0af6c970ca17f4bdb19d62506ef35534c",
      "new_mode": 33188,
      "new_path": "gcc/config/arm/arm.cc"
    },
    {
      "type": "modify",
      "old_id": "444c4a3353555f22828cbbeb6802a3f1a39c9df7",
      "old_mode": 33188,
      "old_path": "gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c",
      "new_id": "02d7b51ac8b911408d374528c078b6e9dc633aa9",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c"
    },
    {
      "type": "modify",
      "old_id": "dff57ac8147c2d3f450f7327c6999d2896c9e58c",
      "old_mode": 33188,
      "old_path": "gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-2.c",
      "new_id": "a249d712119f884083ff2aa9130af0e28f6aff73",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-2.c"
    }
  ]
}
