[all-commits] [llvm/llvm-project] aba558: [ARM] Fix operand order for MVE predicated VFMAS (...

Oliver Stannard via All-commits all-commits at lists.llvm.org
Wed Nov 13 04:16:49 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: aba55809e9af5e0d981f10c7f9b44a1f57b423c2
      https://github.com/llvm/llvm-project/commit/aba55809e9af5e0d981f10c7f9b44a1f57b423c2
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-11-13 (Wed, 13 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_mve.td
    M clang/test/CodeGen/arm-mve-intrinsics/ternary.c
    M llvm/include/llvm/IR/IntrinsicsARM.td
    M llvm/lib/Target/ARM/ARMInstrMVE.td
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/ternary.ll
    M llvm/test/CodeGen/Thumb2/mve-qrintr.ll

  Log Message:
  -----------
  [ARM] Fix operand order for MVE predicated VFMAS (#115908)

For most MVE predicated FMA instructions, disabled lanes will contain
the value in the addend operand. However, The VFMAS instruction takes
the addend in a GPR, and the output register is shared with the first
multiply operand, so disabled lanes will get that value instead. This
means that we can't use the same intrinsic as for the other VFMA
instructions. Instead, we can codegen the vfmas intrinsic to a regular
FMA and select in clang, which the backend already has the patterns to
select VFMAS from.



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