[all-commits] [llvm/llvm-project] 594d35: [AArch64] Split v8f32 fptosi_sat into two v4f32.

David Green via All-commits all-commits at lists.llvm.org
Sun Jul 28 02:48:02 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 594d3593fec2ae15f6dd38c51fba8bb1f9828089
      https://github.com/llvm/llvm-project/commit/594d3593fec2ae15f6dd38c51fba8bb1f9828089
  Author: David Green <david.green at arm.com>
  Date:   2024-07-28 (Sun, 28 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/fcvt_combine.ll
    M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll

  Log Message:
  -----------
  [AArch64] Split v8f32 fptosi_sat into two v4f32.

If we produce illegal v8f32 types, the VectorLegalizer will unroll them,
scalarizing the operations. In this patch we pre-split them during custom
legalization to produce better results.


  Commit: 6907ab49399f131e04ea1816d155107e92d3b1aa
      https://github.com/llvm/llvm-project/commit/6907ab49399f131e04ea1816d155107e92d3b1aa
  Author: David Green <david.green at arm.com>
  Date:   2024-07-28 (Sun, 28 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/fptoi_sat.ll
    M llvm/test/Transforms/AggressiveInstCombine/AArch64/fptosisat.ll

  Log Message:
  -----------
  [AArch64] Extend costs for fptoi.sat intrinsics.

Most of these bring the costs in line with the code generation. The f16 costs
without FullFP16 are usually converted to f32. Extended v2f32->v2f64 vectors
similarly use fcvtl + fcvt. As a backup we use the costs similar to the target
independent code, which should give a relatively high cost.


Compare: https://github.com/llvm/llvm-project/compare/25efb746d907...6907ab49399f

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list