[ARM,MVE] Add intrinsics vclzq and vclsq.
authorSimon Tatham <simon.tatham@arm.com>
Mon, 17 Feb 2020 17:05:39 +0000 (17:05 +0000)
committerSimon Tatham <simon.tatham@arm.com>
Tue, 18 Feb 2020 09:34:50 +0000 (09:34 +0000)
commit68b49f7ef49eec068b7ddcf86c868e2a193e64e1
treee4425d2d5509f57bb5fc0d313edaacff1916d414
parentb6236e94799e43fad1f024e84ed56a85d9a3623f
[ARM,MVE] Add intrinsics vclzq and vclsq.

Summary:
vclzq maps nicely to the existing target-independent @llvm.ctlz IR
intrinsic. But vclsq ('count leading sign bits') has no corresponding
target-independent intrinsic, so I've made up @llvm.arm.mve.vcls.

This commit adds the unpredicated forms only.

Reviewers: dmgreen, miyuki, MarkMurrayARM, ostannard

Reviewed By: miyuki

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

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D74335
clang/include/clang/Basic/arm_mve.td
clang/include/clang/Basic/arm_mve_defs.td
clang/test/CodeGen/arm-mve-intrinsics/vclz.c [new file with mode: 0644]
llvm/include/llvm/IR/IntrinsicsARM.td
llvm/lib/Target/ARM/ARMInstrMVE.td
llvm/test/CodeGen/Thumb2/mve-intrinsics/vcls.ll [new file with mode: 0644]