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)12foo (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