changeset 513:95f6f43178ed

test/callback_suite simplifications: - more generator code sharing - changing how explicit callconv is specified - fix to handle signatures with calling convention prefixes, correctly
author Tassilo Philipp
date Sun, 10 Apr 2022 16:10:10 +0200
parents 4d0541bf9b38
children 01f928eb9584
files test/callback_suite/README.txt test/callback_suite/cases.c test/callback_suite/cases.h test/callback_suite/mk-cases.lua
diffstat 4 files changed, 96 insertions(+), 104 deletions(-) [+]
line wrap: on
line diff
--- a/test/callback_suite/README.txt	Sun Apr 10 15:51:00 2022 +0200
+++ b/test/callback_suite/README.txt	Sun Apr 10 16:10:10 2022 +0200
@@ -22,11 +22,11 @@
 
 void f19(void* addr) 
 { 
-  V_p[4] = ((CONFIG_API p(*)(d,p,d,f))addr)(K_d[0],K_p[1],K_d[2],K_f[3]);
-}            ^^^^^^^^^^- specific calling convention
-                        ^^^^^^^^^^^^^- signature
-     ^- return type                   ^^^^- dyncallback object
-                                              ^- args from reference values (to be retrieved in handler)
+  V_p[4] = ((p(*)(d,p,d,f))addr)(K_d[0],K_p[1],K_d[2],K_f[3]);
+}                          ^^^^- dyncallback object
+             ^^^^^^^^^^^^^- signature
+     ^- return type                ^- args from reference values (to be retrieved in handler)
+
 
 The K_? values are the reference values, which are supposed to be copied to
 V_?, and are compared for identity after invocation. The arguments are copied
@@ -35,10 +35,10 @@
 The reference values stored in K_? are generated once, randomly, at startup.
 
 
-Testing for exotic calling conventions on Windows
+Specific calling conventions:
 
-Specify 'api' and 'ccprefix' accordingly:
-
+Specify 'api' and 'ccprefix' accordingly to generate callbacks for a
+specific/custom calling convention:
 
 "__stdcall"  "_s"
 "__fastcall" "_f" for gcc compiler
--- a/test/callback_suite/cases.c	Sun Apr 10 15:51:00 2022 +0200
+++ b/test/callback_suite/cases.c	Sun Apr 10 16:10:10 2022 +0200
@@ -25,8 +25,6 @@
 
 #include "globals.h"
 
-#define CONFIG_API 
-
 #define write_V_v(X, v) (         v);
 #define write_V_B(X, v) (V_B[X] = v);
 #define write_V_c(X, v) (V_c[X] = v);
