11f5207b7SJohn Levon typedef unsigned int uint;
21f5207b7SJohn Levon typedef unsigned long ulong;
31f5207b7SJohn Levon 
uint_2_int(void)41f5207b7SJohn Levon static int uint_2_int(void) { return (int)123U; }
long_2_int(void)51f5207b7SJohn Levon static int long_2_int(void) { return (int)123L; }
ulong_2_int(void)61f5207b7SJohn Levon static int ulong_2_int(void) { return (int)123UL; }
vptr_2_int(void)71f5207b7SJohn Levon static int vptr_2_int(void) { return (int)((void*)123); }
iptr_2_int(void)81f5207b7SJohn Levon static int iptr_2_int(void) { return (int)((int*)128); }
float_2_int(void)91f5207b7SJohn Levon static int float_2_int(void) { return (int)1.123F; }
double_2_int(void)101f5207b7SJohn Levon static int double_2_int(void) { return (int)1.123L; }
int_2_uint(void)111f5207b7SJohn Levon static uint int_2_uint(void) { return (uint)123; }
long_2_uint(void)121f5207b7SJohn Levon static uint long_2_uint(void) { return (uint)123L; }
ulong_2_uint(void)131f5207b7SJohn Levon static uint ulong_2_uint(void) { return (uint)123UL; }
vptr_2_uint(void)141f5207b7SJohn Levon static uint vptr_2_uint(void) { return (uint)((void*)123); }
iptr_2_uint(void)151f5207b7SJohn Levon static uint iptr_2_uint(void) { return (uint)((int*)128); }
float_2_uint(void)161f5207b7SJohn Levon static uint float_2_uint(void) { return (uint)1.123F; }
double_2_uint(void)171f5207b7SJohn Levon static uint double_2_uint(void) { return (uint)1.123L; }
int_2_long(void)181f5207b7SJohn Levon static long int_2_long(void) { return (long)123; }
uint_2_long(void)191f5207b7SJohn Levon static long uint_2_long(void) { return (long)123U; }
ulong_2_long(void)201f5207b7SJohn Levon static long ulong_2_long(void) { return (long)123UL; }
vptr_2_long(void)211f5207b7SJohn Levon static long vptr_2_long(void) { return (long)((void*)123); }
iptr_2_long(void)221f5207b7SJohn Levon static long iptr_2_long(void) { return (long)((int*)128); }
float_2_long(void)231f5207b7SJohn Levon static long float_2_long(void) { return (long)1.123F; }
double_2_long(void)241f5207b7SJohn Levon static long double_2_long(void) { return (long)1.123L; }
int_2_ulong(void)251f5207b7SJohn Levon static ulong int_2_ulong(void) { return (ulong)123; }
uint_2_ulong(void)261f5207b7SJohn Levon static ulong uint_2_ulong(void) { return (ulong)123U; }
long_2_ulong(void)271f5207b7SJohn Levon static ulong long_2_ulong(void) { return (ulong)123L; }
vptr_2_ulong(void)281f5207b7SJohn Levon static ulong vptr_2_ulong(void) { return (ulong)((void*)123); }
iptr_2_ulong(void)291f5207b7SJohn Levon static ulong iptr_2_ulong(void) { return (ulong)((int*)128); }
float_2_ulong(void)301f5207b7SJohn Levon static ulong float_2_ulong(void) { return (ulong)1.123F; }
double_2_ulong(void)311f5207b7SJohn Levon static ulong double_2_ulong(void) { return (ulong)1.123L; }
int_2_vptr(void)321f5207b7SJohn Levon static void * int_2_vptr(void) { return (void *)123; }
uint_2_vptr(void)331f5207b7SJohn Levon static void * uint_2_vptr(void) { return (void *)123U; }
long_2_vptr(void)341f5207b7SJohn Levon static void * long_2_vptr(void) { return (void *)123L; }
ulong_2_vptr(void)351f5207b7SJohn Levon static void * ulong_2_vptr(void) { return (void *)123UL; }
iptr_2_vptr(void)361f5207b7SJohn Levon static void * iptr_2_vptr(void) { return (void *)((int*)128); }
int_2_iptr(void)371f5207b7SJohn Levon static int * int_2_iptr(void) { return (int *)123; }
uint_2_iptr(void)381f5207b7SJohn Levon static int * uint_2_iptr(void) { return (int *)123U; }
long_2_iptr(void)391f5207b7SJohn Levon static int * long_2_iptr(void) { return (int *)123L; }
ulong_2_iptr(void)401f5207b7SJohn Levon static int * ulong_2_iptr(void) { return (int *)123UL; }
vptr_2_iptr(void)411f5207b7SJohn Levon static int * vptr_2_iptr(void) { return (int *)((void*)123); }
int_2_float(void)421f5207b7SJohn Levon static float int_2_float(void) { return (float)123; }
uint_2_float(void)431f5207b7SJohn Levon static float uint_2_float(void) { return (float)123U; }
long_2_float(void)441f5207b7SJohn Levon static float long_2_float(void) { return (float)123L; }
ulong_2_float(void)451f5207b7SJohn Levon static float ulong_2_float(void) { return (float)123UL; }
double_2_float(void)461f5207b7SJohn Levon static float double_2_float(void) { return (float)1.123L; }
int_2_double(void)471f5207b7SJohn Levon static double int_2_double(void) { return (double)123; }
uint_2_double(void)481f5207b7SJohn Levon static double uint_2_double(void) { return (double)123U; }
long_2_double(void)491f5207b7SJohn Levon static double long_2_double(void) { return (double)123L; }
ulong_2_double(void)501f5207b7SJohn Levon static double ulong_2_double(void) { return (double)123UL; }
float_2_double(void)511f5207b7SJohn Levon static double float_2_double(void) { return (double)1.123F; }
521f5207b7SJohn Levon 
531f5207b7SJohn Levon /*
541f5207b7SJohn Levon  * check-name: cast-constants.c
551f5207b7SJohn Levon  * check-command: test-linearize -m64 $file
56*c85f09ccSJohn Levon  * check-assert: sizeof(void *) == 8 && sizeof(long) == 8 && sizeof(double) == 8
571f5207b7SJohn Levon  *
581f5207b7SJohn Levon  * check-output-start
591f5207b7SJohn Levon uint_2_int:
601f5207b7SJohn Levon .L0:
611f5207b7SJohn Levon 	<entry-point>
621f5207b7SJohn Levon 	ret.32      $123
631f5207b7SJohn Levon 
641f5207b7SJohn Levon 
651f5207b7SJohn Levon long_2_int:
661f5207b7SJohn Levon .L2:
671f5207b7SJohn Levon 	<entry-point>
681f5207b7SJohn Levon 	ret.32      $123
691f5207b7SJohn Levon 
701f5207b7SJohn Levon 
711f5207b7SJohn Levon ulong_2_int:
721f5207b7SJohn Levon .L4:
731f5207b7SJohn Levon 	<entry-point>
741f5207b7SJohn Levon 	ret.32      $123
751f5207b7SJohn Levon 
761f5207b7SJohn Levon 
771f5207b7SJohn Levon vptr_2_int:
781f5207b7SJohn Levon .L6:
791f5207b7SJohn Levon 	<entry-point>
801f5207b7SJohn Levon 	ret.32      $123
811f5207b7SJohn Levon 
821f5207b7SJohn Levon 
831f5207b7SJohn Levon iptr_2_int:
841f5207b7SJohn Levon .L8:
851f5207b7SJohn Levon 	<entry-point>
861f5207b7SJohn Levon 	ret.32      $128
871f5207b7SJohn Levon 
881f5207b7SJohn Levon 
891f5207b7SJohn Levon float_2_int:
901f5207b7SJohn Levon .L10:
911f5207b7SJohn Levon 	<entry-point>
921f5207b7SJohn Levon 	ret.32      $1
931f5207b7SJohn Levon 
941f5207b7SJohn Levon 
951f5207b7SJohn Levon double_2_int:
961f5207b7SJohn Levon .L12:
971f5207b7SJohn Levon 	<entry-point>
981f5207b7SJohn Levon 	ret.32      $1
991f5207b7SJohn Levon 
1001f5207b7SJohn Levon 
1011f5207b7SJohn Levon int_2_uint:
1021f5207b7SJohn Levon .L14:
1031f5207b7SJohn Levon 	<entry-point>
1041f5207b7SJohn Levon 	ret.32      $123
1051f5207b7SJohn Levon 
1061f5207b7SJohn Levon 
1071f5207b7SJohn Levon long_2_uint:
1081f5207b7SJohn Levon .L16:
1091f5207b7SJohn Levon 	<entry-point>
1101f5207b7SJohn Levon 	ret.32      $123
1111f5207b7SJohn Levon 
1121f5207b7SJohn Levon 
1131f5207b7SJohn Levon ulong_2_uint:
1141f5207b7SJohn Levon .L18:
1151f5207b7SJohn Levon 	<entry-point>
1161f5207b7SJohn Levon 	ret.32      $123
1171f5207b7SJohn Levon 
1181f5207b7SJohn Levon 
1191f5207b7SJohn Levon vptr_2_uint:
1201f5207b7SJohn Levon .L20:
1211f5207b7SJohn Levon 	<entry-point>
1221f5207b7SJohn Levon 	ret.32      $123
1231f5207b7SJohn Levon 
1241f5207b7SJohn Levon 
1251f5207b7SJohn Levon iptr_2_uint:
1261f5207b7SJohn Levon .L22:
1271f5207b7SJohn Levon 	<entry-point>
1281f5207b7SJohn Levon 	ret.32      $128
1291f5207b7SJohn Levon 
1301f5207b7SJohn Levon 
1311f5207b7SJohn Levon float_2_uint:
1321f5207b7SJohn Levon .L24:
1331f5207b7SJohn Levon 	<entry-point>
1341f5207b7SJohn Levon 	ret.32      $1
1351f5207b7SJohn Levon 
1361f5207b7SJohn Levon 
1371f5207b7SJohn Levon double_2_uint:
1381f5207b7SJohn Levon .L26:
1391f5207b7SJohn Levon 	<entry-point>
1401f5207b7SJohn Levon 	ret.32      $1
1411f5207b7SJohn Levon 
1421f5207b7SJohn Levon 
1431f5207b7SJohn Levon int_2_long:
1441f5207b7SJohn Levon .L28:
1451f5207b7SJohn Levon 	<entry-point>
1461f5207b7SJohn Levon 	ret.64      $123
1471f5207b7SJohn Levon 
1481f5207b7SJohn Levon 
1491f5207b7SJohn Levon uint_2_long:
1501f5207b7SJohn Levon .L30:
1511f5207b7SJohn Levon 	<entry-point>
1521f5207b7SJohn Levon 	ret.64      $123
1531f5207b7SJohn Levon 
1541f5207b7SJohn Levon 
1551f5207b7SJohn Levon ulong_2_long:
1561f5207b7SJohn Levon .L32:
1571f5207b7SJohn Levon 	<entry-point>
1581f5207b7SJohn Levon 	ret.64      $123
1591f5207b7SJohn Levon 
1601f5207b7SJohn Levon 
1611f5207b7SJohn Levon vptr_2_long:
1621f5207b7SJohn Levon .L34:
1631f5207b7SJohn Levon 	<entry-point>
1641f5207b7SJohn Levon 	ret.64      $123
1651f5207b7SJohn Levon 
1661f5207b7SJohn Levon 
1671f5207b7SJohn Levon iptr_2_long:
1681f5207b7SJohn Levon .L36:
1691f5207b7SJohn Levon 	<entry-point>
1701f5207b7SJohn Levon 	ret.64      $128
1711f5207b7SJohn Levon 
1721f5207b7SJohn Levon 
1731f5207b7SJohn Levon float_2_long:
1741f5207b7SJohn Levon .L38:
1751f5207b7SJohn Levon 	<entry-point>
1761f5207b7SJohn Levon 	ret.64      $1
1771f5207b7SJohn Levon 
1781f5207b7SJohn Levon 
1791f5207b7SJohn Levon double_2_long:
1801f5207b7SJohn Levon .L40:
1811f5207b7SJohn Levon 	<entry-point>
1821f5207b7SJohn Levon 	ret.64      $1
1831f5207b7SJohn Levon 
1841f5207b7SJohn Levon 
1851f5207b7SJohn Levon int_2_ulong:
1861f5207b7SJohn Levon .L42:
1871f5207b7SJohn Levon 	<entry-point>
1881f5207b7SJohn Levon 	ret.64      $123
1891f5207b7SJohn Levon 
1901f5207b7SJohn Levon 
1911f5207b7SJohn Levon uint_2_ulong:
1921f5207b7SJohn Levon .L44:
1931f5207b7SJohn Levon 	<entry-point>
1941f5207b7SJohn Levon 	ret.64      $123
1951f5207b7SJohn Levon 
1961f5207b7SJohn Levon 
1971f5207b7SJohn Levon long_2_ulong:
1981f5207b7SJohn Levon .L46:
1991f5207b7SJohn Levon 	<entry-point>
2001f5207b7SJohn Levon 	ret.64      $123
2011f5207b7SJohn Levon 
2021f5207b7SJohn Levon 
2031f5207b7SJohn Levon vptr_2_ulong:
2041f5207b7SJohn Levon .L48:
2051f5207b7SJohn Levon 	<entry-point>
2061f5207b7SJohn Levon 	ret.64      $123
2071f5207b7SJohn Levon 
2081f5207b7SJohn Levon 
2091f5207b7SJohn Levon iptr_2_ulong:
2101f5207b7SJohn Levon .L50:
2111f5207b7SJohn Levon 	<entry-point>
2121f5207b7SJohn Levon 	ret.64      $128
2131f5207b7SJohn Levon 
2141f5207b7SJohn Levon 
2151f5207b7SJohn Levon float_2_ulong:
2161f5207b7SJohn Levon .L52:
2171f5207b7SJohn Levon 	<entry-point>
2181f5207b7SJohn Levon 	ret.64      $1
2191f5207b7SJohn Levon 
2201f5207b7SJohn Levon 
2211f5207b7SJohn Levon double_2_ulong:
2221f5207b7SJohn Levon .L54:
2231f5207b7SJohn Levon 	<entry-point>
2241f5207b7SJohn Levon 	ret.64      $1
2251f5207b7SJohn Levon 
2261f5207b7SJohn Levon 
2271f5207b7SJohn Levon int_2_vptr:
2281f5207b7SJohn Levon .L56:
2291f5207b7SJohn Levon 	<entry-point>
2301f5207b7SJohn Levon 	ret.64      $123
2311f5207b7SJohn Levon 
2321f5207b7SJohn Levon 
2331f5207b7SJohn Levon uint_2_vptr:
2341f5207b7SJohn Levon .L58:
2351f5207b7SJohn Levon 	<entry-point>
2361f5207b7SJohn Levon 	ret.64      $123
2371f5207b7SJohn Levon 
2381f5207b7SJohn Levon 
2391f5207b7SJohn Levon long_2_vptr:
2401f5207b7SJohn Levon .L60:
2411f5207b7SJohn Levon 	<entry-point>
2421f5207b7SJohn Levon 	ret.64      $123
2431f5207b7SJohn Levon 
2441f5207b7SJohn Levon 
2451f5207b7SJohn Levon ulong_2_vptr:
2461f5207b7SJohn Levon .L62:
2471f5207b7SJohn Levon 	<entry-point>
2481f5207b7SJohn Levon 	ret.64      $123
2491f5207b7SJohn Levon 
2501f5207b7SJohn Levon 
2511f5207b7SJohn Levon iptr_2_vptr:
2521f5207b7SJohn Levon .L64:
2531f5207b7SJohn Levon 	<entry-point>
2541f5207b7SJohn Levon 	ret.64      $128
2551f5207b7SJohn Levon 
2561f5207b7SJohn Levon 
2571f5207b7SJohn Levon int_2_iptr:
2581f5207b7SJohn Levon .L66:
2591f5207b7SJohn Levon 	<entry-point>
2601f5207b7SJohn Levon 	ret.64      $123
2611f5207b7SJohn Levon 
2621f5207b7SJohn Levon 
2631f5207b7SJohn Levon uint_2_iptr:
2641f5207b7SJohn Levon .L68:
2651f5207b7SJohn Levon 	<entry-point>
2661f5207b7SJohn Levon 	ret.64      $123
2671f5207b7SJohn Levon 
2681f5207b7SJohn Levon 
2691f5207b7SJohn Levon long_2_iptr:
2701f5207b7SJohn Levon .L70:
2711f5207b7SJohn Levon 	<entry-point>
2721f5207b7SJohn Levon 	ret.64      $123
2731f5207b7SJohn Levon 
2741f5207b7SJohn Levon 
2751f5207b7SJohn Levon ulong_2_iptr:
2761f5207b7SJohn Levon .L72:
2771f5207b7SJohn Levon 	<entry-point>
2781f5207b7SJohn Levon 	ret.64      $123
2791f5207b7SJohn Levon 
2801f5207b7SJohn Levon 
2811f5207b7SJohn Levon vptr_2_iptr:
2821f5207b7SJohn Levon .L74:
2831f5207b7SJohn Levon 	<entry-point>
2841f5207b7SJohn Levon 	ret.64      $123
2851f5207b7SJohn Levon 
2861f5207b7SJohn Levon 
2871f5207b7SJohn Levon int_2_float:
2881f5207b7SJohn Levon .L76:
2891f5207b7SJohn Levon 	<entry-point>
290*c85f09ccSJohn Levon 	setfval.32  %r39 <- 1.230000e+02
2911f5207b7SJohn Levon 	ret.32      %r39
2921f5207b7SJohn Levon 
2931f5207b7SJohn Levon 
2941f5207b7SJohn Levon uint_2_float:
2951f5207b7SJohn Levon .L78:
2961f5207b7SJohn Levon 	<entry-point>
297*c85f09ccSJohn Levon 	setfval.32  %r41 <- 1.230000e+02
2981f5207b7SJohn Levon 	ret.32      %r41
2991f5207b7SJohn Levon 
3001f5207b7SJohn Levon 
3011f5207b7SJohn Levon long_2_float:
3021f5207b7SJohn Levon .L80:
3031f5207b7SJohn Levon 	<entry-point>
304*c85f09ccSJohn Levon 	setfval.32  %r43 <- 1.230000e+02
3051f5207b7SJohn Levon 	ret.32      %r43
3061f5207b7SJohn Levon 
3071f5207b7SJohn Levon 
3081f5207b7SJohn Levon ulong_2_float:
3091f5207b7SJohn Levon .L82:
3101f5207b7SJohn Levon 	<entry-point>
311*c85f09ccSJohn Levon 	setfval.32  %r45 <- 1.230000e+02
3121f5207b7SJohn Levon 	ret.32      %r45
3131f5207b7SJohn Levon 
3141f5207b7SJohn Levon 
3151f5207b7SJohn Levon double_2_float:
3161f5207b7SJohn Levon .L84:
3171f5207b7SJohn Levon 	<entry-point>
318*c85f09ccSJohn Levon 	setfval.32  %r47 <- 1.123000e+00
3191f5207b7SJohn Levon 	ret.32      %r47
3201f5207b7SJohn Levon 
3211f5207b7SJohn Levon 
3221f5207b7SJohn Levon int_2_double:
3231f5207b7SJohn Levon .L86:
3241f5207b7SJohn Levon 	<entry-point>
325*c85f09ccSJohn Levon 	setfval.64  %r49 <- 1.230000e+02
3261f5207b7SJohn Levon 	ret.64      %r49
3271f5207b7SJohn Levon 
3281f5207b7SJohn Levon 
3291f5207b7SJohn Levon uint_2_double:
3301f5207b7SJohn Levon .L88:
3311f5207b7SJohn Levon 	<entry-point>
332*c85f09ccSJohn Levon 	setfval.64  %r51 <- 1.230000e+02
3331f5207b7SJohn Levon 	ret.64      %r51
3341f5207b7SJohn Levon 
3351f5207b7SJohn Levon 
3361f5207b7SJohn Levon long_2_double:
3371f5207b7SJohn Levon .L90:
3381f5207b7SJohn Levon 	<entry-point>
339*c85f09ccSJohn Levon 	setfval.64  %r53 <- 1.230000e+02
3401f5207b7SJohn Levon 	ret.64      %r53
3411f5207b7SJohn Levon 
3421f5207b7SJohn Levon 
3431f5207b7SJohn Levon ulong_2_double:
3441f5207b7SJohn Levon .L92:
3451f5207b7SJohn Levon 	<entry-point>
346*c85f09ccSJohn Levon 	setfval.64  %r55 <- 1.230000e+02
3471f5207b7SJohn Levon 	ret.64      %r55
3481f5207b7SJohn Levon 
3491f5207b7SJohn Levon 
3501f5207b7SJohn Levon float_2_double:
3511f5207b7SJohn Levon .L94:
3521f5207b7SJohn Levon 	<entry-point>
353*c85f09ccSJohn Levon 	setfval.64  %r57 <- 1.123000e+00
3541f5207b7SJohn Levon 	ret.64      %r57
3551f5207b7SJohn Levon 
3561f5207b7SJohn Levon 
3571f5207b7SJohn Levon  * check-output-end
3581f5207b7SJohn Levon  */
359