xref: /llvm-project/llvm/test/CodeGen/LoongArch/intrinsic-frecipe-dbl.ll (revision fcb8342a219ada8ec641790a4c8a9f969d7d64ee)
1; RUN: llc --mtriple=loongarch32 --mattr=+d,+frecipe < %s | FileCheck %s
2; RUN: llc --mtriple=loongarch64 --mattr=+d,+frecipe < %s | FileCheck %s
3
4declare double @llvm.loongarch.frecipe.d(double)
5
6define double @frecipe_d(double %a) {
7; CHECK-LABEL: frecipe_d:
8; CHECK:       # %bb.0: # %entry
9; CHECK-NEXT:    frecipe.d $fa0, $fa0
10; CHECK-NEXT:    ret
11entry:
12  %res = call double @llvm.loongarch.frecipe.d(double %a)
13  ret double %res
14}
15
16declare double @llvm.loongarch.frsqrte.d(double)
17
18define double @frsqrte_d(double %a) {
19; CHECK-LABEL: frsqrte_d:
20; CHECK:       # %bb.0: # %entry
21; CHECK-NEXT:    frsqrte.d $fa0, $fa0
22; CHECK-NEXT:    ret
23entry:
24  %res = call double @llvm.loongarch.frsqrte.d(double %a)
25  ret double %res
26}
27