[all-commits] [llvm/llvm-project] 06c980: [SveEmitter] Implement zeroing of false lanes

sdesmalen-arm via All-commits all-commits at lists.llvm.org
Mon Apr 20 09:03:27 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 06c980df46fb0490d71d5563281572d7e1d35321
      https://github.com/llvm/llvm-project/commit/06c980df46fb0490d71d5563281572d7e1d35321
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2020-04-20 (Mon, 20 Apr 2020)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
    A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
    A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
    A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
    A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
    A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
    A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
    A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
    A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
    A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c

  Log Message:
  -----------
  [SveEmitter] Implement zeroing of false lanes

This implements zeroing of false lanes for binary operations,
where instead of merging into the first operand vector (_m)
a `select` is placed on the first input vector. This approach
easily translates to the use of the `zeroing movprfx` instruction.

This patch also adds builtins for svabd, svadd, svdiv, svdivr,
svmax, svmin, svmul, svmulh, svub and svsubr.

Reviewers: SjoerdMeijer, efriedma, rovka

Reviewed By: efriedma

Tags: #clang

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




More information about the All-commits mailing list