diff options
| -rw-r--r-- | llvm/test/CodeGen/AArch64/fp-const-fold.ll | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/fp-const-fold.ll b/llvm/test/CodeGen/AArch64/fp-const-fold.ll new file mode 100644 index 00000000000..b8b4722ade1 --- /dev/null +++ b/llvm/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 +} |

