1 /* { dg-do compile } */ 2 /* { dg-options "-O -fno-tree-forwprop -fno-tree-ccp -fdump-tree-fre1-details" } */ 3 4 _Complex float m; 5 6 void foo(_Complex float x)7foo (_Complex float x) 8 { 9 float r = __real x; 10 float i = __imag x; 11 _Complex float z; 12 __real z = r; 13 __imag z = i; 14 m = z; 15 } 16 17 void bar(_Complex float x)18bar (_Complex float x) 19 { 20 float r = __real x; 21 float i = __imag x; 22 _Complex float z = x; 23 __real z = r; 24 __imag z = i; 25 m = z; 26 } 27 28 /* We should CSE all the way to replace the stored value with x. */ 29 /* { dg-final { scan-tree-dump-times "m = x_\\d\+\\(D\\);" 2 "fre1" } } */ 30