)]}'
{
  "commit": "bb1b368e0ad3da98b4c51018bdbcd6a83d8e646d",
  "tree": "d145ea2aa2b135ee35b4b00bef23fd765ccd6114",
  "parents": [
    "af1e59aea2ea7d07ece1f34621dda38c995826a3"
  ],
  "author": {
    "name": "Momchil Velikov",
    "email": "momchil.velikov@arm.com",
    "time": "Wed Sep 04 13:07:57 2024 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Sep 04 13:07:57 2024 +0100"
  },
  "message": "[AArch64] Implement intrinsics for SVE FAMIN/FAMAX (#99042)\n\nThis patch implements the following intrinsics:\r\n\r\n* Floating-point absolute maximum (predicated)\r\n\r\nsvfloat16_t svamax[_f16]_m(svbool_t, svfloat16_t, svfloat16_t);\r\nsvfloat16_t svamax[_f16]_x(svbool_t, svfloat16_t, svfloat16_t);\r\nsvfloat16_t svamax[_f16]_z(svbool_t, svfloat16_t, svfloat16_t);\r\n\r\nsvfloat16_t svamax[_n_f16]_m(svbool_t, svfloat16_t, float16_t);\r\nsvfloat16_t svamax[_n_f16]_x(svbool_t, svfloat16_t, float16_t);\r\nsvfloat16_t svamax[_n_f16]_z(svbool_t, svfloat16_t, float16_t);\r\n\r\n* Floating-point absolute minimum (predicated)\r\n\r\nsvfloat16_t svmin[_f16]_m(svbool_t, svfloat16_t, svfloat16_t);\r\nsvfloat16_t svmin[_f16]_x(svbool_t, svfloat16_t, svfloat16_t);\r\nsvfloat16_t svmin[_f16]_z(svbool_t, svfloat16_t, svfloat16_t);\r\n\r\nsvfloat16_t svmin[_n_f16]_m(svbool_t, svfloat16_t, float16_t);\r\nsvfloat16_t svmin[_n_f16]_x(svbool_t, svfloat16_t, float16_t);\r\nsvfloat16_t svmin[_n_f16]_z(svbool_t, svfloat16_t, float16_t);\r\n\r\nAll the intrinsics have also variants for `f32` and `f64`, and have the\r\n`__arm_streaming` attribute.\r\n\r\n(cf. https://github.com/ARM-software/acle/pull/324)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "81527d8b987601a7c7700e1a7a0ea943c25f1865",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/arm_sve.td",
      "new_id": "a0f12e1bbd2d4c23feaa4a9d864811ae264816cb",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/arm_sve.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3cf7d99d606f32ad49e70e4dc19dc08196ea5d00",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_faminmax.c"
    },
    {
      "type": "modify",
      "old_id": "6727ee69d7b3eee114b44932d2dc132629cedd9e",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/IR/IntrinsicsAArch64.td",
      "new_id": "9bce850750f793cc94fd7157ba7991c8e1bf4529",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/IR/IntrinsicsAArch64.td"
    },
    {
      "type": "modify",
      "old_id": "af8ddb49b0ac66d7c57d054d5bc88f1d8026de65",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td",
      "new_id": "4922fb280333bb2cb93dbf75f29a70f7466313b3",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7d16f8383d9682035870a9aa5ac9f03a159924e3",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/AArch64/sve2-intrinsics-faminmax.ll"
    }
  ]
}
