11f5207b7SJohn Levon typedef unsigned int uint; 21f5207b7SJohn Levon typedef unsigned long ulong; 31f5207b7SJohn Levon uint_2_int(void)41f5207b7SJohn Levonstatic int uint_2_int(void) { return (int)123U; } long_2_int(void)51f5207b7SJohn Levonstatic int long_2_int(void) { return (int)123L; } ulong_2_int(void)61f5207b7SJohn Levonstatic int ulong_2_int(void) { return (int)123UL; } vptr_2_int(void)71f5207b7SJohn Levonstatic int vptr_2_int(void) { return (int)((void*)123); } iptr_2_int(void)81f5207b7SJohn Levonstatic int iptr_2_int(void) { return (int)((int*)128); } float_2_int(void)91f5207b7SJohn Levonstatic int float_2_int(void) { return (int)1.123F; } double_2_int(void)101f5207b7SJohn Levonstatic int double_2_int(void) { return (int)1.123L; } int_2_uint(void)111f5207b7SJohn Levonstatic uint int_2_uint(void) { return (uint)123; } long_2_uint(void)121f5207b7SJohn Levonstatic uint long_2_uint(void) { return (uint)123L; } ulong_2_uint(void)131f5207b7SJohn Levonstatic uint ulong_2_uint(void) { return (uint)123UL; } vptr_2_uint(void)141f5207b7SJohn Levonstatic uint vptr_2_uint(void) { return (uint)((void*)123); } iptr_2_uint(void)151f5207b7SJohn Levonstatic uint iptr_2_uint(void) { return (uint)((int*)128); } float_2_uint(void)161f5207b7SJohn Levonstatic uint float_2_uint(void) { return (uint)1.123F; } double_2_uint(void)171f5207b7SJohn Levonstatic uint double_2_uint(void) { return (uint)1.123L; } int_2_long(void)181f5207b7SJohn Levonstatic long int_2_long(void) { return (long)123; } uint_2_long(void)191f5207b7SJohn Levonstatic long uint_2_long(void) { return (long)123U; } ulong_2_long(void)201f5207b7SJohn Levonstatic long ulong_2_long(void) { return (long)123UL; } vptr_2_long(void)211f5207b7SJohn Levonstatic long vptr_2_long(void) { return (long)((void*)123); } iptr_2_long(void)221f5207b7SJohn Levonstatic long iptr_2_long(void) { return (long)((int*)128); } float_2_long(void)231f5207b7SJohn Levonstatic long float_2_long(void) { return (long)1.123F; } double_2_long(void)241f5207b7SJohn Levonstatic long double_2_long(void) { return (long)1.123L; } int_2_ulong(void)251f5207b7SJohn Levonstatic ulong int_2_ulong(void) { return (ulong)123; } uint_2_ulong(void)261f5207b7SJohn Levonstatic ulong uint_2_ulong(void) { return (ulong)123U; } long_2_ulong(void)271f5207b7SJohn Levonstatic ulong long_2_ulong(void) { return (ulong)123L; } vptr_2_ulong(void)281f5207b7SJohn Levonstatic ulong vptr_2_ulong(void) { return (ulong)((void*)123); } iptr_2_ulong(void)291f5207b7SJohn Levonstatic ulong iptr_2_ulong(void) { return (ulong)((int*)128); } float_2_ulong(void)301f5207b7SJohn Levonstatic ulong float_2_ulong(void) { return (ulong)1.123F; } double_2_ulong(void)311f5207b7SJohn Levonstatic ulong double_2_ulong(void) { return (ulong)1.123L; } int_2_vptr(void)321f5207b7SJohn Levonstatic void * int_2_vptr(void) { return (void *)123; } uint_2_vptr(void)331f5207b7SJohn Levonstatic void * uint_2_vptr(void) { return (void *)123U; } long_2_vptr(void)341f5207b7SJohn Levonstatic void * long_2_vptr(void) { return (void *)123L; } ulong_2_vptr(void)351f5207b7SJohn Levonstatic void * ulong_2_vptr(void) { return (void *)123UL; } iptr_2_vptr(void)361f5207b7SJohn Levonstatic void * iptr_2_vptr(void) { return (void *)((int*)128); } int_2_iptr(void)371f5207b7SJohn Levonstatic int * int_2_iptr(void) { return (int *)123; } uint_2_iptr(void)381f5207b7SJohn Levonstatic int * uint_2_iptr(void) { return (int *)123U; } long_2_iptr(void)391f5207b7SJohn Levonstatic int * long_2_iptr(void) { return (int *)123L; } ulong_2_iptr(void)401f5207b7SJohn Levonstatic int * ulong_2_iptr(void) { return (int *)123UL; } vptr_2_iptr(void)411f5207b7SJohn Levonstatic int * vptr_2_iptr(void) { return (int *)((void*)123); } int_2_float(void)421f5207b7SJohn Levonstatic float int_2_float(void) { return (float)123; } uint_2_float(void)431f5207b7SJohn Levonstatic float uint_2_float(void) { return (float)123U; } long_2_float(void)441f5207b7SJohn Levonstatic float long_2_float(void) { return (float)123L; } ulong_2_float(void)451f5207b7SJohn Levonstatic float ulong_2_float(void) { return (float)123UL; } double_2_float(void)461f5207b7SJohn Levonstatic float double_2_float(void) { return (float)1.123L; } int_2_double(void)471f5207b7SJohn Levonstatic double int_2_double(void) { return (double)123; } uint_2_double(void)481f5207b7SJohn Levonstatic double uint_2_double(void) { return (double)123U; } long_2_double(void)491f5207b7SJohn Levonstatic double long_2_double(void) { return (double)123L; } ulong_2_double(void)501f5207b7SJohn Levonstatic double ulong_2_double(void) { return (double)123UL; } float_2_double(void)511f5207b7SJohn Levonstatic 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