--- a/test/callback_suite/cases.h	Sun Apr 10 15:51:00 2022 +0200
+++ b/test/callback_suite/cases.h	Sun Apr 10 16:10:10 2022 +0200
@@ -1,71 +1,71 @@
-#define F0(ID,R) void ID(void* addr) { write_V_##R(0, ((CONFIG_API R(*)())addr)());}
-#define F1(ID,R,M0) void ID(void* addr) { write_V_##R(1, ((CONFIG_API R(*)(M0))addr)(K_##M0[0]));}
-#define F2(ID,R,M0,M1) void ID(void* addr) { write_V_##R(2, ((CONFIG_API R(*)(M0,M1))addr)(K_##M0[0],K_##M1[1]));}
-#define F3(ID,R,M0,M1,M2) void ID(void* addr) { write_V_##R(3, ((CONFIG_API R(*)(M0,M1,M2))addr)(K_##M0[0],K_##M1[1],K_##M2[2]));}
-#define F4(ID,R,M0,M1,M2,M3) void ID(void* addr) { write_V_##R(4, ((CONFIG_API R(*)(M0,M1,M2,M3))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3]));}
-#define F5(ID,R,M0,M1,M2,M3,M4) void ID(void* addr) { write_V_##R(5, ((CONFIG_API R(*)(M0,M1,M2,M3,M4))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4]));}
-#define F6(ID,R,M0,M1,M2,M3,M4,M5) void ID(void* addr) { write_V_##R(6, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5]));}
-#define F7(ID,R,M0,M1,M2,M3,M4,M5,M6) void ID(void* addr) { write_V_##R(7, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6]));}
-#define F8(ID,R,M0,M1,M2,M3,M4,M5,M6,M7) void ID(void* addr) { write_V_##R(8, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7]));}
-#define F9(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8) void ID(void* addr) { write_V_##R(9, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8]));}
-#define F10(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9) void ID(void* addr) { write_V_##R(10, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9]));}
-#define F11(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10) void ID(void* addr) { write_V_##R(11, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10]));}
-#define F12(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11) void ID(void* addr) { write_V_##R(12, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11]));}
-#define F13(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12) void ID(void* addr) { write_V_##R(13, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12]));}
-#define F14(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13) void ID(void* addr) { write_V_##R(14, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13]));}
-#define F15(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14) void ID(void* addr) { write_V_##R(15, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14]));}
-#define F16(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15) void ID(void* addr) { write_V_##R(16, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15]));}
-#define F17(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16) void ID(void* addr) { write_V_##R(17, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16]));}
-#define F18(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17) void ID(void* addr) { write_V_##R(18, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17]));}
-#define F19(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18) void ID(void* addr) { write_V_##R(19, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18]));}
-#define F20(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19) void ID(void* addr) { write_V_##R(20, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19]));}
-#define F21(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20) void ID(void* addr) { write_V_##R(21, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20]));}
-#define F22(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21) void ID(void* addr) { write_V_##R(22, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21]));}
-#define F23(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22) void ID(void* addr) { write_V_##R(23, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22]));}
-#define F24(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23) void ID(void* addr) { write_V_##R(24, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23]));}
-#define F25(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24) void ID(void* addr) { write_V_##R(25, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24]));}
-#define F26(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25) void ID(void* addr) { write_V_##R(26, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25]));}
-#define F27(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26) void ID(void* addr) { write_V_##R(27, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26]));}
-#define F28(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27) void ID(void* addr) { write_V_##R(28, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27]));}
-#define F29(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28) void ID(void* addr) { write_V_##R(29, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28]));}
-#define F30(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29) void ID(void* addr) { write_V_##R(30, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29]));}
-#define F31(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30) void ID(void* addr) { write_V_##R(31, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30]));}
-#define F32(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31) void ID(void* addr) { write_V_##R(32, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31]));}
-#define F33(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32) void ID(void* addr) { write_V_##R(33, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32]));}
-#define F34(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33) void ID(void* addr) { write_V_##R(34, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33]));}
-#define F35(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34) void ID(void* addr) { write_V_##R(35, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34]));}
-#define F36(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35) void ID(void* addr) { write_V_##R(36, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35]));}
-#define F37(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36) void ID(void* addr) { write_V_##R(37, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36]));}
-#define F38(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37) void ID(void* addr) { write_V_##R(38, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37]));}
-#define F39(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38) void ID(void* addr) { write_V_##R(39, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38]));}
-#define F40(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39) void ID(void* addr) { write_V_##R(40, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39]));}
-#define F41(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40) void ID(void* addr) { write_V_##R(41, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40]));}
-#define F42(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41) void ID(void* addr) { write_V_##R(42, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41]));}
-#define F43(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42) void ID(void* addr) { write_V_##R(43, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42]));}
-#define F44(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43) void ID(void* addr) { write_V_##R(44, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43]));}
-#define F45(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44) void ID(void* addr) { write_V_##R(45, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44]));}
-#define F46(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45) void ID(void* addr) { write_V_##R(46, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45]));}
-#define F47(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46) void ID(void* addr) { write_V_##R(47, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46]));}
-#define F48(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47) void ID(void* addr) { write_V_##R(48, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47]));}
-#define F49(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48) void ID(void* addr) { write_V_##R(49, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48]));}
-#define F50(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49) void ID(void* addr) { write_V_##R(50, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49]));}
-#define F51(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50) void ID(void* addr) { write_V_##R(51, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50]));}
-#define F52(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51) void ID(void* addr) { write_V_##R(52, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51]));}
-#define F53(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52) void ID(void* addr) { write_V_##R(53, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52]));}
-#define F54(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53) void ID(void* addr) { write_V_##R(54, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53]));}
-#define F55(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54) void ID(void* addr) { write_V_##R(55, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54]));}
-#define F56(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55) void ID(void* addr) { write_V_##R(56, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55]));}
-#define F57(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56) void ID(void* addr) { write_V_##R(57, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56]));}
-#define F58(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57) void ID(void* addr) { write_V_##R(58, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57]));}
-#define F59(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58) void ID(void* addr) { write_V_##R(59, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58]));}
-#define F60(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59) void ID(void* addr) { write_V_##R(60, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59]));}
-#define F61(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60) void ID(void* addr) { write_V_##R(61, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60]));}
-#define F62(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61) void ID(void* addr) { write_V_##R(62, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61]));}
-#define F63(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62) void ID(void* addr) { write_V_##R(63, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61],K_##M62[62]));}
-#define F64(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63) void ID(void* addr) { write_V_##R(64, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61],K_##M62[62],K_##M63[63]));}
-#define F65(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64) void ID(void* addr) { write_V_##R(65, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61],K_##M62[62],K_##M63[63],K_##M64[64]));}
-#define F66(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64,M65) void ID(void* addr) { write_V_##R(66, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64,M65))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61],K_##M62[62],K_##M63[63],K_##M64[64],K_##M65[65]));}
-#define F67(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64,M65,M66) void ID(void* addr) { write_V_##R(67, ((CONFIG_API R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64,M65,M66))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61],K_##M62[62],K_##M63[63],K_##M64[64],K_##M65[65],K_##M66[66]));}
+#define F0(ID,R) void ID(void* addr) { write_V_##R(0, (( R(*)())addr)());}
+#define F1(ID,R,M0) void ID(void* addr) { write_V_##R(1, (( R(*)(M0))addr)(K_##M0[0]));}
+#define F2(ID,R,M0,M1) void ID(void* addr) { write_V_##R(2, (( R(*)(M0,M1))addr)(K_##M0[0],K_##M1[1]));}
+#define F3(ID,R,M0,M1,M2) void ID(void* addr) { write_V_##R(3, (( R(*)(M0,M1,M2))addr)(K_##M0[0],K_##M1[1],K_##M2[2]));}
+#define F4(ID,R,M0,M1,M2,M3) void ID(void* addr) { write_V_##R(4, (( R(*)(M0,M1,M2,M3))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3]));}
+#define F5(ID,R,M0,M1,M2,M3,M4) void ID(void* addr) { write_V_##R(5, (( R(*)(M0,M1,M2,M3,M4))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4]));}
+#define F6(ID,R,M0,M1,M2,M3,M4,M5) void ID(void* addr) { write_V_##R(6, (( R(*)(M0,M1,M2,M3,M4,M5))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5]));}
+#define F7(ID,R,M0,M1,M2,M3,M4,M5,M6) void ID(void* addr) { write_V_##R(7, (( R(*)(M0,M1,M2,M3,M4,M5,M6))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6]));}
+#define F8(ID,R,M0,M1,M2,M3,M4,M5,M6,M7) void ID(void* addr) { write_V_##R(8, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7]));}
+#define F9(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8) void ID(void* addr) { write_V_##R(9, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8]));}
+#define F10(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9) void ID(void* addr) { write_V_##R(10, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9]));}
+#define F11(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10) void ID(void* addr) { write_V_##R(11, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10]));}
+#define F12(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11) void ID(void* addr) { write_V_##R(12, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11]));}
+#define F13(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12) void ID(void* addr) { write_V_##R(13, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12]));}
+#define F14(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13) void ID(void* addr) { write_V_##R(14, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13]));}
+#define F15(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14) void ID(void* addr) { write_V_##R(15, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14]));}
+#define F16(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15) void ID(void* addr) { write_V_##R(16, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15]));}
+#define F17(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16) void ID(void* addr) { write_V_##R(17, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16]));}
+#define F18(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17) void ID(void* addr) { write_V_##R(18, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17]));}
+#define F19(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18) void ID(void* addr) { write_V_##R(19, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18]));}
+#define F20(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19) void ID(void* addr) { write_V_##R(20, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19]));}
+#define F21(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20) void ID(void* addr) { write_V_##R(21, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20]));}
+#define F22(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21) void ID(void* addr) { write_V_##R(22, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21]));}
+#define F23(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22) void ID(void* addr) { write_V_##R(23, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22]));}
+#define F24(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23) void ID(void* addr) { write_V_##R(24, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23]));}
+#define F25(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24) void ID(void* addr) { write_V_##R(25, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24]));}
+#define F26(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25) void ID(void* addr) { write_V_##R(26, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25]));}
+#define F27(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26) void ID(void* addr) { write_V_##R(27, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26]));}
+#define F28(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27) void ID(void* addr) { write_V_##R(28, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27]));}
+#define F29(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28) void ID(void* addr) { write_V_##R(29, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28]));}
+#define F30(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29) void ID(void* addr) { write_V_##R(30, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29]));}
+#define F31(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30) void ID(void* addr) { write_V_##R(31, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30]));}
+#define F32(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31) void ID(void* addr) { write_V_##R(32, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31]));}
+#define F33(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32) void ID(void* addr) { write_V_##R(33, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32]));}
+#define F34(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33) void ID(void* addr) { write_V_##R(34, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33]));}
+#define F35(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34) void ID(void* addr) { write_V_##R(35, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34]));}
+#define F36(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35) void ID(void* addr) { write_V_##R(36, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35]));}
+#define F37(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36) void ID(void* addr) { write_V_##R(37, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36]));}
+#define F38(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37) void ID(void* addr) { write_V_##R(38, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37]));}
+#define F39(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38) void ID(void* addr) { write_V_##R(39, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38]));}
+#define F40(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39) void ID(void* addr) { write_V_##R(40, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39]));}
+#define F41(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40) void ID(void* addr) { write_V_##R(41, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40]));}
+#define F42(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41) void ID(void* addr) { write_V_##R(42, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41]));}
+#define F43(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42) void ID(void* addr) { write_V_##R(43, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42]));}
+#define F44(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43) void ID(void* addr) { write_V_##R(44, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43]));}
+#define F45(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44) void ID(void* addr) { write_V_##R(45, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44]));}
+#define F46(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45) void ID(void* addr) { write_V_##R(46, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45]));}
+#define F47(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46) void ID(void* addr) { write_V_##R(47, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46]));}
+#define F48(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47) void ID(void* addr) { write_V_##R(48, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47]));}
+#define F49(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48) void ID(void* addr) { write_V_##R(49, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48]));}
+#define F50(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49) void ID(void* addr) { write_V_##R(50, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49]));}
+#define F51(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50) void ID(void* addr) { write_V_##R(51, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50]));}
+#define F52(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51) void ID(void* addr) { write_V_##R(52, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51]));}
+#define F53(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52) void ID(void* addr) { write_V_##R(53, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52]));}
+#define F54(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53) void ID(void* addr) { write_V_##R(54, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53]));}
+#define F55(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54) void ID(void* addr) { write_V_##R(55, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54]));}
+#define F56(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55) void ID(void* addr) { write_V_##R(56, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55]));}
+#define F57(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56) void ID(void* addr) { write_V_##R(57, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56]));}
+#define F58(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57) void ID(void* addr) { write_V_##R(58, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57]));}
+#define F59(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58) void ID(void* addr) { write_V_##R(59, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58]));}
+#define F60(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59) void ID(void* addr) { write_V_##R(60, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59]));}
+#define F61(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60) void ID(void* addr) { write_V_##R(61, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60]));}
+#define F62(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61) void ID(void* addr) { write_V_##R(62, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61]));}
+#define F63(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62) void ID(void* addr) { write_V_##R(63, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61],K_##M62[62]));}
+#define F64(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63) void ID(void* addr) { write_V_##R(64, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61],K_##M62[62],K_##M63[63]));}
+#define F65(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64) void ID(void* addr) { write_V_##R(65, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61],K_##M62[62],K_##M63[63],K_##M64[64]));}
+#define F66(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64,M65) void ID(void* addr) { write_V_##R(66, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64,M65))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61],K_##M62[62],K_##M63[63],K_##M64[64],K_##M65[65]));}
+#define F67(ID,R,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64,M65,M66) void ID(void* addr) { write_V_##R(67, (( R(*)(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M40,M41,M42,M43,M44,M45,M46,M47,M48,M49,M50,M51,M52,M53,M54,M55,M56,M57,M58,M59,M60,M61,M62,M63,M64,M65,M66))addr)(K_##M0[0],K_##M1[1],K_##M2[2],K_##M3[3],K_##M4[4],K_##M5[5],K_##M6[6],K_##M7[7],K_##M8[8],K_##M9[9],K_##M10[10],K_##M11[11],K_##M12[12],K_##M13[13],K_##M14[14],K_##M15[15],K_##M16[16],K_##M17[17],K_##M18[18],K_##M19[19],K_##M20[20],K_##M21[21],K_##M22[22],K_##M23[23],K_##M24[24],K_##M25[25],K_##M26[26],K_##M27[27],K_##M28[28],K_##M29[29],K_##M30[30],K_##M31[31],K_##M32[32],K_##M33[33],K_##M34[34],K_##M35[35],K_##M36[36],K_##M37[37],K_##M38[38],K_##M39[39],K_##M40[40],K_##M41[41],K_##M42[42],K_##M43[43],K_##M44[44],K_##M45[45],K_##M46[46],K_##M47[47],K_##M48[48],K_##M49[49],K_##M50[50],K_##M51[51],K_##M52[52],K_##M53[53],K_##M54[54],K_##M55[55],K_##M56[56],K_##M57[57],K_##M58[58],K_##M59[59],K_##M60[60],K_##M61[61],K_##M62[62],K_##M63[63],K_##M64[64],K_##M65[65],K_##M66[66]));}
 F58(f0,S,S,C,l,i,L,p,j,s,s,s,J,c,p,d,f,i,c,C,B,C,c,S,l,L,j,l,d,d,d,s,I,B,C,i,p,c,J,I,d,C,s,J,J,f,I,i,L,j,l,s,I,S,L,S,B,s,s,i)
 F26(f1,l,p,p,S,s,f,I,l,l,j,B,I,I,p,C,J,B,B,C,B,j,l,s,p,c,i,j)
 F38(f2,c,I,L,p,C,s,j,B,B,l,C,f,B,I,L,f,f,f,j,p,B,l,j,j,J,L,C,d,f,I,l,S,L,C,d,d,B,J,S)
