blob: 0ba8a156d237ebf6d068d0fcfcc7fa9bf2c3a202 [file] [log] [blame]
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
*/