)]}'
{
  "commit": "eb738824d502d5f6da77451d5105091b8a7db92d",
  "tree": "f8041351283e015746c5a308d77bc4ca2f3b3921",
  "parents": [
    "2a64a564f5eeb5aa332816459404641fb9cf8f14"
  ],
  "author": {
    "name": "Georg-Johann Lay",
    "email": "avr@gjlay.de",
    "time": "Tue Jul 28 15:50:14 2026 +0200"
  },
  "committer": {
    "name": "Georg-Johann Lay",
    "email": "avr@gjlay.de",
    "time": "Tue Jul 28 15:53:38 2026 +0200"
  },
  "message": "AVR: Add 64-bit fixed-point divisions to libgcc.\n\nThis adds 64-bit saturated fixed-point divisions to lib1funcs-fixed.S.\nThe ordinary divisions are just aliases of the saturating ones.\nRounding is towards zero.\n\nlibgcc/\n\t* config/avr/t-avr (FUNCS_notiny): Add _udivuQ64_common, _udivuda3,\n\t_udivuta3, _udivudq3, _divda3, _divta3, _divdq3, _divQ64_tail.\n\t* config/avr/lib1funcs-fixed.S (__udivuta3, __usdivuta3)\n\t(__udivudq3, __usdivudq3, __udivuda3, __usdivuda3)\n\t(__udivuQ64_common, __divda3, __ssdivda3, __divta3, __ssdivta3)\n\t(__divdq3, __ssdivdq3, __divQ64_tail): New functions.\ngcc/testsuite/\n\t* gcc.target/avr/fx64-div-1.c: New test.\n\t* gcc.target/avr/fx64-div-2.c: New test.\n\t* gcc.target/avr/fx64-div-3.c: New test.\n\t* gcc.target/avr/fx64-mul.h: Rename to...\n\t* gcc.target/avr/fx64.h: ...this.\n\t* gcc.target/avr/fx64-mul-1.c: Same.\n\t* gcc.target/avr/fx64-mul-2.c: Same.\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "760171e7ebc12a4e10dc067f316398f5cde73731",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/avr/fx64-div-1.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "24cccf742ebf170257c07b45b7e7d5eabdef687e",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/avr/fx64-div-2.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "66434b3bb7e87edc46e9fe1a0dc0b7b1a2ca5af3",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/avr/fx64-div-3.c"
    },
    {
      "type": "modify",
      "old_id": "fb342b3cce78daacd0e36f860a8d28643a7f66ec",
      "old_mode": 33188,
      "old_path": "gcc/testsuite/gcc.target/avr/fx64-mul-1.c",
      "new_id": "68fd0dda0bbf81b7f4b0283a27075858bfaafff0",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/avr/fx64-mul-1.c"
    },
    {
      "type": "modify",
      "old_id": "a679c010928f640aa59fb49870bbc380c1bc9bde",
      "old_mode": 33188,
      "old_path": "gcc/testsuite/gcc.target/avr/fx64-mul-2.c",
      "new_id": "266c7579da85c044bb0c579f2d7a4503d0de3fcf",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/avr/fx64-mul-2.c"
    },
    {
      "type": "rename",
      "old_id": "5c935d58c1a789f8c65af5b90221be53aaac586f",
      "old_mode": 33188,
      "old_path": "gcc/testsuite/gcc.target/avr/fx64-mul.h",
      "new_id": "c7b968a901beecfc122c40714ab8267bcf1b51a8",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/avr/fx64.h",
      "score": 88
    },
    {
      "type": "modify",
      "old_id": "f1b61e12e976d44153c05840634e5ef47a6cee0b",
      "old_mode": 33188,
      "old_path": "libgcc/config/avr/lib1funcs-fixed.S",
      "new_id": "2996a5960eb113f0cd1f2136635f3cb87920bddf",
      "new_mode": 33188,
      "new_path": "libgcc/config/avr/lib1funcs-fixed.S"
    },
    {
      "type": "modify",
      "old_id": "657c61a566649e2b848b3bd637ac3c08f9763d7b",
      "old_mode": 33188,
      "old_path": "libgcc/config/avr/t-avr",
      "new_id": "edd0e8f8698354e1395f2bd159bac90865229b47",
      "new_mode": 33188,
      "new_path": "libgcc/config/avr/t-avr"
    }
  ]
}
