Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions src/impcnvgen.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ void init()
X(Tbool,Tuns32, Tuns32,Tuns32, Tuns32)
X(Tbool,Tint64, Tint64,Tint64, Tint64)
X(Tbool,Tuns64, Tuns64,Tuns64, Tuns64)
X(Tbool,Tint128, Tint128,Tint128, Tint128)
X(Tbool,Tuns128, Tuns128,Tuns128, Tuns128)

X(Tbool,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tbool,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
Expand All @@ -85,6 +87,8 @@ void init()
X(Tint8,Tuns32, Tuns32,Tuns32, Tuns32)
X(Tint8,Tint64, Tint64,Tint64, Tint64)
X(Tint8,Tuns64, Tuns64,Tuns64, Tuns64)
X(Tint8,Tint128, Tint128,Tint128, Tint128)
X(Tint8,Tuns128, Tuns128,Tuns128, Tuns128)

X(Tint8,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tint8,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
Expand All @@ -105,6 +109,8 @@ void init()
X(Tuns8,Tuns32, Tuns32,Tuns32, Tuns32)
X(Tuns8,Tint64, Tint64,Tint64, Tint64)
X(Tuns8,Tuns64, Tuns64,Tuns64, Tuns64)
X(Tuns8,Tint128, Tint128,Tint128, Tint128)
X(Tuns8,Tuns128, Tuns128,Tuns128, Tuns128)

X(Tuns8,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tuns8,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
Expand All @@ -124,6 +130,8 @@ void init()
X(Tint16,Tuns32, Tuns32,Tuns32, Tuns32)
X(Tint16,Tint64, Tint64,Tint64, Tint64)
X(Tint16,Tuns64, Tuns64,Tuns64, Tuns64)
X(Tint16,Tint128, Tint128,Tint128, Tint128)
X(Tint16,Tuns128, Tuns128,Tuns128, Tuns128)

X(Tint16,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tint16,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
Expand All @@ -142,6 +150,8 @@ void init()
X(Tuns16,Tuns32, Tuns32,Tuns32, Tuns32)
X(Tuns16,Tint64, Tint64,Tint64, Tint64)
X(Tuns16,Tuns64, Tuns64,Tuns64, Tuns64)
X(Tuns16,Tint128, Tint128,Tint128, Tint128)
X(Tuns16,Tuns128, Tuns128,Tuns128, Tuns128)

X(Tuns16,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tuns16,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
Expand All @@ -159,6 +169,8 @@ void init()
X(Tint32,Tuns32, Tuns32,Tuns32, Tuns32)
X(Tint32,Tint64, Tint64,Tint64, Tint64)
X(Tint32,Tuns64, Tuns64,Tuns64, Tuns64)
X(Tint32,Tint128, Tint128,Tint128, Tint128)
X(Tint32,Tuns128, Tuns128,Tuns128, Tuns128)

X(Tint32,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tint32,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
Expand All @@ -175,6 +187,8 @@ void init()
X(Tuns32,Tuns32, Tuns32,Tuns32, Tuns32)
X(Tuns32,Tint64, Tint64,Tint64, Tint64)
X(Tuns32,Tuns64, Tuns64,Tuns64, Tuns64)
X(Tuns32,Tint128, Tint128,Tint128, Tint128)
X(Tuns32,Tuns128, Tuns128,Tuns128, Tuns128)

X(Tuns32,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tuns32,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
Expand All @@ -190,6 +204,8 @@ void init()

X(Tint64,Tint64, Tint64,Tint64, Tint64)
X(Tint64,Tuns64, Tuns64,Tuns64, Tuns64)
X(Tint64,Tint128, Tint128,Tint128, Tint128)
X(Tint64,Tuns128, Tuns128,Tuns128, Tuns128)

X(Tint64,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tint64,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
Expand All @@ -204,6 +220,8 @@ void init()
/* ======================= */

X(Tuns64,Tuns64, Tuns64,Tuns64, Tuns64)
X(Tuns64,Tint128, Tint128,Tint128, Tint128)
X(Tuns64,Tuns128, Tuns128,Tuns128, Tuns128)

X(Tuns64,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tuns64,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
Expand All @@ -217,6 +235,35 @@ void init()

/* ======================= */

X(Tint128,Tint128, Tint128,Tint128, Tint128)
X(Tint128,Tuns128, Tuns128,Tuns128, Tuns128)

X(Tint128,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tint128,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
X(Tint128,Tfloat80, Tfloat80,Tfloat80, Tfloat80)
X(Tint128,Timaginary32, Tfloat32,Timaginary32, Tfloat32)
X(Tint128,Timaginary64, Tfloat64,Timaginary64, Tfloat64)
X(Tint128,Timaginary80, Tfloat80,Timaginary80, Tfloat80)
X(Tint128,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32)
X(Tint128,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64)
X(Tint128,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80)

/* ======================= */

X(Tuns128,Tuns128, Tuns128,Tuns128, Tuns128)

X(Tuns128,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tuns128,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
X(Tuns128,Tfloat80, Tfloat80,Tfloat80, Tfloat80)
X(Tuns128,Timaginary32, Tfloat32,Timaginary32, Tfloat32)
X(Tuns128,Timaginary64, Tfloat64,Timaginary64, Tfloat64)
X(Tuns128,Timaginary80, Tfloat80,Timaginary80, Tfloat80)
X(Tuns128,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32)
X(Tuns128,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64)
X(Tuns128,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80)

/* ======================= */

X(Tfloat32,Tfloat32, Tfloat32,Tfloat32, Tfloat32)
X(Tfloat32,Tfloat64, Tfloat64,Tfloat64, Tfloat64)
X(Tfloat32,Tfloat80, Tfloat80,Tfloat80, Tfloat80)
Expand Down Expand Up @@ -307,6 +354,8 @@ void init()
Y(Tuns32, Tint8)
Y(Tint64, Tint8)
Y(Tuns64, Tint8)
Y(Tint128, Tint8)
Y(Tuns128, Tint8)

Y(Tint8, Tuns8)
Y(Tint16, Tuns8)
Expand All @@ -315,6 +364,8 @@ void init()
Y(Tuns32, Tuns8)
Y(Tint64, Tuns8)
Y(Tuns64, Tuns8)
Y(Tint128, Tuns8)
Y(Tuns128, Tuns8)

Y(Tint8, Tchar)
Y(Tint16, Tchar)
Expand All @@ -323,38 +374,59 @@ void init()
Y(Tuns32, Tchar)
Y(Tint64, Tchar)
Y(Tuns64, Tchar)
Y(Tint128, Tchar)
Y(Tuns128, Tchar)

Y(Tuns16, Tint16)
Y(Tint32, Tint16)
Y(Tuns32, Tint16)
Y(Tint64, Tint16)
Y(Tuns64, Tint16)
Y(Tint128, Tint16)
Y(Tuns128, Tint16)

Y(Tint16, Tuns16)
Y(Tint32, Tuns16)
Y(Tuns32, Tuns16)
Y(Tint64, Tuns16)
Y(Tuns64, Tuns16)
Y(Tint128, Tuns16)
Y(Tuns128, Tuns16)

Y(Tint16, Twchar)
Y(Tint32, Twchar)
Y(Tuns32, Twchar)
Y(Tint64, Twchar)
Y(Tuns64, Twchar)
Y(Tint128, Twchar)
Y(Tuns128, Twchar)

// Y(Tuns32, Tint32)
Y(Tint64, Tint32)
Y(Tuns64, Tint32)
Y(Tint128, Tint32)
Y(Tuns128, Tint32)

// Y(Tint32, Tuns32)
Y(Tint64, Tuns32)
Y(Tuns64, Tuns32)
Y(Tint128, Tuns32)
Y(Tuns128, Tuns32)

Y(Tint64, Tdchar)
Y(Tuns64, Tdchar)
Y(Tint128, Tdchar)
Y(Tuns128, Tdchar)

// Y(Tint64, Tuns64)
// Y(Tuns64, Tint64)
Y(Tint128, Tint64)
Y(Tuns128, Tint64)
Y(Tint128, Tuns64)
Y(Tuns128, Tuns64)

// Y(Tint128, Tuns128)
// Y(Tuns128, Tint128)

for (i = 0; i < TMAX; i++)
for (j = 0; j < TMAX; j++)
Expand Down