[all-commits] [llvm/llvm-project] 489f62: [ARM, MVE] Add vector-scalar intrinsics

Mikhail Maltsev via All-commits all-commits at lists.llvm.org
Mon Feb 17 09:47:17 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 489f62e8011f54fc94d9c3a4cc2d1d66d3b5bc49
      https://github.com/llvm/llvm-project/commit/489f62e8011f54fc94d9c3a4cc2d1d66d3b5bc49
  Author: Mikhail Maltsev <mikhail.maltsev at arm.com>
  Date:   2020-02-17 (Mon, 17 Feb 2020)

  Changed paths:
    M clang/include/clang/Basic/arm_mve.td
    M clang/include/clang/Basic/arm_mve_defs.td
    M clang/test/CodeGen/arm-mve-intrinsics/vaddq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vhaddq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vhsubq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vmulq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vqaddq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vqdmulhq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vqrdmulhq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vqsubq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vsubq.c
    M llvm/lib/Target/ARM/ARMInstrMVE.td
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vaddq.ll
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vhaddq.ll
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vhsubq.ll
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vmulq.ll
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vqaddq.ll
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vqdmulhq.ll
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vqrdmulhq.ll
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vqsubq.ll
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vsubq.ll

  Log Message:
  -----------
  [ARM,MVE] Add vector-scalar intrinsics

Summary:
This patch adds vector-scalar variants to the following families of
MVE intrinsics:
* vaddq
* vsubq
* vmulq
* vqaddq
* vqsubq
* vhaddq
* vhsubq
* vqdmulhq
* vqrdmulhq

The vector-scalar variants perform a splat operation on the scalar
operand and then perform the same operations as their vector-vector
counterparts. Code generation is done accordingly (using LLVM IR 'insert'
and 'shuffle' operations which are later converted into an ARMvdup
SDNode).

Reviewers: simon_tatham, dmgreen, MarkMurrayARM, ostannard

Reviewed By: dmgreen

Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

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




More information about the All-commits mailing list