blob: 18ebbf05fb74819934b20b8f698843bdfbf9c81d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-rtl-ira" } */
/* { dg-final { scan-rtl-dump "Adding REG_EQUIV to insn \[0-9\]+ for source of insn \[0-9\]+" "ira" } } */
typedef float XFtype __attribute__ ((mode (XF)));
typedef _Complex float XCtype __attribute__ ((mode (XC)));
XCtype
__mulxc3 (XFtype a, XFtype b, XFtype c, XFtype d)
{
XFtype ac, bd, ad, bc, x, y;
ac = a * c;
__asm__ ("": "=m" (ac):"m" (ac));
if (x != x)
{
_Bool recalc = 0;
if (((!(!(((ac) - (ac)) != ((ac) - (ac)))))))
recalc = 1;
if (recalc)
x = __builtin_huge_vall () * (a * c - b * d);
}
return x;
}
|