]> granicus.if.org Git - llvm/commit
[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)
commit5d6324274bbcb22c2998e12fce4f961b7d95e3ec
tree47df2228fb9b14e3336c55c09eb0f0268b6f78ff
parentd2bce7d4ae7f6de9fc3468120f4f377560538c9c
[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352673 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
lib/Target/AArch64/AArch64LegalizerInfo.cpp
lib/Target/AArch64/AArch64RegisterBankInfo.cpp
test/CodeGen/AArch64/GlobalISel/legalize-log2.mir [new file with mode: 0644]
test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
test/CodeGen/AArch64/arm64-vfloatintrinsics.ll
test/CodeGen/AArch64/f16-instructions.ll