]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/csky/csky_insn_fpuv2.md
Update copyright years.
[thirdparty/gcc.git] / gcc / config / csky / csky_insn_fpuv2.md
1 ;; C-SKY FPUV2 instruction descriptions.
2 ;; Copyright (C) 2018-2022 Free Software Foundation, Inc.
3 ;; Contributed by C-SKY Microsystems and Mentor Graphics.
4 ;;
5 ;; This file is part of GCC.
6 ;;
7 ;; GCC is free software; you can redistribute it and/or modify it
8 ;; under the terms of the GNU General Public License as published by
9 ;; the Free Software Foundation; either version 3, or (at your option)
10 ;; any later version.
11 ;;
12 ;; GCC is distributed in the hope that it will be useful, but
13 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 ;; General Public License for more details.
16 ;;
17 ;; You should have received a copy of the GNU General Public License
18 ;; along with GCC; see the file COPYING3. If not see
19 ;; <http://www.gnu.org/licenses/>. */
20
21 ;; -------------------------------------------------------------------------
22 ;; Float Abs instructions
23 ;; -------------------------------------------------------------------------
24
25 (define_insn "*fpuv2_abssf2"
26 [(set (match_operand:SF 0 "register_operand" "=v,a,r")
27 (abs:SF (match_operand:SF 1 "register_operand" "v, 0,r")))]
28 "CSKY_ISA_FEATURE (fpv2_sf)"
29 "@
30 fabss\t%0, %1
31 bclri\t%0, %1, 31
32 bclri\t%0, %1, 31"
33 [(set_attr "length" "4,2,4")])
34
35 (define_insn "*fpuv2_absdf2"
36 [(set (match_operand:DF 0 "register_operand" "=v")
37 (abs:DF (match_operand:DF 1 "register_operand" "v")))]
38 "CSKY_ISA_FEATURE (fpv2_df)"
39 "fabsd\t%0, %1")
40
41
42 ;; -------------------------------------------------------------------------
43 ;; Float Neg instructions
44 ;; -------------------------------------------------------------------------
45
46 (define_insn "*fpuv2_negsf2"
47 [(set (match_operand:SF 0 "register_operand" "=v")
48 (neg:SF (match_operand:SF 1 "register_operand" "v")))]
49 "CSKY_ISA_FEATURE (fpv2_sf)"
50 "fnegs\t%0, %1")
51
52 (define_insn "*fpuv2_negdf2"
53 [(set (match_operand:DF 0 "register_operand" "=v")
54 (neg:DF (match_operand:DF 1 "register_operand" "v")))]
55 "CSKY_ISA_FEATURE (fpv2_df)"
56 "fnegd\t%0, %1")
57
58
59 ;; -------------------------------------------------------------------------
60 ;; Float Sqrt instructions
61 ;; -------------------------------------------------------------------------
62
63 (define_insn "*fpuv2_sqrtsf2"
64 [(set (match_operand:SF 0 "register_operand" "=v")
65 (sqrt:SF (match_operand:SF 1 "register_operand" "v")))]
66 "CSKY_ISA_FEATURE (fpv2_sf)"
67 "fsqrts\t%0, %1")
68
69 (define_insn "*fpuv2_sqrtdf2"
70 [(set (match_operand:DF 0 "register_operand" "=v")
71 (sqrt:DF (match_operand:DF 1 "register_operand" "v")))]
72 "CSKY_ISA_FEATURE (fpv2_divd)"
73 "fsqrtd\t%0, %1")
74
75
76 ;; -------------------------------------------------------------------------
77 ;; Float Add instructions
78 ;; -------------------------------------------------------------------------
79
80 (define_insn "*fpuv2_addsf3"
81 [(set (match_operand:SF 0 "register_operand" "=v")
82 (plus:SF (match_operand:SF 1 "register_operand" "v")
83 (match_operand:SF 2 "register_operand" "v")))]
84 "CSKY_ISA_FEATURE (fpv2_sf)"
85 "fadds\t%0, %1, %2")
86
87 (define_insn "*fpuv2_adddf3"
88 [(set (match_operand:DF 0 "register_operand" "=v")
89 (plus:DF (match_operand:DF 1 "register_operand" "v")
90 (match_operand:DF 2 "register_operand" "v")))]
91 "CSKY_ISA_FEATURE (fpv2_df)"
92 "faddd\t%0, %1, %2")
93
94
95 ;; -------------------------------------------------------------------------
96 ;; Float Sub instructions
97 ;; -------------------------------------------------------------------------
98
99 (define_insn "*fpuv2_subsf3"
100 [(set (match_operand:SF 0 "register_operand" "=v")
101 (minus:SF (match_operand:SF 1 "register_operand" "v")
102 (match_operand:SF 2 "register_operand" "v")))]
103 "CSKY_ISA_FEATURE (fpv2_sf)"
104 "fsubs\t%0, %1, %2")
105
106 (define_insn "*fpuv2_subdf3"
107 [(set (match_operand:DF 0 "register_operand" "=v")
108 (minus:DF (match_operand:DF 1 "register_operand" "v")
109 (match_operand:DF 2 "register_operand" "v")))]
110 "CSKY_ISA_FEATURE (fpv2_df)"
111 "fsubd\t%0, %1, %2")
112
113
114 ;; -------------------------------------------------------------------------
115 ;; Float Mul instructions
116 ;; -------------------------------------------------------------------------
117
118 (define_insn "*fpv2_mulsf3"
119 [(set (match_operand:SF 0 "register_operand" "=v")
120 (mult:SF (match_operand:SF 1 "register_operand" "v")
121 (match_operand:SF 2 "register_operand" "v")))]
122 "CSKY_ISA_FEATURE (fpv2_sf)"
123 "fmuls\t%0, %1, %2")
124
125 (define_insn "*fpv2_muldf3"
126 [(set (match_operand:DF 0 "register_operand" "=v")
127 (mult:DF (match_operand:DF 1 "register_operand" "v")
128 (match_operand:DF 2 "register_operand" "v")))]
129 "CSKY_ISA_FEATURE (fpv2_df)"
130 "fmuld\t%0, %1, %2")
131
132 (define_insn "*fpuv2_nmulsf3_1"
133 [(set (match_operand:SF 0 "register_operand" "=v")
134 (mult:SF (neg:SF (match_operand:SF 1 "register_operand" "%v"))
135 (match_operand:SF 2 "register_operand" "v")))]
136 "CSKY_ISA_FEATURE (fpv2_sf) && !flag_rounding_math"
137 "fnmuls\t%0, %1, %2")
138
139 (define_insn "*fpuv2_nmulsf3_2"
140 [(set (match_operand:SF 0 "register_operand" "=v")
141 (neg:SF (mult:SF (match_operand:SF 1 "register_operand" "v")
142 (match_operand:SF 2 "register_operand" "v"))))]
143 "CSKY_ISA_FEATURE (fpv2_sf)"
144 "fnmuls\t%0, %1, %2")
145
146 (define_insn "*fpuv2_nmuldf3_1"
147 [(set (match_operand:DF 0 "register_operand" "=v")
148 (mult:DF (neg:DF (match_operand:DF 1 "register_operand" "%v"))
149 (match_operand:DF 2 "register_operand" "v")))]
150 "CSKY_ISA_FEATURE (fpv2_df) && !flag_rounding_math"
151 "fnmuld\t%0, %1, %2")
152
153 (define_insn "*fpuv2_nmuldf3_2"
154 [(set (match_operand:DF 0 "register_operand" "=v")
155 (neg:DF (mult:DF (match_operand:DF 1 "register_operand" "v")
156 (match_operand:DF 2 "register_operand" "v"))))]
157 "CSKY_ISA_FEATURE (fpv2_df)"
158 "fnmuld\t%0, %1, %2")
159
160
161 ;; -------------------------------------------------------------------------
162 ;; Float Div instructions
163 ;; -------------------------------------------------------------------------
164
165 (define_insn "*fpuv2_divsf3"
166 [(set (match_operand:SF 0 "register_operand" "=v")
167 (div:SF (match_operand:SF 1 "register_operand" "v")
168 (match_operand:SF 2 "register_operand" "v")))]
169 "CSKY_ISA_FEATURE (fpv2_sf)"
170 "fdivs\t%0, %1, %2")
171
172 (define_insn "*fpuv2_1_divsf3"
173 [(set (match_operand:SF 0 "register_operand" "=v")
174 (div:SF (match_operand:SF 1 "csky_const_float1_operand" "i")
175 (match_operand:SF 2 "register_operand" "v")))]
176 "CSKY_ISA_FEATURE (fpv2_sf)"
177 "frecips\t%0, %2")
178
179 (define_insn "*fpuv2_divdf3"
180 [(set (match_operand:DF 0 "register_operand" "=v")
181 (div:DF (match_operand:DF 1 "register_operand" "v")
182 (match_operand:DF 2 "register_operand" "v")))]
183 "CSKY_ISA_FEATURE (fpv2_divd)"
184 "fdivd\t%0, %1, %2")
185
186 (define_insn "*fpuv2_1_divdf3"
187 [(set (match_operand:DF 0 "register_operand" "=v")
188 (div:DF (match_operand:DF 1 "csky_const_float1_operand" "i")
189 (match_operand:DF 2 "register_operand" "v")))]
190 "CSKY_ISA_FEATURE (fpv2_divd)"
191 "frecipd\t%0, %2")
192
193
194 ;; -------------------------------------------------------------------------
195 ;; Float add(sub) with mult instructions
196 ;; -------------------------------------------------------------------------
197
198 ;; vrz <= vrz + vrx * vry
199 (define_insn "*fpuv2_fmacs"
200 [(set (match_operand:SF 0 "register_operand" "=v")
201 (plus:SF (mult:SF (match_operand:SF 1 "register_operand" "v")
202 (match_operand:SF 2 "register_operand" "v"))
203 (match_operand:SF 3 "register_operand" "0")))]
204 "CSKY_ISA_FEATURE (fpv2_sf)"
205 "fmacs\t%0, %1, %2")
206
207 (define_insn "*fpuv2_fmacd"
208 [(set (match_operand:DF 0 "register_operand" "=v")
209 (plus:DF (mult:DF (match_operand:DF 1 "register_operand" "v")
210 (match_operand:DF 2 "register_operand" "v"))
211 (match_operand:DF 3 "register_operand" "0")))]
212 "CSKY_ISA_FEATURE (fpv2_df)"
213 "fmacd\t%0, %1, %2")
214
215 ;; vrz <= vrz - vrx * vry
216 (define_insn "*fpuv2_fnmacs"
217 [(set (match_operand:SF 0 "register_operand" "=v")
218 (minus:SF (match_operand:SF 1 "register_operand" "0")
219 (mult:SF (match_operand:SF 2 "register_operand" "v")
220 (match_operand:SF 3 "register_operand" "v"))))]
221 "CSKY_ISA_FEATURE (fpv2_sf)"
222 "fnmacs\t%0, %2, %3")
223
224 (define_insn "*fpuv2_fnmacd"
225 [(set (match_operand:DF 0 "register_operand" "=v")
226 (minus:DF (match_operand:DF 1 "register_operand" "0")
227 (mult:DF (match_operand:DF 2 "register_operand" "v")
228 (match_operand:DF 3 "register_operand" "v"))))]
229 "CSKY_ISA_FEATURE (fpv2_df)"
230 "fnmacd\t%0, %2, %3")
231
232 ;; vrz <= vrx * vry - vrz
233 (define_insn "*fpuv2_fmscs"
234 [(set (match_operand:SF 0 "register_operand" "=v")
235 (minus:SF (mult:SF (match_operand:SF 1 "register_operand" "v")
236 (match_operand:SF 2 "register_operand" "v"))
237 (match_operand:SF 3 "register_operand" "0")))]
238 "CSKY_ISA_FEATURE (fpv2_sf)"
239 "fmscs\t%0, %1, %2")
240
241 (define_insn "*fpuv2_fmscd"
242 [(set (match_operand:DF 0 "register_operand" "=v")
243 (minus:DF (mult:DF (match_operand:DF 1 "register_operand" "v")
244 (match_operand:DF 2 "register_operand" "v"))
245 (match_operand:DF 3 "register_operand" "0")))]
246 "CSKY_ISA_FEATURE (fpv2_df)"
247 "fmscd\t%0, %1, %2")
248
249 ;; vrz = - (vrz + vrx * vry)
250 (define_insn "*fpuv2_fnmscs_1"
251 [(set (match_operand:SF 0 "register_operand" "=v")
252 (minus:SF (mult:SF (neg:SF (match_operand:SF 1 "register_operand" "%v"))
253 (match_operand:SF 2 "register_operand" "v"))
254 (match_operand:SF 3 "register_operand" "0")))]
255 "CSKY_ISA_FEATURE (fpv2_sf)"
256 "fnmscs\t%0, %1, %2")
257
258 (define_insn "*fpuv2_fnmscs_2"
259 [(set (match_operand:SF 0 "register_operand" "=v")
260 (neg:SF (plus:SF (mult:SF (match_operand:SF 1 "register_operand" "v")
261 (match_operand:SF 2 "register_operand" "v"))
262 (match_operand:SF 3 "register_operand" "0"))))]
263 "CSKY_ISA_FEATURE (fpv2_sf)"
264 "fnmscs\t%0, %1, %2")
265
266 (define_insn "*fpuv2_fnmscd_1"
267 [(set (match_operand:DF 0 "register_operand" "=v")
268 (minus:DF (mult:DF (neg:DF (match_operand:DF 1 "register_operand" "%v"))
269 (match_operand:DF 2 "register_operand" "v"))
270 (match_operand:DF 3 "register_operand" "0")))]
271 "CSKY_ISA_FEATURE (fpv2_df)"
272 "fnmscd\t%0, %1, %2")
273
274 (define_insn "*fpuv2_fnmscd_2"
275 [(set (match_operand:DF 0 "register_operand" "=v")
276 (neg:DF (plus:DF (mult:DF (match_operand:DF 1 "register_operand" "v")
277 (match_operand:DF 2 "register_operand" "v"))
278 (match_operand:DF 3 "register_operand" "0"))))]
279 "CSKY_ISA_FEATURE (fpv2_df)"
280 "fnmscd\t%0, %1, %2")
281
282
283 ;; -------------------------------------------------------------------------
284 ;; Float compare instructions
285 ;; -------------------------------------------------------------------------
286
287 (define_insn "*fpuv2_unordered"
288 [(set (reg:CC 33) (unordered:CC (match_operand:SF 0 "register_operand" "v")
289 (match_operand:SF 1 "register_operand" "v")))]
290 "CSKY_ISA_FEATURE (fpv2_sf)"
291 "fcmpuos\t%0, %1")
292
293 (define_insn "*fpuv2_unordered_zero"
294 [(set (reg:CC 33) (unordered:CC (match_operand:SF 0 "register_operand" "v")
295 (match_operand:SF 1 "csky_const_float0_operand" "i")))]
296 "CSKY_ISA_FEATURE (fpv2_sf)"
297 "fcmpuos\t%0, %0")
298
299 (define_insn "*fpuv2_ne"
300 [(set (reg:CC 33) (ne:CC (match_operand:SF 0 "register_operand" "v")
301 (match_operand:SF 1 "register_operand" "v")))]
302 "CSKY_ISA_FEATURE (fpv2_sf)"
303 "fcmpnes\t%0, %1")
304
305 (define_insn "*fpuv2_gt"
306 [(set (reg:CC 33) (gt:CC (match_operand:SF 0 "register_operand" "v")
307 (match_operand:SF 1 "register_operand" "v")))]
308 "CSKY_ISA_FEATURE (fpv2_sf)"
309 "fcmplts\t%1, %0")
310
311 (define_insn "*fpuv2_ge"
312 [(set (reg:CC 33) (ge:CC (match_operand:SF 0 "register_operand" "v")
313 (match_operand:SF 1 "register_operand" "v")))]
314 "CSKY_ISA_FEATURE (fpv2_sf)"
315 "fcmphss\t%0, %1")
316
317 (define_insn "*fpuv2_lt"
318 [(set (reg:CC 33) (lt:CC (match_operand:SF 0 "register_operand" "v")
319 (match_operand:SF 1 "register_operand" "v")))]
320 "CSKY_ISA_FEATURE (fpv2_sf)"
321 "fcmplts\t%0, %1")
322
323 (define_insn "*fpuv2_le"
324 [(set (reg:CC 33) (le:CC (match_operand:SF 0 "register_operand" "v")
325 (match_operand:SF 1 "register_operand" "v")))]
326 "CSKY_ISA_FEATURE (fpv2_sf)"
327 "fcmphss\t%1, %0")
328
329 (define_insn "*fpuv2_gez"
330 [(set (reg:CC 33) (ge:CC (match_operand:SF 0 "register_operand" "v")
331 (match_operand:SF 1 "csky_const_float0_operand" "i")))]
332 "CSKY_ISA_FEATURE (fpv2_sf)"
333 "fcmpzhss\t%0")
334
335 (define_insn "*fpuv2_nez"
336 [(set (reg:CC 33) (ne:CC (match_operand:SF 0 "register_operand" "v")
337 (match_operand:SF 1 "csky_const_float0_operand" "i")))]
338 "CSKY_ISA_FEATURE (fpv2_sf)"
339 "fcmpznes\t%0")
340
341 (define_insn "*fpuv2_dunordered"
342 [(set (reg:CC 33) (unordered:CC (match_operand:DF 0 "register_operand" "v")
343 (match_operand:DF 1 "register_operand" "v")))]
344 "CSKY_ISA_FEATURE (fpv2_df)"
345 "fcmpuod\t%0, %1")
346
347 (define_insn "*fpuv2_dunordered_zero"
348 [(set (reg:CC 33) (unordered:CC (match_operand:DF 0 "register_operand" "v")
349 (match_operand:DF 1 "csky_const_float0_operand" "i")))]
350 "CSKY_ISA_FEATURE (fpv2_df)"
351 "fcmpuod\t%0, %0")
352
353 (define_insn "*fpuv2_dne"
354 [(set (reg:CC 33) (ne:CC (match_operand:DF 0 "register_operand" "v")
355 (match_operand:DF 1 "register_operand" "v")))]
356 "CSKY_ISA_FEATURE (fpv2_df)"
357 "fcmpned\t%0, %1")
358
359 (define_insn "*fpuv2_dgt"
360 [(set (reg:CC 33) (gt:CC (match_operand:DF 0 "register_operand" "v")
361 (match_operand:DF 1 "register_operand" "v")))]
362 "CSKY_ISA_FEATURE (fpv2_df)"
363 "fcmpltd\t%1, %0")
364
365 (define_insn "*fpuv2_dge"
366 [(set (reg:CC 33) (ge:CC (match_operand:DF 0 "register_operand" "v")
367 (match_operand:DF 1 "register_operand" "v")))]
368 "CSKY_ISA_FEATURE (fpv2_df)"
369 "fcmphsd\t%0, %1")
370
371 (define_insn "*fpuv2_dlt"
372 [(set (reg:CC 33) (lt:CC (match_operand:DF 0 "register_operand" "v")
373 (match_operand:DF 1 "register_operand" "v")))]
374 "CSKY_ISA_FEATURE (fpv2_df)"
375 "fcmpltd\t%0, %1")
376
377 (define_insn "*fpuv2_dle"
378 [(set (reg:CC 33) (le:CC (match_operand:DF 0 "register_operand" "v")
379 (match_operand:DF 1 "register_operand" "v")))]
380 "CSKY_ISA_FEATURE (fpv2_df)"
381 "fcmphsd\t%1, %0")
382
383 (define_insn "*fpuv2_dgez"
384 [(set (reg:CC 33) (ge:CC (match_operand:DF 0 "register_operand" "v")
385 (match_operand:DF 1 "csky_const_float0_operand" "i")))]
386 "CSKY_ISA_FEATURE (fpv2_df)"
387 "fcmpzhsd\t%0")
388
389 (define_insn "*fpuv2_dnez"
390 [(set (reg:CC 33) (ne:CC (match_operand:DF 0 "register_operand" "v")
391 (match_operand:DF 1 "csky_const_float0_operand" "i")))]
392 "CSKY_ISA_FEATURE (fpv2_df)"
393 "fcmpzned\t%0")
394
395
396 ;; -------------------------------------------------------------------------
397 ;; Float convert instructions
398 ;; -------------------------------------------------------------------------
399
400 ;; DF <- SF
401 (define_insn "*fpuv2_extendsfdf2"
402 [(set (match_operand:DF 0 "register_operand" "=v")
403 (float_extend:DF (match_operand:SF 1 "register_operand" "v")))]
404 "CSKY_ISA_FEATURE (fpv2_df)"
405 "fstod\t%0, %1")
406
407 ;; SF <- DF
408 (define_insn "*fpuv2_truncdfsf2"
409 [(set (match_operand:SF 0 "register_operand" "=v")
410 (float_truncate:SF (match_operand:DF 1 "register_operand" "v")))]
411 "CSKY_ISA_FEATURE (fpv2_df)"
412 "fdtos\t%0, %1")
413
414 ;; SF <- SI
415 (define_insn "*fpuv2_floatsisf2"
416 [(set (match_operand:SF 0 "register_operand" "=v")
417 (float:SF (match_operand:SI 1 "register_operand" "v")))]
418 "CSKY_ISA_FEATURE (fpv2_sf)"
419 "fsitos\t%0, %1")
420
421 ;; DF <- SI
422 (define_insn "*fpuv2_floatsidf2"
423 [(set (match_operand:DF 0 "register_operand" "=v")
424 (float:DF (match_operand:SI 1 "register_operand" "v")))]
425 "CSKY_ISA_FEATURE (fpv2_df)"
426 "fsitod\t%0, %1")
427
428 ;; SF <- unsigned SI
429 (define_insn "*fpuv2_floatunssisf2"
430 [(set (match_operand:SF 0 "register_operand" "=v")
431 (unsigned_float:SF (match_operand:SI 1 "register_operand" "v")))]
432 "CSKY_ISA_FEATURE (fpv2_sf)"
433 "fuitos\t%0, %1")
434
435 ;; DF <- unsigned SI
436 (define_insn "*fpuv2_floatunssidf2"
437 [(set (match_operand:DF 0 "register_operand" "=v")
438 (unsigned_float:DF (match_operand:SI 1 "register_operand" "v")))]
439 "CSKY_ISA_FEATURE (fpv2_df)"
440 "fuitod\t%0, %1")
441
442 ;; SI <- SF
443 (define_insn "*fpuv2_fix_truncsfsi2"
444 [(set (match_operand:SI 0 "register_operand" "=v")
445 (fix:SI (fix:SF (match_operand:SF 1 "register_operand" "v"))))]
446 "CSKY_ISA_FEATURE (fpv2_sf)"
447 "fstosi.rz\t%0, %1")
448
449 ;; SI <- DF
450 (define_insn "*fpuv2_fix_truncdfsi2"
451 [(set (match_operand:SI 0 "register_operand" "=v")
452 (fix:SI (fix:DF (match_operand:DF 1 "register_operand" "v"))))]
453 "CSKY_ISA_FEATURE (fpv2_df)"
454 "fdtosi.rz\t%0, %1")
455
456 ;; unsigned SI <- SF
457 (define_insn "*fpuv2_fixuns_truncsfsi2"
458 [(set (match_operand:SI 0 "register_operand" "=v")
459 (unsigned_fix:SI (fix:SF (match_operand:SF 1 "register_operand" "v"))))]
460 "CSKY_ISA_FEATURE (fpv2_sf)"
461 "fstoui.rz\t%0, %1")
462
463 ;; unsigned SI <- DF
464 (define_insn "*fpuv2_fixuns_truncdfsi2"
465 [(set (match_operand:SI 0 "register_operand" "=v")
466 (unsigned_fix:SI (fix:DF (match_operand:DF 1 "register_operand" "v"))))]
467 "CSKY_ISA_FEATURE (fpv2_df)"
468 "fdtoui.rz\t%0, %1")
469
470
471 ;; -------------------------------------------------------------------------
472 ;; Float mov instructions
473 ;; -------------------------------------------------------------------------
474
475 (define_insn "*fpuv2_movsf"
476 [(set (match_operand:SF 0 "nonimmediate_operand" "=r,r, r,m,v,r,Q,v,v,v")
477 (match_operand:SF 1 "general_operand" " r,m,mF,r,r,v,v,Q,v,W"))]
478 "CSKY_ISA_FEATURE (fpv2_sf)"
479 "* return csky_output_move(insn, operands, SFmode);"
480 )
481
482 (define_insn "*fpuv2_movdf"
483 [(set (match_operand:DF 0 "nonimmediate_operand" "=r, v,?r,Q,v,v,v,r, r,Y")
484 (match_operand:DF 1 "general_operand" " r,?r, v,v,Q,v,m,Y,YF,r"))]
485 "CSKY_ISA_FEATURE (fpv2_df)"
486 "* return csky_output_movedouble(operands, DFmode);"
487 [(set (attr "length")
488 (symbol_ref "csky_get_movedouble_length (operands)"))]
489 )