)]}'
{
  "commit": "5060f08c3a98c2e4976d7ec380d9d8ea1888a68c",
  "tree": "a6df902bc12ced4445e6447263459d034c18b1d8",
  "parents": [
    "9060ca01913776cbed78b03e72d7700adc2201b7"
  ],
  "author": {
    "name": "John Brawn",
    "email": "john.brawn@arm.com",
    "time": "Fri May 02 12:55:18 2025 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri May 02 12:55:18 2025 +0100"
  },
  "message": "[AArch64] Use pattern to select bf16 fpextend (#137212)\n\nCurrently bf16 fpextend is lowered to a vector shift. Instead leave it\nas fpextend and have an instruction selection pattern which selects to a\nshift later. Doing this means that DAGCombiner patterns for fpextend\nwill be applied, leading to better codegen. It also means that in some\nsituations we use a mov instruction where we previously have a dup\ninstruction, but I don\u0027t think this makes any difference.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0126b97c9fb9aab21ad1b648ac1abfe3486d8fb1",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/AArch64/AArch64ISelLowering.cpp",
      "new_id": "af4780e11e89074e804be7af8c58188b7b7556d5",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/AArch64/AArch64ISelLowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "bee86aa86ec375aecaf6076c43bb5a2fa7836227",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/AArch64/AArch64InstrInfo.td",
      "new_id": "a75091b853d21ca99e1b1070ba0378121c43a7d4",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/AArch64/AArch64InstrInfo.td"
    },
    {
      "type": "modify",
      "old_id": "9a1203f18243ddfc6743b33a5560e853ed1b5d10",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll",
      "new_id": "1d33545cb171a478d1e9c6f4a16feb0afe6b9238",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll"
    },
    {
      "type": "modify",
      "old_id": "9b5e48d2b4217b463a09b7c646749d4694ff59ba",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll",
      "new_id": "e3e18a1f91c6d142b7398d68abe8e657cc02c555",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll"
    },
    {
      "type": "modify",
      "old_id": "f6c542fe7d4075cda7283b591c39c32ed5969aea",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll",
      "new_id": "10de6777bd285c58fa0f4e25a1f2eb338cc9296d",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll"
    },
    {
      "type": "modify",
      "old_id": "2fc9c53112ab67531d207484b54675d620407bcb",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/AArch64/bf16-instructions.ll",
      "new_id": "9f002b1e0da55ea7d441898652c44c2bb376eb75",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AArch64/bf16-instructions.ll"
    },
    {
      "type": "modify",
      "old_id": "7d7fb67ca2f77b9409e59fbbcd9156bf2af29652",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/AArch64/bf16_fast_math.ll",
      "new_id": "871ca12c9de7768bc8d2af5353c1ea40543e356f",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AArch64/bf16_fast_math.ll"
    },
    {
      "type": "modify",
      "old_id": "381c67c6d749ec8c1c62fbbd16223872fe30b259",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll",
      "new_id": "da6b3bb99dbda1f21bf9d1bb4d61ad63101e3bd4",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll"
    }
  ]
}
