Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-8.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* { dg-do compile } */ | |
2 /* { dg-options "-O -fno-tree-sra -fdump-tree-fre1-details" } */ | |
3 #if (__SIZEOF_INT__ == __SIZEOF_FLOAT__) | |
4 typedef int intflt; | |
5 #elif (__SIZEOF_LONG__ == __SIZEOF_FLOAT__) | |
6 typedef long intflt; | |
7 #else | |
8 #error Add target support here for type that will union float size | |
9 #endif | |
10 union U { | |
11 intflt i; | |
12 float f; | |
13 }; | |
14 intflt foo(int i, int b) | |
15 { | |
16 union U u; | |
17 if (b) | |
18 { | |
19 i = i << 2; | |
20 u.i = i; | |
21 return u.f; | |
22 } | |
23 else | |
24 { | |
25 i = i << 2; | |
26 u.i = i; | |
27 return u.f; | |
28 } | |
29 } | |
30 | |
31 /* { dg-final { scan-tree-dump-times "Replaced u.f with" 2 "fre1" } } */ | |
32 /* { dg-final { scan-tree-dump-times "Inserted" 2 "fre1" } } */ |