--- a/test/callback_suite/mk-cases.lua	Sun Apr 10 15:51:00 2022 +0200
+++ b/test/callback_suite/mk-cases.lua	Sun Apr 10 16:10:10 2022 +0200
@@ -2,34 +2,28 @@
 
 function trim(l) return l:gsub("^%s+",""):gsub("%s+$","") end
 function mkcase(id,sig)
-  local nargs = string.len(sig) - 2 -- @@@ wrong, b/c ignores callconv prefixes
   local rtype = string.sub(sig, -1)
-  local s   = "F" .. nargs .. "(f" .. id .. "," .. rtype
-  for i = 1, nargs do
-    local type  = string.sub(sig, i, i)
-    s = s .. "," .. type 
+  local i = 1
+  local args = { rtype }
+  while i < #sig do
+    c = string.sub(sig, i, i)
+    if(c == ')') then
+      break
+    end
+    if(c == '_') then -- filter out prefixes
+      i = i + 1
+    else
+	  args[#args+1] = c
+    end
+    i = i + 1
   end
-  s = s .. ")\n"
-  return s
+  return "F" .. (#args-1) .. "(f" .. id .. "," .. table.concat(args,',') .. ")\n"
 end
 
-function mkfuntab(n)
-  local s = { "funptr G_funtab[] = {\n"}
-  for i = 0, n-1 do
-    s[#s+1] = "\t&f"..i..",\n"
-  end
-  s[#s+1] = "};\n"
-  return table.concat(s,"")
-end
+-- use shared helpers to generate cases
+package.path = '../common/?.lua;' .. package.path
+require"mk-cases"
 
-function mksigtab(sigs)
-  local s = { "const char * G_sigtab[] = {\n"}
-  for k,v in pairs(sigs) do
-    s[#s+1] = '\t"'..v..'",\n'
-  end
-  s[#s+1] = "};\n"
-  return table.concat(s,"")
-end
 
 function mkall()
   -- force minargs for ordered mode
@@ -55,7 +49,7 @@
         argset = argset .. "K_##M" .. j .. "[" .. j .. "]"
       end
     end
-    line = line .. argdef .. ") void ID(void* addr) { write_V_##R(" .. i .. ", ((CONFIG_API R(*)("  .. argdef .. "))addr)(" .. argset .. "));}\n"
+    line = line .. argdef .. ") void ID(void* addr) { write_V_##R(" .. i .. ", ((" .. api .. " R(*)("  .. argdef .. "))addr)(" .. argset .. "));}\n"
     io.write(line)
   end
 
@@ -71,8 +65,8 @@
   end
 
   io.write(cases)
-  io.write(mkfuntab(lineno))
-  io.write(mksigtab(sigtab))
+  io.write(mkfuntab(lineno, 'f', 'funptr', 'G_funtab', false))
+  io.write(mksigtab(sigtab, ccprefix, 'G_sigtab'))
   io.write("int G_maxargs = "..maxargs..";\n")
 end