]> granicus.if.org Git - llvm/commitdiff
[AArch64] add tests for fdiv/frem constant folding (PR41668); NFC
authorSanjay Patel <spatel@rotateright.com>
Tue, 30 Apr 2019 13:43:17 +0000 (13:43 +0000)
committerSanjay Patel <spatel@rotateright.com>
Tue, 30 Apr 2019 13:43:17 +0000 (13:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359561 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/AArch64/fp-const-fold.ll [new file with mode: 0644]

diff --git a/test/CodeGen/AArch64/fp-const-fold.ll b/test/CodeGen/AArch64/fp-const-fold.ll
new file mode 100644 (file)
index 0000000..b8b4722
--- /dev/null
@@ -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
+}