xref: /llvm-project/llvm/test/CodeGen/LoongArch/ir-instruction/fdiv.ll (revision ed078c48f0d7b499a4565d4da2dde22a4dbf19d9)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc --mtriple=loongarch32 --mattr=+d < %s | FileCheck %s --check-prefix=LA32
3; RUN: llc --mtriple=loongarch64 --mattr=+d < %s | FileCheck %s --check-prefix=LA64
4
5;; Exercise the 'fdiv' LLVM IR: https://llvm.org/docs/LangRef.html#fdiv-instruction
6
7define float @fdiv_s(float %x, float %y) {
8; LA32-LABEL: fdiv_s:
9; LA32:       # %bb.0:
10; LA32-NEXT:    fdiv.s $fa0, $fa0, $fa1
11; LA32-NEXT:    ret
12;
13; LA64-LABEL: fdiv_s:
14; LA64:       # %bb.0:
15; LA64-NEXT:    fdiv.s $fa0, $fa0, $fa1
16; LA64-NEXT:    ret
17  %div = fdiv float %x, %y
18  ret float %div
19}
20
21define double @fdiv_d(double %x, double %y) {
22; LA32-LABEL: fdiv_d:
23; LA32:       # %bb.0:
24; LA32-NEXT:    fdiv.d $fa0, $fa0, $fa1
25; LA32-NEXT:    ret
26;
27; LA64-LABEL: fdiv_d:
28; LA64:       # %bb.0:
29; LA64-NEXT:    fdiv.d $fa0, $fa0, $fa1
30; LA64-NEXT:    ret
31  %div = fdiv double %x, %y
32  ret double %div
33}
34