1 /* { dg-do compile { target { powerpc*-*-* } } } */
2 /* { dg-require-effective-target powerpc_vsx_ok } */
3 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
4 /* { dg-options "-mdejagnu-cpu=power7 -O2" } */
5 
6 /* Test to make sure double values are allocated to the Altivec registers as
7    well as the traditional FPR registers.  */
8 
9 #ifndef TYPE
10 #define TYPE double
11 #endif
12 
13 #ifndef MASK_TYPE
14 #define MASK_TYPE unsigned long long
15 #endif
16 
17 #define MASK_ONE	((MASK_TYPE)1)
18 #define ZERO		((TYPE) 0.0)
19 
20 TYPE
test_add(const MASK_TYPE * add_mask,const TYPE * add_values,const MASK_TYPE * sub_mask,const TYPE * sub_values,const MASK_TYPE * mul_mask,const TYPE * mul_values,const MASK_TYPE * div_mask,const TYPE * div_values,const MASK_TYPE * eq0_mask,int * eq0_ptr)21 test_add (const MASK_TYPE *add_mask, const TYPE *add_values,
22 	  const MASK_TYPE *sub_mask, const TYPE *sub_values,
23 	  const MASK_TYPE *mul_mask, const TYPE *mul_values,
24 	  const MASK_TYPE *div_mask, const TYPE *div_values,
25 	  const MASK_TYPE *eq0_mask, int *eq0_ptr)
26 {
27   TYPE value;
28   TYPE value00	= ZERO;
29   TYPE value01	= ZERO;
30   TYPE value02	= ZERO;
31   TYPE value03	= ZERO;
32   TYPE value04	= ZERO;
33   TYPE value05	= ZERO;
34   TYPE value06	= ZERO;
35   TYPE value07	= ZERO;
36   TYPE value08	= ZERO;
37   TYPE value09	= ZERO;
38   TYPE value10	= ZERO;
39   TYPE value11	= ZERO;
40   TYPE value12	= ZERO;
41   TYPE value13	= ZERO;
42   TYPE value14	= ZERO;
43   TYPE value15	= ZERO;
44   TYPE value16	= ZERO;
45   TYPE value17	= ZERO;
46   TYPE value18	= ZERO;
47   TYPE value19	= ZERO;
48   TYPE value20	= ZERO;
49   TYPE value21	= ZERO;
50   TYPE value22	= ZERO;
51   TYPE value23	= ZERO;
52   TYPE value24	= ZERO;
53   TYPE value25	= ZERO;
54   TYPE value26	= ZERO;
55   TYPE value27	= ZERO;
56   TYPE value28	= ZERO;
57   TYPE value29	= ZERO;
58   TYPE value30	= ZERO;
59   TYPE value31	= ZERO;
60   TYPE value32	= ZERO;
61   TYPE value33	= ZERO;
62   TYPE value34	= ZERO;
63   TYPE value35	= ZERO;
64   TYPE value36	= ZERO;
65   TYPE value37	= ZERO;
66   TYPE value38	= ZERO;
67   TYPE value39	= ZERO;
68   MASK_TYPE mask;
69   int eq0;
70 
71   while ((mask = *add_mask++) != 0)
72     {
73       value = *add_values++;
74 
75       __asm__ (" #reg %0" : "+d" (value));
76 
77       if ((mask & (MASK_ONE <<  0)) != 0)
78 	value00 += value;
79 
80       if ((mask & (MASK_ONE <<  1)) != 0)
81 	value01 += value;
82 
83       if ((mask & (MASK_ONE <<  2)) != 0)
84 	value02 += value;
85 
86       if ((mask & (MASK_ONE <<  3)) != 0)
87 	value03 += value;
88 
89       if ((mask & (MASK_ONE <<  4)) != 0)
90 	value04 += value;
91 
92       if ((mask & (MASK_ONE <<  5)) != 0)
93 	value05 += value;
94 
95       if ((mask & (MASK_ONE <<  6)) != 0)
96 	value06 += value;
97 
98       if ((mask & (MASK_ONE <<  7)) != 0)
99 	value07 += value;
100 
101       if ((mask & (MASK_ONE <<  8)) != 0)
102 	value08 += value;
103 
104       if ((mask & (MASK_ONE <<  9)) != 0)
105 	value09 += value;
106 
107       if ((mask & (MASK_ONE << 10)) != 0)
108 	value10 += value;
109 
110       if ((mask & (MASK_ONE << 11)) != 0)
111 	value11 += value;
112 
113       if ((mask & (MASK_ONE << 12)) != 0)
114 	value12 += value;
115 
116       if ((mask & (MASK_ONE << 13)) != 0)
117 	value13 += value;
118 
119       if ((mask & (MASK_ONE << 14)) != 0)
120 	value14 += value;
121 
122       if ((mask & (MASK_ONE << 15)) != 0)
123 	value15 += value;
124 
125       if ((mask & (MASK_ONE << 16)) != 0)
126 	value16 += value;
127 
128       if ((mask & (MASK_ONE << 17)) != 0)
129 	value17 += value;
130 
131       if ((mask & (MASK_ONE << 18)) != 0)
132 	value18 += value;
133 
134       if ((mask & (MASK_ONE << 19)) != 0)
135 	value19 += value;
136 
137       if ((mask & (MASK_ONE << 20)) != 0)
138 	value20 += value;
139 
140       if ((mask & (MASK_ONE << 21)) != 0)
141 	value21 += value;
142 
143       if ((mask & (MASK_ONE << 22)) != 0)
144 	value22 += value;
145 
146       if ((mask & (MASK_ONE << 23)) != 0)
147 	value23 += value;
148 
149       if ((mask & (MASK_ONE << 24)) != 0)
150 	value24 += value;
151 
152       if ((mask & (MASK_ONE << 25)) != 0)
153 	value25 += value;
154 
155       if ((mask & (MASK_ONE << 26)) != 0)
156 	value26 += value;
157 
158       if ((mask & (MASK_ONE << 27)) != 0)
159 	value27 += value;
160 
161       if ((mask & (MASK_ONE << 28)) != 0)
162 	value28 += value;
163 
164       if ((mask & (MASK_ONE << 29)) != 0)
165 	value29 += value;
166 
167       if ((mask & (MASK_ONE << 30)) != 0)
168 	value30 += value;
169 
170       if ((mask & (MASK_ONE << 31)) != 0)
171 	value31 += value;
172 
173       if ((mask & (MASK_ONE << 32)) != 0)
174 	value32 += value;
175 
176       if ((mask & (MASK_ONE << 33)) != 0)
177 	value33 += value;
178 
179       if ((mask & (MASK_ONE << 34)) != 0)
180 	value34 += value;
181 
182       if ((mask & (MASK_ONE << 35)) != 0)
183 	value35 += value;
184 
185       if ((mask & (MASK_ONE << 36)) != 0)
186 	value36 += value;
187 
188       if ((mask & (MASK_ONE << 37)) != 0)
189 	value37 += value;
190 
191       if ((mask & (MASK_ONE << 38)) != 0)
192 	value38 += value;
193 
194       if ((mask & (MASK_ONE << 39)) != 0)
195 	value39 += value;
196     }
197 
198   while ((mask = *sub_mask++) != 0)
199     {
200       value = *sub_values++;
201 
202       __asm__ (" #reg %0" : "+d" (value));
203 
204       if ((mask & (MASK_ONE <<  0)) != 0)
205 	value00 -= value;
206 
207       if ((mask & (MASK_ONE <<  1)) != 0)
208 	value01 -= value;
209 
210       if ((mask & (MASK_ONE <<  2)) != 0)
211 	value02 -= value;
212 
213       if ((mask & (MASK_ONE <<  3)) != 0)
214 	value03 -= value;
215 
216       if ((mask & (MASK_ONE <<  4)) != 0)
217 	value04 -= value;
218 
219       if ((mask & (MASK_ONE <<  5)) != 0)
220 	value05 -= value;
221 
222       if ((mask & (MASK_ONE <<  6)) != 0)
223 	value06 -= value;
224 
225       if ((mask & (MASK_ONE <<  7)) != 0)
226 	value07 -= value;
227 
228       if ((mask & (MASK_ONE <<  8)) != 0)
229 	value08 -= value;
230 
231       if ((mask & (MASK_ONE <<  9)) != 0)
232 	value09 -= value;
233 
234       if ((mask & (MASK_ONE << 10)) != 0)
235 	value10 -= value;
236 
237       if ((mask & (MASK_ONE << 11)) != 0)
238 	value11 -= value;
239 
240       if ((mask & (MASK_ONE << 12)) != 0)
241 	value12 -= value;
242 
243       if ((mask & (MASK_ONE << 13)) != 0)
244 	value13 -= value;
245 
246       if ((mask & (MASK_ONE << 14)) != 0)
247 	value14 -= value;
248 
249       if ((mask & (MASK_ONE << 15)) != 0)
250 	value15 -= value;
251 
252       if ((mask & (MASK_ONE << 16)) != 0)
253 	value16 -= value;
254 
255       if ((mask & (MASK_ONE << 17)) != 0)
256 	value17 -= value;
257 
258       if ((mask & (MASK_ONE << 18)) != 0)
259 	value18 -= value;
260 
261       if ((mask & (MASK_ONE << 19)) != 0)
262 	value19 -= value;
263 
264       if ((mask & (MASK_ONE << 20)) != 0)
265 	value20 -= value;
266 
267       if ((mask & (MASK_ONE << 21)) != 0)
268 	value21 -= value;
269 
270       if ((mask & (MASK_ONE << 22)) != 0)
271 	value22 -= value;
272 
273       if ((mask & (MASK_ONE << 23)) != 0)
274 	value23 -= value;
275 
276       if ((mask & (MASK_ONE << 24)) != 0)
277 	value24 -= value;
278 
279       if ((mask & (MASK_ONE << 25)) != 0)
280 	value25 -= value;
281 
282       if ((mask & (MASK_ONE << 26)) != 0)
283 	value26 -= value;
284 
285       if ((mask & (MASK_ONE << 27)) != 0)
286 	value27 -= value;
287 
288       if ((mask & (MASK_ONE << 28)) != 0)
289 	value28 -= value;
290 
291       if ((mask & (MASK_ONE << 29)) != 0)
292 	value29 -= value;
293 
294       if ((mask & (MASK_ONE << 30)) != 0)
295 	value30 -= value;
296 
297       if ((mask & (MASK_ONE << 31)) != 0)
298 	value31 -= value;
299 
300       if ((mask & (MASK_ONE << 32)) != 0)
301 	value32 -= value;
302 
303       if ((mask & (MASK_ONE << 33)) != 0)
304 	value33 -= value;
305 
306       if ((mask & (MASK_ONE << 34)) != 0)
307 	value34 -= value;
308 
309       if ((mask & (MASK_ONE << 35)) != 0)
310 	value35 -= value;
311 
312       if ((mask & (MASK_ONE << 36)) != 0)
313 	value36 -= value;
314 
315       if ((mask & (MASK_ONE << 37)) != 0)
316 	value37 -= value;
317 
318       if ((mask & (MASK_ONE << 38)) != 0)
319 	value38 -= value;
320 
321       if ((mask & (MASK_ONE << 39)) != 0)
322 	value39 -= value;
323     }
324 
325   while ((mask = *mul_mask++) != 0)
326     {
327       value = *mul_values++;
328 
329       __asm__ (" #reg %0" : "+d" (value));
330 
331       if ((mask & (MASK_ONE <<  0)) != 0)
332 	value00 *= value;
333 
334       if ((mask & (MASK_ONE <<  1)) != 0)
335 	value01 *= value;
336 
337       if ((mask & (MASK_ONE <<  2)) != 0)
338 	value02 *= value;
339 
340       if ((mask & (MASK_ONE <<  3)) != 0)
341 	value03 *= value;
342 
343       if ((mask & (MASK_ONE <<  4)) != 0)
344 	value04 *= value;
345 
346       if ((mask & (MASK_ONE <<  5)) != 0)
347 	value05 *= value;
348 
349       if ((mask & (MASK_ONE <<  6)) != 0)
350 	value06 *= value;
351 
352       if ((mask & (MASK_ONE <<  7)) != 0)
353 	value07 *= value;
354 
355       if ((mask & (MASK_ONE <<  8)) != 0)
356 	value08 *= value;
357 
358       if ((mask & (MASK_ONE <<  9)) != 0)
359 	value09 *= value;
360 
361       if ((mask & (MASK_ONE << 10)) != 0)
362 	value10 *= value;
363 
364       if ((mask & (MASK_ONE << 11)) != 0)
365 	value11 *= value;
366 
367       if ((mask & (MASK_ONE << 12)) != 0)
368 	value12 *= value;
369 
370       if ((mask & (MASK_ONE << 13)) != 0)
371 	value13 *= value;
372 
373       if ((mask & (MASK_ONE << 14)) != 0)
374 	value14 *= value;
375 
376       if ((mask & (MASK_ONE << 15)) != 0)
377 	value15 *= value;
378 
379       if ((mask & (MASK_ONE << 16)) != 0)
380 	value16 *= value;
381 
382       if ((mask & (MASK_ONE << 17)) != 0)
383 	value17 *= value;
384 
385       if ((mask & (MASK_ONE << 18)) != 0)
386 	value18 *= value;
387 
388       if ((mask & (MASK_ONE << 19)) != 0)
389 	value19 *= value;
390 
391       if ((mask & (MASK_ONE << 20)) != 0)
392 	value20 *= value;
393 
394       if ((mask & (MASK_ONE << 21)) != 0)
395 	value21 *= value;
396 
397       if ((mask & (MASK_ONE << 22)) != 0)
398 	value22 *= value;
399 
400       if ((mask & (MASK_ONE << 23)) != 0)
401 	value23 *= value;
402 
403       if ((mask & (MASK_ONE << 24)) != 0)
404 	value24 *= value;
405 
406       if ((mask & (MASK_ONE << 25)) != 0)
407 	value25 *= value;
408 
409       if ((mask & (MASK_ONE << 26)) != 0)
410 	value26 *= value;
411 
412       if ((mask & (MASK_ONE << 27)) != 0)
413 	value27 *= value;
414 
415       if ((mask & (MASK_ONE << 28)) != 0)
416 	value28 *= value;
417 
418       if ((mask & (MASK_ONE << 29)) != 0)
419 	value29 *= value;
420 
421       if ((mask & (MASK_ONE << 30)) != 0)
422 	value30 *= value;
423 
424       if ((mask & (MASK_ONE << 31)) != 0)
425 	value31 *= value;
426 
427       if ((mask & (MASK_ONE << 32)) != 0)
428 	value32 *= value;
429 
430       if ((mask & (MASK_ONE << 33)) != 0)
431 	value33 *= value;
432 
433       if ((mask & (MASK_ONE << 34)) != 0)
434 	value34 *= value;
435 
436       if ((mask & (MASK_ONE << 35)) != 0)
437 	value35 *= value;
438 
439       if ((mask & (MASK_ONE << 36)) != 0)
440 	value36 *= value;
441 
442       if ((mask & (MASK_ONE << 37)) != 0)
443 	value37 *= value;
444 
445       if ((mask & (MASK_ONE << 38)) != 0)
446 	value38 *= value;
447 
448       if ((mask & (MASK_ONE << 39)) != 0)
449 	value39 *= value;
450     }
451 
452   while ((mask = *div_mask++) != 0)
453     {
454       value = *div_values++;
455 
456       __asm__ (" #reg %0" : "+d" (value));
457 
458       if ((mask & (MASK_ONE <<  0)) != 0)
459 	value00 /= value;
460 
461       if ((mask & (MASK_ONE <<  1)) != 0)
462 	value01 /= value;
463 
464       if ((mask & (MASK_ONE <<  2)) != 0)
465 	value02 /= value;
466 
467       if ((mask & (MASK_ONE <<  3)) != 0)
468 	value03 /= value;
469 
470       if ((mask & (MASK_ONE <<  4)) != 0)
471 	value04 /= value;
472 
473       if ((mask & (MASK_ONE <<  5)) != 0)
474 	value05 /= value;
475 
476       if ((mask & (MASK_ONE <<  6)) != 0)
477 	value06 /= value;
478 
479       if ((mask & (MASK_ONE <<  7)) != 0)
480 	value07 /= value;
481 
482       if ((mask & (MASK_ONE <<  8)) != 0)
483 	value08 /= value;
484 
485       if ((mask & (MASK_ONE <<  9)) != 0)
486 	value09 /= value;
487 
488       if ((mask & (MASK_ONE << 10)) != 0)
489 	value10 /= value;
490 
491       if ((mask & (MASK_ONE << 11)) != 0)
492 	value11 /= value;
493 
494       if ((mask & (MASK_ONE << 12)) != 0)
495 	value12 /= value;
496 
497       if ((mask & (MASK_ONE << 13)) != 0)
498 	value13 /= value;
499 
500       if ((mask & (MASK_ONE << 14)) != 0)
501 	value14 /= value;
502 
503       if ((mask & (MASK_ONE << 15)) != 0)
504 	value15 /= value;
505 
506       if ((mask & (MASK_ONE << 16)) != 0)
507 	value16 /= value;
508 
509       if ((mask & (MASK_ONE << 17)) != 0)
510 	value17 /= value;
511 
512       if ((mask & (MASK_ONE << 18)) != 0)
513 	value18 /= value;
514 
515       if ((mask & (MASK_ONE << 19)) != 0)
516 	value19 /= value;
517 
518       if ((mask & (MASK_ONE << 20)) != 0)
519 	value20 /= value;
520 
521       if ((mask & (MASK_ONE << 21)) != 0)
522 	value21 /= value;
523 
524       if ((mask & (MASK_ONE << 22)) != 0)
525 	value22 /= value;
526 
527       if ((mask & (MASK_ONE << 23)) != 0)
528 	value23 /= value;
529 
530       if ((mask & (MASK_ONE << 24)) != 0)
531 	value24 /= value;
532 
533       if ((mask & (MASK_ONE << 25)) != 0)
534 	value25 /= value;
535 
536       if ((mask & (MASK_ONE << 26)) != 0)
537 	value26 /= value;
538 
539       if ((mask & (MASK_ONE << 27)) != 0)
540 	value27 /= value;
541 
542       if ((mask & (MASK_ONE << 28)) != 0)
543 	value28 /= value;
544 
545       if ((mask & (MASK_ONE << 29)) != 0)
546 	value29 /= value;
547 
548       if ((mask & (MASK_ONE << 30)) != 0)
549 	value30 /= value;
550 
551       if ((mask & (MASK_ONE << 31)) != 0)
552 	value31 /= value;
553 
554       if ((mask & (MASK_ONE << 32)) != 0)
555 	value32 /= value;
556 
557       if ((mask & (MASK_ONE << 33)) != 0)
558 	value33 /= value;
559 
560       if ((mask & (MASK_ONE << 34)) != 0)
561 	value34 /= value;
562 
563       if ((mask & (MASK_ONE << 35)) != 0)
564 	value35 /= value;
565 
566       if ((mask & (MASK_ONE << 36)) != 0)
567 	value36 /= value;
568 
569       if ((mask & (MASK_ONE << 37)) != 0)
570 	value37 /= value;
571 
572       if ((mask & (MASK_ONE << 38)) != 0)
573 	value38 /= value;
574 
575       if ((mask & (MASK_ONE << 39)) != 0)
576 	value39 /= value;
577     }
578 
579   while ((mask = *eq0_mask++) != 0)
580     {
581       eq0 = 0;
582 
583       if ((mask & (MASK_ONE <<  0)) != 0)
584 	eq0 |= (value00 == ZERO);
585 
586       if ((mask & (MASK_ONE <<  1)) != 0)
587 	eq0 |= (value01 == ZERO);
588 
589       if ((mask & (MASK_ONE <<  2)) != 0)
590 	eq0 |= (value02 == ZERO);
591 
592       if ((mask & (MASK_ONE <<  3)) != 0)
593 	eq0 |= (value03 == ZERO);
594 
595       if ((mask & (MASK_ONE <<  4)) != 0)
596 	eq0 |= (value04 == ZERO);
597 
598       if ((mask & (MASK_ONE <<  5)) != 0)
599 	eq0 |= (value05 == ZERO);
600 
601       if ((mask & (MASK_ONE <<  6)) != 0)
602 	eq0 |= (value06 == ZERO);
603 
604       if ((mask & (MASK_ONE <<  7)) != 0)
605 	eq0 |= (value07 == ZERO);
606 
607       if ((mask & (MASK_ONE <<  8)) != 0)
608 	eq0 |= (value08 == ZERO);
609 
610       if ((mask & (MASK_ONE <<  9)) != 0)
611 	eq0 |= (value09 == ZERO);
612 
613       if ((mask & (MASK_ONE << 10)) != 0)
614 	eq0 |= (value10 == ZERO);
615 
616       if ((mask & (MASK_ONE << 11)) != 0)
617 	eq0 |= (value11 == ZERO);
618 
619       if ((mask & (MASK_ONE << 12)) != 0)
620 	eq0 |= (value12 == ZERO);
621 
622       if ((mask & (MASK_ONE << 13)) != 0)
623 	eq0 |= (value13 == ZERO);
624 
625       if ((mask & (MASK_ONE << 14)) != 0)
626 	eq0 |= (value14 == ZERO);
627 
628       if ((mask & (MASK_ONE << 15)) != 0)
629 	eq0 |= (value15 == ZERO);
630 
631       if ((mask & (MASK_ONE << 16)) != 0)
632 	eq0 |= (value16 == ZERO);
633 
634       if ((mask & (MASK_ONE << 17)) != 0)
635 	eq0 |= (value17 == ZERO);
636 
637       if ((mask & (MASK_ONE << 18)) != 0)
638 	eq0 |= (value18 == ZERO);
639 
640       if ((mask & (MASK_ONE << 19)) != 0)
641 	eq0 |= (value19 == ZERO);
642 
643       if ((mask & (MASK_ONE << 20)) != 0)
644 	eq0 |= (value20 == ZERO);
645 
646       if ((mask & (MASK_ONE << 21)) != 0)
647 	eq0 |= (value21 == ZERO);
648 
649       if ((mask & (MASK_ONE << 22)) != 0)
650 	eq0 |= (value22 == ZERO);
651 
652       if ((mask & (MASK_ONE << 23)) != 0)
653 	eq0 |= (value23 == ZERO);
654 
655       if ((mask & (MASK_ONE << 24)) != 0)
656 	eq0 |= (value24 == ZERO);
657 
658       if ((mask & (MASK_ONE << 25)) != 0)
659 	eq0 |= (value25 == ZERO);
660 
661       if ((mask & (MASK_ONE << 26)) != 0)
662 	eq0 |= (value26 == ZERO);
663 
664       if ((mask & (MASK_ONE << 27)) != 0)
665 	eq0 |= (value27 == ZERO);
666 
667       if ((mask & (MASK_ONE << 28)) != 0)
668 	eq0 |= (value28 == ZERO);
669 
670       if ((mask & (MASK_ONE << 29)) != 0)
671 	eq0 |= (value29 == ZERO);
672 
673       if ((mask & (MASK_ONE << 30)) != 0)
674 	eq0 |= (value30 == ZERO);
675 
676       if ((mask & (MASK_ONE << 31)) != 0)
677 	eq0 |= (value31 == ZERO);
678 
679       if ((mask & (MASK_ONE << 32)) != 0)
680 	eq0 |= (value32 == ZERO);
681 
682       if ((mask & (MASK_ONE << 33)) != 0)
683 	eq0 |= (value33 == ZERO);
684 
685       if ((mask & (MASK_ONE << 34)) != 0)
686 	eq0 |= (value34 == ZERO);
687 
688       if ((mask & (MASK_ONE << 35)) != 0)
689 	eq0 |= (value35 == ZERO);
690 
691       if ((mask & (MASK_ONE << 36)) != 0)
692 	eq0 |= (value36 == ZERO);
693 
694       if ((mask & (MASK_ONE << 37)) != 0)
695 	eq0 |= (value37 == ZERO);
696 
697       if ((mask & (MASK_ONE << 38)) != 0)
698 	eq0 |= (value38 == ZERO);
699 
700       if ((mask & (MASK_ONE << 39)) != 0)
701 	eq0 |= (value39 == ZERO);
702 
703       *eq0_ptr++ = eq0;
704     }
705 
706   return (  value00 + value01 + value02 + value03 + value04
707 	  + value05 + value06 + value07 + value08 + value09
708 	  + value10 + value11 + value12 + value13 + value14
709 	  + value15 + value16 + value17 + value18 + value19
710 	  + value20 + value21 + value22 + value23 + value24
711 	  + value25 + value26 + value27 + value28 + value29
712 	  + value30 + value31 + value32 + value33 + value34
713 	  + value35 + value36 + value37 + value38 + value39);
714 }
715 
716 /* { dg-final { scan-assembler "fadd"     } } */
717 /* { dg-final { scan-assembler "fsub"     } } */
718 /* { dg-final { scan-assembler "fmul"     } } */
719 /* { dg-final { scan-assembler "fdiv"     } } */
720 /* { dg-final { scan-assembler "fcmpu"    } } */
721 /* { dg-final { scan-assembler "xsadddp"  } } */
722 /* { dg-final { scan-assembler "xssubdp"  } } */
723 /* { dg-final { scan-assembler "xsmuldp"  } } */
724 /* { dg-final { scan-assembler "xsdivdp"  } } */
725 /* { dg-final { scan-assembler "xscmpudp" } } */
726