[GlobalISel][AArch64] Add instruction selection support for @llvm.log2
authorJessica Paquette <jpaquette@apple.com>
Wed, 30 Jan 2019 21:16:04 +0000 (21:16 +0000)
committerJessica Paquette <jpaquette@apple.com>
Wed, 30 Jan 2019 21:16:04 +0000 (21:16 +0000)
commit0154bd1385d13523fca0b57c7998603e23fdb038
tree6642ce92d752cfde281345ff8f8c47a1946b5645
parent28a892b972f49a98c88e51a129872f117f305304
[GlobalISel][AArch64] Add instruction selection support for @llvm.log2

This teaches GlobalISel to emit a RTLib call for @llvm.log2 when it encounters
it.

It updates the existing floating point tests to show that we don't fall back on
the intrinsic, and select the correct instructions. It also adds a legalizer
test for G_FLOG2.

https://reviews.llvm.org/D57357

llvm-svn: 352673
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
llvm/test/CodeGen/AArch64/GlobalISel/legalize-log2.mir [new file with mode: 0644]
llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
llvm/test/CodeGen/AArch64/arm64-vfloatintrinsics.ll
llvm/test/CodeGen/AArch64/f16-instructions.ll