[all-commits] [llvm/llvm-project] ca98a3: [AArch64][SVE] Use SVE for scalar FP converts in s...

Benjamin Maxwell via All-commits all-commits at lists.llvm.org
Thu Dec 19 05:16:54 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ca98a3d9bbc254cbb7f028866a7d2077b7994ee8
      https://github.com/llvm/llvm-project/commit/ca98a3d9bbc254cbb7f028866a7d2077b7994ee8
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-int-fp.ll
    A llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-to-int.ll
    A llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll

  Log Message:
  -----------
  [AArch64][SVE] Use SVE for scalar FP converts in streaming[-compatible] functions (1/n) (#118505)

In streaming[-compatible] functions, use SVE for scalar FP conversions
to/from integer types. This can help avoid moves between FPRs and GRPs,
which could be costly.

This patch also updates definitions of SCVTF_ZPmZ_StoD and
UCVTF_ZPmZ_StoD to disallow lowering to them from ISD nodes, as doing so
requires creating a [U|S]INT_TO_FP_MERGE_PASSTHRU node with inconsistent
types.

Follow up to #112213.

Note: This PR does not include support for f64 <-> i32 conversions (like
#112564), which needs a bit more work to support.



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