diff options
| author | Volkan Keles <vkeles@apple.com> | 2018-03-05 22:31:55 +0000 |
|---|---|---|
| committer | Volkan Keles <vkeles@apple.com> | 2018-03-05 22:31:55 +0000 |
| commit | 2bc42e90ed147c45a1f0c74b61bb9f6176dbb9ef (patch) | |
| tree | 11cda8054bf6a22e9ef55ff4aa0f428aa1cc2b5d /llvm/test | |
| parent | 82daad31fea78a9c75fcbbe79ce7070e642640d0 (diff) | |
| download | bcm5719-llvm-2bc42e90ed147c45a1f0c74b61bb9f6176dbb9ef.tar.gz bcm5719-llvm-2bc42e90ed147c45a1f0c74b61bb9f6176dbb9ef.zip | |
GlobalISel: IRTranslate llvm.fabs.* intrinsic
Summary:
Fabs is a common floating-point operation, especially for some expansions. This patch adds
a new generic opcode for llvm.fabs.* intrinsic in order to avoid building/matching this intrinsic.
Reviewers: qcolombet, aditya_nandakumar, dsanders, rovka
Reviewed By: aditya_nandakumar
Subscribers: kristof.beyls, javed.absar, llvm-commits
Differential Revision: https://reviews.llvm.org/D43864
llvm-svn: 326749
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll index 40679fa162d..077be5e1059 100644 --- a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll +++ b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll @@ -1318,6 +1318,17 @@ define float @test_log2_intrin(float %a) { %res = call float @llvm.log2.f32(float %a) ret float %res } + +declare float @llvm.fabs.f32(float) +define float @test_fabs_intrin(float %a) { +; CHECK-LABEL: name: test_fabs_intrin +; CHECK: [[A:%[0-9]+]]:_(s32) = COPY $s0 +; CHECK: [[RES:%[0-9]+]]:_(s32) = G_FABS [[A]] +; CHECK: $s0 = COPY [[RES]] + %res = call float @llvm.fabs.f32(float %a) + ret float %res +} + declare void @llvm.lifetime.start.p0i8(i64, i8*) declare void @llvm.lifetime.end.p0i8(i64, i8*) define void @test_lifetime_intrin() { |

