1 /* PR tree-optimization/55921 */
2 /* { dg-skip-if "Not enough registers" { "pdp11-*-*" } } */
3 /* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */
4 
5 typedef union
6 {
7   _Complex float cf;
8   long long ll;
9 } ucf;
10 
11 void
foo(ucf * in,ucf * out,_Complex float r)12 foo (ucf *in, ucf *out, _Complex float r)
13 {
14   int i;
15   ucf ucf1;
16   _Complex float cf;
17 
18   ucf1.ll = in[i].ll;
19   __asm ("" : "=r" (cf) : "r" (ucf1.ll));
20   cf *= r;
21   __asm ("" : "=r" (ucf1.ll) : "r" (cf));
22   out[i].ll = ucf1.ll;
23 }
24