[GlobalISel][AArch64] Add support for @llvm.ceil
authorJessica Paquette <jpaquette@apple.com>
Wed, 19 Dec 2018 19:01:36 +0000 (19:01 +0000)
committerJessica Paquette <jpaquette@apple.com>
Wed, 19 Dec 2018 19:01:36 +0000 (19:01 +0000)
commit3560e93dc19622b1def6cbc13f11776e8d6fac3c
tree74f97d4933992d8b5dd526ffb9021e0eba86a54d
parent350ee4bb1315bb5d83c3b35f671046adb54ee6db
[GlobalISel][AArch64] Add support for @llvm.ceil

This adds a G_FCEIL generic instruction and uses it in AArch64. This adds
selection for floating point ceil where it has a supported, dedicated
instruction. Other cases aren't handled here.

It updates the relevant gisel tests and adds a select-ceil test. It also adds a
check to arm64-vcvt.ll which ensures that we don't fall back when we run into
one of the relevant cases.

llvm-svn: 349664
llvm/include/llvm/Support/TargetOpcodes.def
llvm/include/llvm/Target/GenericOpcodes.td
llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
llvm/test/CodeGen/AArch64/GlobalISel/select-ceil.mir [new file with mode: 0644]
llvm/test/CodeGen/AArch64/arm64-vcvt.ll