Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / Mips / GlobalISel / llvm-ir / float_arithmetic_operations.ll
blob3acd365770daca1c8e2c4312c591828ce0af79c1
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -O0 -mtriple=mipsel-linux-gnu -global-isel \
3 ; RUN:     -verify-machineinstrs %s -o -| FileCheck %s
4 ; RUN: llc -O0 -mtriple=mipsel-linux-gnu -mattr=+fp64,+mips32r2 -global-isel \
5 ; RUN:     -verify-machineinstrs %s -o -| FileCheck %s
7 define float @float_add(float %a, float %b) {
8 ; CHECK-LABEL: float_add:
9 ; CHECK:       # %bb.0: # %entry
10 ; CHECK-NEXT:    add.s $f0, $f12, $f14
11 ; CHECK-NEXT:    jr $ra
12 ; CHECK-NEXT:    nop
13 entry:
14   %add = fadd float %a, %b
15   ret float %add
18 define float @float_sub(float %a, float %b) {
19 ; CHECK-LABEL: float_sub:
20 ; CHECK:       # %bb.0: # %entry
21 ; CHECK-NEXT:    sub.s $f0, $f12, $f14
22 ; CHECK-NEXT:    jr $ra
23 ; CHECK-NEXT:    nop
24 entry:
25   %sub = fsub float %a, %b
26   ret float %sub
29 define float @float_mul(float %a, float %b) {
30 ; CHECK-LABEL: float_mul:
31 ; CHECK:       # %bb.0: # %entry
32 ; CHECK-NEXT:    mul.s $f0, $f12, $f14
33 ; CHECK-NEXT:    jr $ra
34 ; CHECK-NEXT:    nop
35 entry:
36   %mul = fmul float %a, %b
37   ret float %mul
40 define float @float_div(float %a, float %b) {
41 ; CHECK-LABEL: float_div:
42 ; CHECK:       # %bb.0: # %entry
43 ; CHECK-NEXT:    div.s $f0, $f12, $f14
44 ; CHECK-NEXT:    jr $ra
45 ; CHECK-NEXT:    nop
46 entry:
47   %div = fdiv float %a, %b
48   ret float %div
51 define double @double_add(double %a, double %b) {
52 ; CHECK-LABEL: double_add:
53 ; CHECK:       # %bb.0: # %entry
54 ; CHECK-NEXT:    add.d $f0, $f12, $f14
55 ; CHECK-NEXT:    jr $ra
56 ; CHECK-NEXT:    nop
57 entry:
58   %add = fadd double %a, %b
59   ret double %add
62 define double @double_sub(double %a, double %b) {
63 ; CHECK-LABEL: double_sub:
64 ; CHECK:       # %bb.0: # %entry
65 ; CHECK-NEXT:    sub.d $f0, $f12, $f14
66 ; CHECK-NEXT:    jr $ra
67 ; CHECK-NEXT:    nop
68 entry:
69   %sub = fsub double %a, %b
70   ret double %sub
73 define double @double_mul(double %a, double %b) {
74 ; CHECK-LABEL: double_mul:
75 ; CHECK:       # %bb.0: # %entry
76 ; CHECK-NEXT:    mul.d $f0, $f12, $f14
77 ; CHECK-NEXT:    jr $ra
78 ; CHECK-NEXT:    nop
79 entry:
80   %mul = fmul double %a, %b
81   ret double %mul
84 define double @double_div(double %a, double %b) {
85 ; CHECK-LABEL: double_div:
86 ; CHECK:       # %bb.0: # %entry
87 ; CHECK-NEXT:    div.d $f0, $f12, $f14
88 ; CHECK-NEXT:    jr $ra
89 ; CHECK-NEXT:    nop
90 entry:
91   %div = fdiv double %a, %b
92   ret double %div