1 /* PR tree-optimization/113024 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -fdump-tree-forwprop1" } */
4 /* Make sure we have just a single cast per function rather than 2 casts in some cases. */
5 /* { dg-final { scan-tree-dump-times " = \\\(\[a-z \]*\\\) \[xy_\]" 16 "forwprop1" { target { ilp32 || lp64 } } } } */
7 unsigned int f1 (signed char x
) { unsigned long long y
= x
; return y
; }
8 unsigned int f2 (unsigned char x
) { unsigned long long y
= x
; return y
; }
9 unsigned int f3 (signed char x
) { long long y
= x
; return y
; }
10 unsigned int f4 (unsigned char x
) { long long y
= x
; return y
; }
11 int f5 (signed char x
) { unsigned long long y
= x
; return y
; }
12 int f6 (unsigned char x
) { unsigned long long y
= x
; return y
; }
13 int f7 (signed char x
) { long long y
= x
; return y
; }
14 int f8 (unsigned char x
) { long long y
= x
; return y
; }
15 unsigned int f9 (signed char x
) { return (unsigned long long) x
; }
16 unsigned int f10 (unsigned char x
) { return (unsigned long long) x
; }
17 unsigned int f11 (signed char x
) { return (long long) x
; }
18 unsigned int f12 (unsigned char x
) { return (long long) x
; }
19 int f13 (signed char x
) { return (unsigned long long) x
; }
20 int f14 (unsigned char x
) { return (unsigned long long) x
; }
21 int f15 (signed char x
) { return (long long) x
; }
22 int f16 (unsigned char x
) { return (long long) x
; }