[all-commits] [llvm/llvm-project] 3a7752: [AArch64][GlobalISel] Improve and expand fcopysign...

David Green via All-commits all-commits at lists.llvm.org
Sat Feb 17 02:19:39 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3a77522387ccff149c3a59eaf86ca4b574061134
      https://github.com/llvm/llvm-project/commit/3a77522387ccff149c3a59eaf86ca4b574061134
  Author: David Green <david.green at arm.com>
  Date:   2024-02-17 (Sat, 17 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcopysign.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/fcopysign.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Improve and expand fcopysign lowering (#71283)

This alters the lowering of G_COPYSIGN to support vector types. The
general idea is that we just lower it to vector operations using and/or
and a mask, which are now converted to a BIF/BIT/BSP.

In the process the existing AArch64LegalizerInfo::legalizeFCopySign can
be removed, replying on expanding the scalar versions to vector instead,
which just needs a small adjustment to allow widening scalars to
vectors.



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