# HG changeset patch # User Tassilo Philipp # Date 1649599810 -7200 # Node ID 95f6f43178ed1c1e23e549314f4081d804ce4f15 # Parent 4d0541bf9b385b8ac2e90bf42350ea7a7e7f096e test/callback_suite simplifications: - more generator code sharing - changing how explicit callconv is specified - fix to handle signatures with calling convention prefixes, correctly diff -r 4d0541bf9b38 -r 95f6f43178ed test/callback_suite/README.txt --- 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 diff -r 4d0541bf9b38 -r 95f6f43178ed test/callback_suite/cases.c --- 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); diff -r 4d0541bf9b38 -r 95f6f43178ed test/callback_suite/cases.h --- 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) diff -r 4d0541bf9b38 -r 95f6f43178ed test/callback_suite/mk-cases.lua --- 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