[all-commits] [llvm/llvm-project] a5e038: [AArch64] Define ACLE FP conversion intrinsics wit...

sdesmalen-arm via All-commits all-commits at lists.llvm.org
Thu Apr 23 02:57:31 PDT 2020


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

  Changed paths:
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c
    M clang/utils/TableGen/SveEmitter.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sve-intrinsics-fp-converts.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-fp-converts.ll
    M llvm/unittests/IR/IRBuilderTest.cpp

  Log Message:
  -----------
  [AArch64] Define ACLE FP conversion intrinsics with more specific predicate.

This patch changes the FP conversion intrinsics to take a predicate
that matches the number of lanes for the vector with the widest element
type as opposed to using <vscale x 16 x i1>.

For example:
```<vscale x 4 x float> @llvm.aarch64.sve.fcvt.f32f16(<vscale x 4 x float>, <vscale x 4 x i1>, <vscale x 8 x half>)```
now uses <vscale x 4 x i1> instead of <vscale x 16 x i1>

And similar for:
```<vscale x 4 x float> @llvm.aarch64.sve.fcvt.f32f64(<vscale x 4 x float>, <vscale x 2 x i1>, <vscale x 2 x double>)```
where the predicate now matches the wider type, so <vscale x 2 x i1>.

Reviewers: efriedma, SjoerdMeijer, paulwalker-arm, rengolin

Reviewed By: efriedma

Tags: #clang

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




More information about the All-commits mailing list