| typedef unsigned int uint; |
| typedef unsigned long ulong; |
| |
| static int uint_2_int(uint a) { return (int)a; } |
| static int long_2_int(long a) { return (int)a; } |
| static int ulong_2_int(ulong a) { return (int)a; } |
| static int vptr_2_int(void *a) { return (int)a; } |
| static int iptr_2_int(int *a) { return (int)a; } |
| static int float_2_int(float a) { return (int)a; } |
| static int double_2_int(double a) { return (int)a; } |
| static uint int_2_uint(int a) { return (uint)a; } |
| static uint long_2_uint(long a) { return (uint)a; } |
| static uint ulong_2_uint(ulong a) { return (uint)a; } |
| static uint vptr_2_uint(void *a) { return (uint)a; } |
| static uint iptr_2_uint(int *a) { return (uint)a; } |
| static uint float_2_uint(float a) { return (uint)a; } |
| static uint double_2_uint(double a) { return (uint)a; } |
| static long int_2_long(int a) { return (long)a; } |
| static long uint_2_long(uint a) { return (long)a; } |
| static long ulong_2_long(ulong a) { return (long)a; } |
| static long vptr_2_long(void *a) { return (long)a; } |
| static long iptr_2_long(int *a) { return (long)a; } |
| static long float_2_long(float a) { return (long)a; } |
| static long double_2_long(double a) { return (long)a; } |
| static ulong int_2_ulong(int a) { return (ulong)a; } |
| static ulong uint_2_ulong(uint a) { return (ulong)a; } |
| static ulong long_2_ulong(long a) { return (ulong)a; } |
| static ulong vptr_2_ulong(void *a) { return (ulong)a; } |
| static ulong iptr_2_ulong(int *a) { return (ulong)a; } |
| static ulong float_2_ulong(float a) { return (ulong)a; } |
| static ulong double_2_ulong(double a) { return (ulong)a; } |
| static void * int_2_vptr(int a) { return (void *)a; } |
| static void * uint_2_vptr(uint a) { return (void *)a; } |
| static void * long_2_vptr(long a) { return (void *)a; } |
| static void * ulong_2_vptr(ulong a) { return (void *)a; } |
| static void * iptr_2_vptr(int *a) { return (void *)a; } |
| static int * int_2_iptr(int a) { return (int *)a; } |
| static int * uint_2_iptr(uint a) { return (int *)a; } |
| static int * long_2_iptr(long a) { return (int *)a; } |
| static int * ulong_2_iptr(ulong a) { return (int *)a; } |
| static int * vptr_2_iptr(void *a) { return (int *)a; } |
| static float int_2_float(int a) { return (float)a; } |
| static float uint_2_float(uint a) { return (float)a; } |
| static float long_2_float(long a) { return (float)a; } |
| static float ulong_2_float(ulong a) { return (float)a; } |
| static float double_2_float(double a) { return (float)a; } |
| static double int_2_double(int a) { return (double)a; } |
| static double uint_2_double(uint a) { return (double)a; } |
| static double long_2_double(long a) { return (double)a; } |
| static double ulong_2_double(ulong a) { return (double)a; } |
| static double float_2_double(float a) { return (double)a; } |
| |
| static float float_2_float(float a) { return a; } |
| static double double_2_double(double a) { return a; } |
| |
| /* |
| * check-name: cast-kinds |
| * check-command: test-linearize -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -m64 $file |
| * check-assert: sizeof(void *) == 8 && sizeof(long) == 8 && sizeof(double) == 8 |
| * |
| * check-output-start |
| uint_2_int: |
| .L0: |
| <entry-point> |
| ret.32 %arg1 |
| |
| |
| long_2_int: |
| .L2: |
| <entry-point> |
| trunc.32 %r4 <- (64) %arg1 |
| ret.32 %r4 |
| |
| |
| ulong_2_int: |
| .L4: |
| <entry-point> |
| trunc.32 %r7 <- (64) %arg1 |
| ret.32 %r7 |
| |
| |
| vptr_2_int: |
| .L6: |
| <entry-point> |
| trunc.32 %r10 <- (64) %arg1 |
| ret.32 %r10 |
| |
| |
| iptr_2_int: |
| .L8: |
| <entry-point> |
| trunc.32 %r14 <- (64) %arg1 |
| ret.32 %r14 |
| |
| |
| float_2_int: |
| .L10: |
| <entry-point> |
| fcvts.32 %r17 <- (32) %arg1 |
| ret.32 %r17 |
| |
| |
| double_2_int: |
| .L12: |
| <entry-point> |
| fcvts.32 %r20 <- (64) %arg1 |
| ret.32 %r20 |
| |
| |
| int_2_uint: |
| .L14: |
| <entry-point> |
| ret.32 %arg1 |
| |
| |
| long_2_uint: |
| .L16: |
| <entry-point> |
| trunc.32 %r25 <- (64) %arg1 |
| ret.32 %r25 |
| |
| |
| ulong_2_uint: |
| .L18: |
| <entry-point> |
| trunc.32 %r28 <- (64) %arg1 |
| ret.32 %r28 |
| |
| |
| vptr_2_uint: |
| .L20: |
| <entry-point> |
| trunc.32 %r31 <- (64) %arg1 |
| ret.32 %r31 |
| |
| |
| iptr_2_uint: |
| .L22: |
| <entry-point> |
| trunc.32 %r35 <- (64) %arg1 |
| ret.32 %r35 |
| |
| |
| float_2_uint: |
| .L24: |
| <entry-point> |
| fcvtu.32 %r38 <- (32) %arg1 |
| ret.32 %r38 |
| |
| |
| double_2_uint: |
| .L26: |
| <entry-point> |
| fcvtu.32 %r41 <- (64) %arg1 |
| ret.32 %r41 |
| |
| |
| int_2_long: |
| .L28: |
| <entry-point> |
| sext.64 %r44 <- (32) %arg1 |
| ret.64 %r44 |
| |
| |
| uint_2_long: |
| .L30: |
| <entry-point> |
| zext.64 %r47 <- (32) %arg1 |
| ret.64 %r47 |
| |
| |
| ulong_2_long: |
| .L32: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| vptr_2_long: |
| .L34: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| iptr_2_long: |
| .L36: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| float_2_long: |
| .L38: |
| <entry-point> |
| fcvts.64 %r57 <- (32) %arg1 |
| ret.64 %r57 |
| |
| |
| double_2_long: |
| .L40: |
| <entry-point> |
| fcvts.64 %r60 <- (64) %arg1 |
| ret.64 %r60 |
| |
| |
| int_2_ulong: |
| .L42: |
| <entry-point> |
| sext.64 %r63 <- (32) %arg1 |
| ret.64 %r63 |
| |
| |
| uint_2_ulong: |
| .L44: |
| <entry-point> |
| zext.64 %r66 <- (32) %arg1 |
| ret.64 %r66 |
| |
| |
| long_2_ulong: |
| .L46: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| vptr_2_ulong: |
| .L48: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| iptr_2_ulong: |
| .L50: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| float_2_ulong: |
| .L52: |
| <entry-point> |
| fcvtu.64 %r76 <- (32) %arg1 |
| ret.64 %r76 |
| |
| |
| double_2_ulong: |
| .L54: |
| <entry-point> |
| fcvtu.64 %r79 <- (64) %arg1 |
| ret.64 %r79 |
| |
| |
| int_2_vptr: |
| .L56: |
| <entry-point> |
| sext.64 %r82 <- (32) %arg1 |
| ret.64 %r82 |
| |
| |
| uint_2_vptr: |
| .L58: |
| <entry-point> |
| zext.64 %r85 <- (32) %arg1 |
| ret.64 %r85 |
| |
| |
| long_2_vptr: |
| .L60: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| ulong_2_vptr: |
| .L62: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| iptr_2_vptr: |
| .L64: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| int_2_iptr: |
| .L66: |
| <entry-point> |
| sext.64 %r94 <- (32) %arg1 |
| ret.64 %r94 |
| |
| |
| uint_2_iptr: |
| .L68: |
| <entry-point> |
| zext.64 %r98 <- (32) %arg1 |
| ret.64 %r98 |
| |
| |
| long_2_iptr: |
| .L70: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| ulong_2_iptr: |
| .L72: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| vptr_2_iptr: |
| .L74: |
| <entry-point> |
| ptrcast.64 %r108 <- (64) %arg1 |
| ret.64 %r108 |
| |
| |
| int_2_float: |
| .L76: |
| <entry-point> |
| scvtf.32 %r111 <- (32) %arg1 |
| ret.32 %r111 |
| |
| |
| uint_2_float: |
| .L78: |
| <entry-point> |
| ucvtf.32 %r114 <- (32) %arg1 |
| ret.32 %r114 |
| |
| |
| long_2_float: |
| .L80: |
| <entry-point> |
| scvtf.32 %r117 <- (64) %arg1 |
| ret.32 %r117 |
| |
| |
| ulong_2_float: |
| .L82: |
| <entry-point> |
| ucvtf.32 %r120 <- (64) %arg1 |
| ret.32 %r120 |
| |
| |
| double_2_float: |
| .L84: |
| <entry-point> |
| fcvtf.32 %r123 <- (64) %arg1 |
| ret.32 %r123 |
| |
| |
| int_2_double: |
| .L86: |
| <entry-point> |
| scvtf.64 %r126 <- (32) %arg1 |
| ret.64 %r126 |
| |
| |
| uint_2_double: |
| .L88: |
| <entry-point> |
| ucvtf.64 %r129 <- (32) %arg1 |
| ret.64 %r129 |
| |
| |
| long_2_double: |
| .L90: |
| <entry-point> |
| scvtf.64 %r132 <- (64) %arg1 |
| ret.64 %r132 |
| |
| |
| ulong_2_double: |
| .L92: |
| <entry-point> |
| ucvtf.64 %r135 <- (64) %arg1 |
| ret.64 %r135 |
| |
| |
| float_2_double: |
| .L94: |
| <entry-point> |
| fcvtf.64 %r138 <- (32) %arg1 |
| ret.64 %r138 |
| |
| |
| float_2_float: |
| .L96: |
| <entry-point> |
| ret.32 %arg1 |
| |
| |
| double_2_double: |
| .L98: |
| <entry-point> |
| ret.64 %arg1 |
| |
| |
| * check-output-end |
| */ |