xref: /aosp_15_r20/external/llvm/test/CodeGen/Mips/msa/3rf.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; Test the MSA intrinsics that are encoded with the 3RF instruction format.
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck %s
4*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck %s
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker@llvm_mips_fadd_w_ARG1 = global <4 x float> <float 0.000000e+00, float 1.000000e+00, float 2.000000e+00, float 3.000000e+00>, align 16
7*9880d681SAndroid Build Coastguard Worker@llvm_mips_fadd_w_ARG2 = global <4 x float> <float 4.000000e+00, float 5.000000e+00, float 6.000000e+00, float 7.000000e+00>, align 16
8*9880d681SAndroid Build Coastguard Worker@llvm_mips_fadd_w_RES  = global <4 x float> <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, align 16
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fadd_w_test() nounwind {
11*9880d681SAndroid Build Coastguard Workerentry:
12*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fadd_w_ARG1
13*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fadd_w_ARG2
14*9880d681SAndroid Build Coastguard Worker  %2 = tail call <4 x float> @llvm.mips.fadd.w(<4 x float> %0, <4 x float> %1)
15*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fadd_w_RES
16*9880d681SAndroid Build Coastguard Worker  ret void
17*9880d681SAndroid Build Coastguard Worker}
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.mips.fadd.w(<4 x float>, <4 x float>) nounwind
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fadd_w_test:
22*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
23*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
24*9880d681SAndroid Build Coastguard Worker; CHECK: fadd.w
25*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
26*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fadd_w_test
27*9880d681SAndroid Build Coastguard Worker;
28*9880d681SAndroid Build Coastguard Worker@llvm_mips_fadd_d_ARG1 = global <2 x double> <double 0.000000e+00, double 1.000000e+00>, align 16
29*9880d681SAndroid Build Coastguard Worker@llvm_mips_fadd_d_ARG2 = global <2 x double> <double 2.000000e+00, double 3.000000e+00>, align 16
30*9880d681SAndroid Build Coastguard Worker@llvm_mips_fadd_d_RES  = global <2 x double> <double 0.000000e+00, double 0.000000e+00>, align 16
31*9880d681SAndroid Build Coastguard Worker
32*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fadd_d_test() nounwind {
33*9880d681SAndroid Build Coastguard Workerentry:
34*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fadd_d_ARG1
35*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fadd_d_ARG2
36*9880d681SAndroid Build Coastguard Worker  %2 = tail call <2 x double> @llvm.mips.fadd.d(<2 x double> %0, <2 x double> %1)
37*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fadd_d_RES
38*9880d681SAndroid Build Coastguard Worker  ret void
39*9880d681SAndroid Build Coastguard Worker}
40*9880d681SAndroid Build Coastguard Worker
41*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.mips.fadd.d(<2 x double>, <2 x double>) nounwind
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fadd_d_test:
44*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
45*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
46*9880d681SAndroid Build Coastguard Worker; CHECK: fadd.d
47*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
48*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fadd_d_test
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard Workerdefine void @fadd_w_test() nounwind {
51*9880d681SAndroid Build Coastguard Workerentry:
52*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fadd_w_ARG1
53*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fadd_w_ARG2
54*9880d681SAndroid Build Coastguard Worker  %2 = fadd <4 x float> %0, %1
55*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fadd_w_RES
56*9880d681SAndroid Build Coastguard Worker  ret void
57*9880d681SAndroid Build Coastguard Worker}
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Worker; CHECK: fadd_w_test:
60*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
61*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
62*9880d681SAndroid Build Coastguard Worker; CHECK: fadd.w
63*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
64*9880d681SAndroid Build Coastguard Worker; CHECK: .size fadd_w_test
65*9880d681SAndroid Build Coastguard Worker
66*9880d681SAndroid Build Coastguard Workerdefine void @fadd_d_test() nounwind {
67*9880d681SAndroid Build Coastguard Workerentry:
68*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fadd_d_ARG1
69*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fadd_d_ARG2
70*9880d681SAndroid Build Coastguard Worker  %2 = fadd <2 x double> %0, %1
71*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fadd_d_RES
72*9880d681SAndroid Build Coastguard Worker  ret void
73*9880d681SAndroid Build Coastguard Worker}
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard Worker; CHECK: fadd_d_test:
76*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
77*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
78*9880d681SAndroid Build Coastguard Worker; CHECK: fadd.d
79*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
80*9880d681SAndroid Build Coastguard Worker; CHECK: .size fadd_d_test
81*9880d681SAndroid Build Coastguard Worker;
82*9880d681SAndroid Build Coastguard Worker@llvm_mips_fdiv_w_ARG1 = global <4 x float> <float 0.000000e+00, float 1.000000e+00, float 2.000000e+00, float 3.000000e+00>, align 16
83*9880d681SAndroid Build Coastguard Worker@llvm_mips_fdiv_w_ARG2 = global <4 x float> <float 4.000000e+00, float 5.000000e+00, float 6.000000e+00, float 7.000000e+00>, align 16
84*9880d681SAndroid Build Coastguard Worker@llvm_mips_fdiv_w_RES  = global <4 x float> <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, align 16
85*9880d681SAndroid Build Coastguard Worker
86*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fdiv_w_test() nounwind {
87*9880d681SAndroid Build Coastguard Workerentry:
88*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fdiv_w_ARG1
89*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fdiv_w_ARG2
90*9880d681SAndroid Build Coastguard Worker  %2 = tail call <4 x float> @llvm.mips.fdiv.w(<4 x float> %0, <4 x float> %1)
91*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fdiv_w_RES
92*9880d681SAndroid Build Coastguard Worker  ret void
93*9880d681SAndroid Build Coastguard Worker}
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.mips.fdiv.w(<4 x float>, <4 x float>) nounwind
96*9880d681SAndroid Build Coastguard Worker
97*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fdiv_w_test:
98*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
99*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
100*9880d681SAndroid Build Coastguard Worker; CHECK: fdiv.w
101*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
102*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fdiv_w_test
103*9880d681SAndroid Build Coastguard Worker;
104*9880d681SAndroid Build Coastguard Worker@llvm_mips_fdiv_d_ARG1 = global <2 x double> <double 0.000000e+00, double 1.000000e+00>, align 16
105*9880d681SAndroid Build Coastguard Worker@llvm_mips_fdiv_d_ARG2 = global <2 x double> <double 2.000000e+00, double 3.000000e+00>, align 16
106*9880d681SAndroid Build Coastguard Worker@llvm_mips_fdiv_d_RES  = global <2 x double> <double 0.000000e+00, double 0.000000e+00>, align 16
107*9880d681SAndroid Build Coastguard Worker
108*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fdiv_d_test() nounwind {
109*9880d681SAndroid Build Coastguard Workerentry:
110*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fdiv_d_ARG1
111*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fdiv_d_ARG2
112*9880d681SAndroid Build Coastguard Worker  %2 = tail call <2 x double> @llvm.mips.fdiv.d(<2 x double> %0, <2 x double> %1)
113*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fdiv_d_RES
114*9880d681SAndroid Build Coastguard Worker  ret void
115*9880d681SAndroid Build Coastguard Worker}
116*9880d681SAndroid Build Coastguard Worker
117*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.mips.fdiv.d(<2 x double>, <2 x double>) nounwind
118*9880d681SAndroid Build Coastguard Worker
119*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fdiv_d_test:
120*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
121*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
122*9880d681SAndroid Build Coastguard Worker; CHECK: fdiv.d
123*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
124*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fdiv_d_test
125*9880d681SAndroid Build Coastguard Worker
126*9880d681SAndroid Build Coastguard Workerdefine void @fdiv_w_test() nounwind {
127*9880d681SAndroid Build Coastguard Workerentry:
128*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fdiv_w_ARG1
129*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fdiv_w_ARG2
130*9880d681SAndroid Build Coastguard Worker  %2 = fdiv <4 x float> %0, %1
131*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fdiv_w_RES
132*9880d681SAndroid Build Coastguard Worker  ret void
133*9880d681SAndroid Build Coastguard Worker}
134*9880d681SAndroid Build Coastguard Worker
135*9880d681SAndroid Build Coastguard Worker; CHECK: fdiv_w_test:
136*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
137*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
138*9880d681SAndroid Build Coastguard Worker; CHECK: fdiv.w
139*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
140*9880d681SAndroid Build Coastguard Worker; CHECK: .size fdiv_w_test
141*9880d681SAndroid Build Coastguard Worker
142*9880d681SAndroid Build Coastguard Workerdefine void @fdiv_d_test() nounwind {
143*9880d681SAndroid Build Coastguard Workerentry:
144*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fdiv_d_ARG1
145*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fdiv_d_ARG2
146*9880d681SAndroid Build Coastguard Worker  %2 = fdiv <2 x double> %0, %1
147*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fdiv_d_RES
148*9880d681SAndroid Build Coastguard Worker  ret void
149*9880d681SAndroid Build Coastguard Worker}
150*9880d681SAndroid Build Coastguard Worker
151*9880d681SAndroid Build Coastguard Worker; CHECK: fdiv_d_test:
152*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
153*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
154*9880d681SAndroid Build Coastguard Worker; CHECK: fdiv.d
155*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
156*9880d681SAndroid Build Coastguard Worker; CHECK: .size fdiv_d_test
157*9880d681SAndroid Build Coastguard Worker;
158*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_w_ARG1 = global <4 x float> <float 0.000000e+00, float 1.000000e+00, float 2.000000e+00, float 3.000000e+00>, align 16
159*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_w_ARG2 = global <4 x float> <float 4.000000e+00, float 5.000000e+00, float 6.000000e+00, float 7.000000e+00>, align 16
160*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_w_RES  = global <4 x float> <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, align 16
161*9880d681SAndroid Build Coastguard Worker
162*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fmin_w_test() nounwind {
163*9880d681SAndroid Build Coastguard Workerentry:
164*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fmin_w_ARG1
165*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fmin_w_ARG2
166*9880d681SAndroid Build Coastguard Worker  %2 = tail call <4 x float> @llvm.mips.fmin.w(<4 x float> %0, <4 x float> %1)
167*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fmin_w_RES
168*9880d681SAndroid Build Coastguard Worker  ret void
169*9880d681SAndroid Build Coastguard Worker}
170*9880d681SAndroid Build Coastguard Worker
171*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.mips.fmin.w(<4 x float>, <4 x float>) nounwind
172*9880d681SAndroid Build Coastguard Worker
173*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fmin_w_test:
174*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
175*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
176*9880d681SAndroid Build Coastguard Worker; CHECK: fmin.w
177*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
178*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fmin_w_test
179*9880d681SAndroid Build Coastguard Worker;
180*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_d_ARG1 = global <2 x double> <double 0.000000e+00, double 1.000000e+00>, align 16
181*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_d_ARG2 = global <2 x double> <double 2.000000e+00, double 3.000000e+00>, align 16
182*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_d_RES  = global <2 x double> <double 0.000000e+00, double 0.000000e+00>, align 16
183*9880d681SAndroid Build Coastguard Worker
184*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fmin_d_test() nounwind {
185*9880d681SAndroid Build Coastguard Workerentry:
186*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fmin_d_ARG1
187*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fmin_d_ARG2
188*9880d681SAndroid Build Coastguard Worker  %2 = tail call <2 x double> @llvm.mips.fmin.d(<2 x double> %0, <2 x double> %1)
189*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fmin_d_RES
190*9880d681SAndroid Build Coastguard Worker  ret void
191*9880d681SAndroid Build Coastguard Worker}
192*9880d681SAndroid Build Coastguard Worker
193*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.mips.fmin.d(<2 x double>, <2 x double>) nounwind
194*9880d681SAndroid Build Coastguard Worker
195*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fmin_d_test:
196*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
197*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
198*9880d681SAndroid Build Coastguard Worker; CHECK: fmin.d
199*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
200*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fmin_d_test
201*9880d681SAndroid Build Coastguard Worker;
202*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_a_w_ARG1 = global <4 x float> <float 0.000000e+00, float 1.000000e+00, float 2.000000e+00, float 3.000000e+00>, align 16
203*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_a_w_ARG2 = global <4 x float> <float 4.000000e+00, float 5.000000e+00, float 6.000000e+00, float 7.000000e+00>, align 16
204*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_a_w_RES  = global <4 x float> <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, align 16
205*9880d681SAndroid Build Coastguard Worker
206*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fmin_a_w_test() nounwind {
207*9880d681SAndroid Build Coastguard Workerentry:
208*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fmin_a_w_ARG1
209*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fmin_a_w_ARG2
210*9880d681SAndroid Build Coastguard Worker  %2 = tail call <4 x float> @llvm.mips.fmin.a.w(<4 x float> %0, <4 x float> %1)
211*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fmin_a_w_RES
212*9880d681SAndroid Build Coastguard Worker  ret void
213*9880d681SAndroid Build Coastguard Worker}
214*9880d681SAndroid Build Coastguard Worker
215*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.mips.fmin.a.w(<4 x float>, <4 x float>) nounwind
216*9880d681SAndroid Build Coastguard Worker
217*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fmin_a_w_test:
218*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
219*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
220*9880d681SAndroid Build Coastguard Worker; CHECK: fmin_a.w
221*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
222*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fmin_a_w_test
223*9880d681SAndroid Build Coastguard Worker;
224*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_a_d_ARG1 = global <2 x double> <double 0.000000e+00, double 1.000000e+00>, align 16
225*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_a_d_ARG2 = global <2 x double> <double 2.000000e+00, double 3.000000e+00>, align 16
226*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmin_a_d_RES  = global <2 x double> <double 0.000000e+00, double 0.000000e+00>, align 16
227*9880d681SAndroid Build Coastguard Worker
228*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fmin_a_d_test() nounwind {
229*9880d681SAndroid Build Coastguard Workerentry:
230*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fmin_a_d_ARG1
231*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fmin_a_d_ARG2
232*9880d681SAndroid Build Coastguard Worker  %2 = tail call <2 x double> @llvm.mips.fmin.a.d(<2 x double> %0, <2 x double> %1)
233*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fmin_a_d_RES
234*9880d681SAndroid Build Coastguard Worker  ret void
235*9880d681SAndroid Build Coastguard Worker}
236*9880d681SAndroid Build Coastguard Worker
237*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.mips.fmin.a.d(<2 x double>, <2 x double>) nounwind
238*9880d681SAndroid Build Coastguard Worker
239*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fmin_a_d_test:
240*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
241*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
242*9880d681SAndroid Build Coastguard Worker; CHECK: fmin_a.d
243*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
244*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fmin_a_d_test
245*9880d681SAndroid Build Coastguard Worker;
246*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_w_ARG1 = global <4 x float> <float 0.000000e+00, float 1.000000e+00, float 2.000000e+00, float 3.000000e+00>, align 16
247*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_w_ARG2 = global <4 x float> <float 4.000000e+00, float 5.000000e+00, float 6.000000e+00, float 7.000000e+00>, align 16
248*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_w_RES  = global <4 x float> <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, align 16
249*9880d681SAndroid Build Coastguard Worker
250*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fmax_w_test() nounwind {
251*9880d681SAndroid Build Coastguard Workerentry:
252*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fmax_w_ARG1
253*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fmax_w_ARG2
254*9880d681SAndroid Build Coastguard Worker  %2 = tail call <4 x float> @llvm.mips.fmax.w(<4 x float> %0, <4 x float> %1)
255*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fmax_w_RES
256*9880d681SAndroid Build Coastguard Worker  ret void
257*9880d681SAndroid Build Coastguard Worker}
258*9880d681SAndroid Build Coastguard Worker
259*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.mips.fmax.w(<4 x float>, <4 x float>) nounwind
260*9880d681SAndroid Build Coastguard Worker
261*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fmax_w_test:
262*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
263*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
264*9880d681SAndroid Build Coastguard Worker; CHECK: fmax.w
265*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
266*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fmax_w_test
267*9880d681SAndroid Build Coastguard Worker;
268*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_d_ARG1 = global <2 x double> <double 0.000000e+00, double 1.000000e+00>, align 16
269*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_d_ARG2 = global <2 x double> <double 2.000000e+00, double 3.000000e+00>, align 16
270*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_d_RES  = global <2 x double> <double 0.000000e+00, double 0.000000e+00>, align 16
271*9880d681SAndroid Build Coastguard Worker
272*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fmax_d_test() nounwind {
273*9880d681SAndroid Build Coastguard Workerentry:
274*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fmax_d_ARG1
275*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fmax_d_ARG2
276*9880d681SAndroid Build Coastguard Worker  %2 = tail call <2 x double> @llvm.mips.fmax.d(<2 x double> %0, <2 x double> %1)
277*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fmax_d_RES
278*9880d681SAndroid Build Coastguard Worker  ret void
279*9880d681SAndroid Build Coastguard Worker}
280*9880d681SAndroid Build Coastguard Worker
281*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.mips.fmax.d(<2 x double>, <2 x double>) nounwind
282*9880d681SAndroid Build Coastguard Worker
283*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fmax_d_test:
284*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
285*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
286*9880d681SAndroid Build Coastguard Worker; CHECK: fmax.d
287*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
288*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fmax_d_test
289*9880d681SAndroid Build Coastguard Worker;
290*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_a_w_ARG1 = global <4 x float> <float 0.000000e+00, float 1.000000e+00, float 2.000000e+00, float 3.000000e+00>, align 16
291*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_a_w_ARG2 = global <4 x float> <float 4.000000e+00, float 5.000000e+00, float 6.000000e+00, float 7.000000e+00>, align 16
292*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_a_w_RES  = global <4 x float> <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, align 16
293*9880d681SAndroid Build Coastguard Worker
294*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fmax_a_w_test() nounwind {
295*9880d681SAndroid Build Coastguard Workerentry:
296*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fmax_a_w_ARG1
297*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fmax_a_w_ARG2
298*9880d681SAndroid Build Coastguard Worker  %2 = tail call <4 x float> @llvm.mips.fmax.a.w(<4 x float> %0, <4 x float> %1)
299*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fmax_a_w_RES
300*9880d681SAndroid Build Coastguard Worker  ret void
301*9880d681SAndroid Build Coastguard Worker}
302*9880d681SAndroid Build Coastguard Worker
303*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.mips.fmax.a.w(<4 x float>, <4 x float>) nounwind
304*9880d681SAndroid Build Coastguard Worker
305*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fmax_a_w_test:
306*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
307*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
308*9880d681SAndroid Build Coastguard Worker; CHECK: fmax_a.w
309*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
310*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fmax_a_w_test
311*9880d681SAndroid Build Coastguard Worker;
312*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_a_d_ARG1 = global <2 x double> <double 0.000000e+00, double 1.000000e+00>, align 16
313*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_a_d_ARG2 = global <2 x double> <double 2.000000e+00, double 3.000000e+00>, align 16
314*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmax_a_d_RES  = global <2 x double> <double 0.000000e+00, double 0.000000e+00>, align 16
315*9880d681SAndroid Build Coastguard Worker
316*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fmax_a_d_test() nounwind {
317*9880d681SAndroid Build Coastguard Workerentry:
318*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fmax_a_d_ARG1
319*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fmax_a_d_ARG2
320*9880d681SAndroid Build Coastguard Worker  %2 = tail call <2 x double> @llvm.mips.fmax.a.d(<2 x double> %0, <2 x double> %1)
321*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fmax_a_d_RES
322*9880d681SAndroid Build Coastguard Worker  ret void
323*9880d681SAndroid Build Coastguard Worker}
324*9880d681SAndroid Build Coastguard Worker
325*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.mips.fmax.a.d(<2 x double>, <2 x double>) nounwind
326*9880d681SAndroid Build Coastguard Worker
327*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fmax_a_d_test:
328*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
329*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
330*9880d681SAndroid Build Coastguard Worker; CHECK: fmax_a.d
331*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
332*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fmax_a_d_test
333*9880d681SAndroid Build Coastguard Worker;
334*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmul_w_ARG1 = global <4 x float> <float 0.000000e+00, float 1.000000e+00, float 2.000000e+00, float 3.000000e+00>, align 16
335*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmul_w_ARG2 = global <4 x float> <float 4.000000e+00, float 5.000000e+00, float 6.000000e+00, float 7.000000e+00>, align 16
336*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmul_w_RES  = global <4 x float> <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, align 16
337*9880d681SAndroid Build Coastguard Worker
338*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fmul_w_test() nounwind {
339*9880d681SAndroid Build Coastguard Workerentry:
340*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fmul_w_ARG1
341*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fmul_w_ARG2
342*9880d681SAndroid Build Coastguard Worker  %2 = tail call <4 x float> @llvm.mips.fmul.w(<4 x float> %0, <4 x float> %1)
343*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fmul_w_RES
344*9880d681SAndroid Build Coastguard Worker  ret void
345*9880d681SAndroid Build Coastguard Worker}
346*9880d681SAndroid Build Coastguard Worker
347*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.mips.fmul.w(<4 x float>, <4 x float>) nounwind
348*9880d681SAndroid Build Coastguard Worker
349*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fmul_w_test:
350*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
351*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
352*9880d681SAndroid Build Coastguard Worker; CHECK: fmul.w
353*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
354*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fmul_w_test
355*9880d681SAndroid Build Coastguard Worker;
356*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmul_d_ARG1 = global <2 x double> <double 0.000000e+00, double 1.000000e+00>, align 16
357*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmul_d_ARG2 = global <2 x double> <double 2.000000e+00, double 3.000000e+00>, align 16
358*9880d681SAndroid Build Coastguard Worker@llvm_mips_fmul_d_RES  = global <2 x double> <double 0.000000e+00, double 0.000000e+00>, align 16
359*9880d681SAndroid Build Coastguard Worker
360*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fmul_d_test() nounwind {
361*9880d681SAndroid Build Coastguard Workerentry:
362*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fmul_d_ARG1
363*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fmul_d_ARG2
364*9880d681SAndroid Build Coastguard Worker  %2 = tail call <2 x double> @llvm.mips.fmul.d(<2 x double> %0, <2 x double> %1)
365*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fmul_d_RES
366*9880d681SAndroid Build Coastguard Worker  ret void
367*9880d681SAndroid Build Coastguard Worker}
368*9880d681SAndroid Build Coastguard Worker
369*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.mips.fmul.d(<2 x double>, <2 x double>) nounwind
370*9880d681SAndroid Build Coastguard Worker
371*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fmul_d_test:
372*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
373*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
374*9880d681SAndroid Build Coastguard Worker; CHECK: fmul.d
375*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
376*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fmul_d_test
377*9880d681SAndroid Build Coastguard Worker
378*9880d681SAndroid Build Coastguard Workerdefine void @fmul_w_test() nounwind {
379*9880d681SAndroid Build Coastguard Workerentry:
380*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fmul_w_ARG1
381*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fmul_w_ARG2
382*9880d681SAndroid Build Coastguard Worker  %2 = fmul <4 x float> %0, %1
383*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fmul_w_RES
384*9880d681SAndroid Build Coastguard Worker  ret void
385*9880d681SAndroid Build Coastguard Worker}
386*9880d681SAndroid Build Coastguard Worker
387*9880d681SAndroid Build Coastguard Worker; CHECK: fmul_w_test:
388*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
389*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
390*9880d681SAndroid Build Coastguard Worker; CHECK: fmul.w
391*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
392*9880d681SAndroid Build Coastguard Worker; CHECK: .size fmul_w_test
393*9880d681SAndroid Build Coastguard Worker
394*9880d681SAndroid Build Coastguard Workerdefine void @fmul_d_test() nounwind {
395*9880d681SAndroid Build Coastguard Workerentry:
396*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fmul_d_ARG1
397*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fmul_d_ARG2
398*9880d681SAndroid Build Coastguard Worker  %2 = fmul <2 x double> %0, %1
399*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fmul_d_RES
400*9880d681SAndroid Build Coastguard Worker  ret void
401*9880d681SAndroid Build Coastguard Worker}
402*9880d681SAndroid Build Coastguard Worker
403*9880d681SAndroid Build Coastguard Worker; CHECK: fmul_d_test:
404*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
405*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
406*9880d681SAndroid Build Coastguard Worker; CHECK: fmul.d
407*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
408*9880d681SAndroid Build Coastguard Worker; CHECK: .size fmul_d_test
409*9880d681SAndroid Build Coastguard Worker;
410*9880d681SAndroid Build Coastguard Worker@llvm_mips_fsub_w_ARG1 = global <4 x float> <float 0.000000e+00, float 1.000000e+00, float 2.000000e+00, float 3.000000e+00>, align 16
411*9880d681SAndroid Build Coastguard Worker@llvm_mips_fsub_w_ARG2 = global <4 x float> <float 4.000000e+00, float 5.000000e+00, float 6.000000e+00, float 7.000000e+00>, align 16
412*9880d681SAndroid Build Coastguard Worker@llvm_mips_fsub_w_RES  = global <4 x float> <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, align 16
413*9880d681SAndroid Build Coastguard Worker
414*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fsub_w_test() nounwind {
415*9880d681SAndroid Build Coastguard Workerentry:
416*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fsub_w_ARG1
417*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fsub_w_ARG2
418*9880d681SAndroid Build Coastguard Worker  %2 = tail call <4 x float> @llvm.mips.fsub.w(<4 x float> %0, <4 x float> %1)
419*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fsub_w_RES
420*9880d681SAndroid Build Coastguard Worker  ret void
421*9880d681SAndroid Build Coastguard Worker}
422*9880d681SAndroid Build Coastguard Worker
423*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.mips.fsub.w(<4 x float>, <4 x float>) nounwind
424*9880d681SAndroid Build Coastguard Worker
425*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fsub_w_test:
426*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
427*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
428*9880d681SAndroid Build Coastguard Worker; CHECK: fsub.w
429*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
430*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fsub_w_test
431*9880d681SAndroid Build Coastguard Worker;
432*9880d681SAndroid Build Coastguard Worker@llvm_mips_fsub_d_ARG1 = global <2 x double> <double 0.000000e+00, double 1.000000e+00>, align 16
433*9880d681SAndroid Build Coastguard Worker@llvm_mips_fsub_d_ARG2 = global <2 x double> <double 2.000000e+00, double 3.000000e+00>, align 16
434*9880d681SAndroid Build Coastguard Worker@llvm_mips_fsub_d_RES  = global <2 x double> <double 0.000000e+00, double 0.000000e+00>, align 16
435*9880d681SAndroid Build Coastguard Worker
436*9880d681SAndroid Build Coastguard Workerdefine void @llvm_mips_fsub_d_test() nounwind {
437*9880d681SAndroid Build Coastguard Workerentry:
438*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fsub_d_ARG1
439*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fsub_d_ARG2
440*9880d681SAndroid Build Coastguard Worker  %2 = tail call <2 x double> @llvm.mips.fsub.d(<2 x double> %0, <2 x double> %1)
441*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fsub_d_RES
442*9880d681SAndroid Build Coastguard Worker  ret void
443*9880d681SAndroid Build Coastguard Worker}
444*9880d681SAndroid Build Coastguard Worker
445*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.mips.fsub.d(<2 x double>, <2 x double>) nounwind
446*9880d681SAndroid Build Coastguard Worker
447*9880d681SAndroid Build Coastguard Worker; CHECK: llvm_mips_fsub_d_test:
448*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
449*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
450*9880d681SAndroid Build Coastguard Worker; CHECK: fsub.d
451*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
452*9880d681SAndroid Build Coastguard Worker; CHECK: .size llvm_mips_fsub_d_test
453*9880d681SAndroid Build Coastguard Worker;
454*9880d681SAndroid Build Coastguard Worker
455*9880d681SAndroid Build Coastguard Workerdefine void @fsub_w_test() nounwind {
456*9880d681SAndroid Build Coastguard Workerentry:
457*9880d681SAndroid Build Coastguard Worker  %0 = load <4 x float>, <4 x float>* @llvm_mips_fsub_w_ARG1
458*9880d681SAndroid Build Coastguard Worker  %1 = load <4 x float>, <4 x float>* @llvm_mips_fsub_w_ARG2
459*9880d681SAndroid Build Coastguard Worker  %2 = fsub <4 x float> %0, %1
460*9880d681SAndroid Build Coastguard Worker  store <4 x float> %2, <4 x float>* @llvm_mips_fsub_w_RES
461*9880d681SAndroid Build Coastguard Worker  ret void
462*9880d681SAndroid Build Coastguard Worker}
463*9880d681SAndroid Build Coastguard Worker
464*9880d681SAndroid Build Coastguard Worker; CHECK: fsub_w_test:
465*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
466*9880d681SAndroid Build Coastguard Worker; CHECK: ld.w
467*9880d681SAndroid Build Coastguard Worker; CHECK: fsub.w
468*9880d681SAndroid Build Coastguard Worker; CHECK: st.w
469*9880d681SAndroid Build Coastguard Worker; CHECK: .size fsub_w_test
470*9880d681SAndroid Build Coastguard Worker
471*9880d681SAndroid Build Coastguard Workerdefine void @fsub_d_test() nounwind {
472*9880d681SAndroid Build Coastguard Workerentry:
473*9880d681SAndroid Build Coastguard Worker  %0 = load <2 x double>, <2 x double>* @llvm_mips_fsub_d_ARG1
474*9880d681SAndroid Build Coastguard Worker  %1 = load <2 x double>, <2 x double>* @llvm_mips_fsub_d_ARG2
475*9880d681SAndroid Build Coastguard Worker  %2 = fsub <2 x double> %0, %1
476*9880d681SAndroid Build Coastguard Worker  store <2 x double> %2, <2 x double>* @llvm_mips_fsub_d_RES
477*9880d681SAndroid Build Coastguard Worker  ret void
478*9880d681SAndroid Build Coastguard Worker}
479*9880d681SAndroid Build Coastguard Worker
480*9880d681SAndroid Build Coastguard Worker; CHECK: fsub_d_test:
481*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
482*9880d681SAndroid Build Coastguard Worker; CHECK: ld.d
483*9880d681SAndroid Build Coastguard Worker; CHECK: fsub.d
484*9880d681SAndroid Build Coastguard Worker; CHECK: st.d
485*9880d681SAndroid Build Coastguard Worker; CHECK: .size fsub_d_test
486