[all-commits] [llvm/llvm-project] 82973e: [ARM][AArch64] Introduce qrdmlah and qrdmlsh intri...

David Green via All-commits all-commits at lists.llvm.org
Thu Jan 27 11:20:03 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 82973edfb72a95b442fa6d2bb404e15a4031855e
      https://github.com/llvm/llvm-project/commit/82973edfb72a95b442fa6d2bb404e15a4031855e
  Author: David Green <david.green at arm.com>
  Date:   2022-01-27 (Thu, 27 Jan 2022)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/aarch64-v8.1a-neon-intrinsics.c
    M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsARM.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrNEON.td
    M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
    M llvm/test/CodeGen/ARM/neon-v8.1a.ll

  Log Message:
  -----------
  [ARM][AArch64] Introduce qrdmlah and qrdmlsh intrinsics

Since it's introduction, the qrdmlah has been represented as a qrdmulh
and a sadd_sat. This doesn't produce the same result for all input
values though. This patch fixes that by introducing a qrdmlah (and
qrdmlsh) intrinsic specifically for the vqrdmlah and sqrdmlah
instructions. The old test cases will now produce a qrdmulh and sqadd,
as expected.

Fixes #53120 and #50905 and #51761.

Differential Revision: https://reviews.llvm.org/D117592




More information about the All-commits mailing list