[SVE][CodeGen] Lower SDIV & UDIV to SVE intrinsics
authorKerry McLaughlin <kerry.mclaughlin@arm.com>
Fri, 24 Apr 2020 09:45:25 +0000 (10:45 +0100)
committerKerry McLaughlin <kerry.mclaughlin@arm.com>
Fri, 24 Apr 2020 10:38:20 +0000 (11:38 +0100)
commit53dd72a87aeb13de7f10a6b9b468e1baffbf7773
tree6f1c5065aa2792549b246efbd59bfa124aa93747
parent823e2a670a9da8e5cd8beed108355a168ca1a23b
[SVE][CodeGen] Lower SDIV & UDIV to SVE intrinsics

Summary:
This patch maps IR operations for sdiv & udiv to the
@llvm.aarch64.sve.[s|u]div intrinsics.

A ptrue must be created during lowering as the div instructions
have only a predicated form.

Patch contains changes by Andrzej Warzynski.

Reviewers: sdesmalen, c-rhodes, efriedma, cameron.mcinally, rengolin

Reviewed By: efriedma

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, andwar, cfe-commits, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78569
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/test/CodeGen/AArch64/llvm-ir-to-intrinsic.ll [new file with mode: 0644]