summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AArch64/fp-const-fold.ll
blob: b8b4722ade12033196bfd1300c4b74775b06d2d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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
}
OpenPOWER on IntegriCloud