From: Sanjay Patel Date: Tue, 30 Apr 2019 13:43:17 +0000 (+0000) Subject: [AArch64] add tests for fdiv/frem constant folding (PR41668); NFC X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=491c3dc2ef0137a5628ec4d357f93853b9b84f7a;p=llvm [AArch64] add tests for fdiv/frem constant folding (PR41668); NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359561 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/AArch64/fp-const-fold.ll b/test/CodeGen/AArch64/fp-const-fold.ll new file mode 100644 index 00000000000..b8b4722ade1 --- /dev/null +++ b/test/CodeGen/AArch64/fp-const-fold.ll @@ -0,0 +1,27 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -mtriple=aarch64-- | FileCheck %s + +; https://bugs.llvm.org/show_bug.cgi?id=41668 + +define double @constant_fold_fdiv_by_zero(double* %p) { +; CHECK-LABEL: constant_fold_fdiv_by_zero: +; CHECK: // %bb.0: +; CHECK-NEXT: mov x8, #1 +; CHECK-NEXT: fmov d0, xzr +; CHECK-NEXT: fmov d1, x8 +; CHECK-NEXT: fdiv d0, d1, d0 +; CHECK-NEXT: ret + %r = fdiv double 4.940660e-324, 0.0 + ret double %r +} + +define double @constant_fold_frem_by_zero(double* %p) { +; CHECK-LABEL: constant_fold_frem_by_zero: +; CHECK: // %bb.0: +; CHECK-NEXT: mov x8, #1 +; CHECK-NEXT: fmov d1, xzr +; CHECK-NEXT: fmov d0, x8 +; CHECK-NEXT: b fmod + %r = frem double 4.940660e-324, 0.0 + ret double %r +}