From 4a71579b757d3a2eb6902c84391f429838ad4912 Mon Sep 17 00:00:00 2001 From: Paul Cercueil Date: Thu, 30 Jan 2020 12:33:44 -0300 Subject: git subrepo clone https://git.savannah.gnu.org/git/lightning.git deps/lightning subrepo: subdir: "deps/lightning" merged: "b0b8eb5" upstream: origin: "https://git.savannah.gnu.org/git/lightning.git" branch: "master" commit: "b0b8eb5" git-subrepo: version: "0.4.1" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "a04d8c2" --- deps/lightning/check/va_list.tst | 743 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 743 insertions(+) create mode 100644 deps/lightning/check/va_list.tst (limited to 'deps/lightning/check/va_list.tst') diff --git a/deps/lightning/check/va_list.tst b/deps/lightning/check/va_list.tst new file mode 100644 index 0000000..ad704c9 --- /dev/null +++ b/deps/lightning/check/va_list.tst @@ -0,0 +1,743 @@ +.data 8 +ok: +.c "ok\n" +.code + jmpi main + +#define BEGIN(L) \ +L: \ + prolog +#define VA_START() \ + ellipsis \ + va_start %v0 +#define VARG(L,N) \ + va_arg %r0 %v0 \ + beqi L##N %r0 N \ + calli @abort \ +L##N: +#define VARGD(L,N) \ + va_arg_d %f0 %v0 \ + beqi_d L##N %f0 N \ + calli @abort \ +L##N: +#define VA_END() \ + va_end %v0 \ + ret \ + epilog +#define ARG(N) arg $arg##N +#define ARGD(N) arg_d $arg##N +#define GET(L,N) \ + getarg %r0 $arg##N \ + beqi L##N %r0 N \ + calli @abort \ +L##N: +#define GETD(L,N) \ + getarg_d %f0 $arg##N \ + beqi_d L##N %f0 N \ + calli @abort \ +L##N: + +#define ARG1() ARG(1) +#define ARG2() ARG1() ARG(2) +#define ARG3() ARG2() ARG(3) +#define ARG4() ARG3() ARG(4) +#define ARG5() ARG4() ARG(5) +#define ARG6() ARG5() ARG(6) +#define ARG7() ARG6() ARG(7) +#define ARG8() ARG7() ARG(8) +#define ARG9() ARG8() ARG(9) +#define GET1(L) GET(L,1) +#define GET2(L) GET1(L) GET(L,2) +#define GET3(L) GET2(L) GET(L,3) +#define GET4(L) GET3(L) GET(L,4) +#define GET5(L) GET4(L) GET(L,5) +#define GET6(L) GET5(L) GET(L,6) +#define GET7(L) GET6(L) GET(L,7) +#define GET8(L) GET7(L) GET(L,8) +#define GET9(L) GET8(L) GET(L,9) +#define ARGD1() ARGD(1) +#define ARGD2() ARGD1() ARGD(2) +#define ARGD3() ARGD2() ARGD(3) +#define ARGD4() ARGD3() ARGD(4) +#define ARGD5() ARGD4() ARGD(5) +#define ARGD6() ARGD5() ARGD(6) +#define ARGD7() ARGD6() ARGD(7) +#define ARGD8() ARGD7() ARGD(8) +#define ARGD9() ARGD8() ARGD(9) +#define GETD1(L) GETD(L,1) +#define GETD2(L) GETD1(L) GETD(L,2) +#define GETD3(L) GETD2(L) GETD(L,3) +#define GETD4(L) GETD3(L) GETD(L,4) +#define GETD5(L) GETD4(L) GETD(L,5) +#define GETD6(L) GETD5(L) GETD(L,6) +#define GETD7(L) GETD6(L) GETD(L,7) +#define GETD8(L) GETD7(L) GETD(L,8) +#define GETD9(L) GETD8(L) GETD(L,9) +#define IDARG1() ARG(1) +#define IDARG2() IDARG1() ARGD(2) +#define IDARG3() IDARG2() ARG(3) +#define IDARG4() IDARG3() ARGD(4) +#define IDARG5() IDARG4() ARG(5) +#define IDARG6() IDARG5() ARGD(6) +#define IDARG7() IDARG6() ARG(7) +#define IDARG8() IDARG7() ARGD(8) +#define IDARG9() IDARG8() ARG(9) +#define IDGET1(L) GET(L,1) +#define IDGET2(L) IDGET1(L) GETD(L,2) +#define IDGET3(L) IDGET2(L) GET(L,3) +#define IDGET4(L) IDGET3(L) GETD(L,4) +#define IDGET5(L) IDGET4(L) GET(L,5) +#define IDGET6(L) IDGET5(L) GETD(L,6) +#define IDGET7(L) IDGET6(L) GET(L,7) +#define IDGET8(L) IDGET7(L) GETD(L,8) +#define IDGET9(L) IDGET8(L) GET(L,9) +#define DIARG1() ARGD(1) +#define DIARG2() DIARG1() ARG(2) +#define DIARG3() DIARG2() ARGD(3) +#define DIARG4() DIARG3() ARG(4) +#define DIARG5() DIARG4() ARGD(5) +#define DIARG6() DIARG5() ARG(6) +#define DIARG7() DIARG6() ARGD(7) +#define DIARG8() DIARG7() ARG(8) +#define DIARG9() DIARG8() ARGD(9) +#define DIGET1(L) GETD(L,1) +#define DIGET2(L) DIGET1(L) GET(L,2) +#define DIGET3(L) DIGET2(L) GETD(L,3) +#define DIGET4(L) DIGET3(L) GET(L,4) +#define DIGET5(L) DIGET4(L) GETD(L,5) +#define DIGET6(L) DIGET5(L) GET(L,6) +#define DIGET7(L) DIGET6(L) GETD(L,7) +#define DIGET8(L) DIGET7(L) GET(L,8) +#define DIGET9(L) DIGET8(L) GETD(L,9) + +#define VARG1(L) \ + VARG(L, 10) +#define VARG2(L) \ + VARG(L, 9) \ + VARG1(L) +#define VARG3(L) \ + VARG(L, 8) \ + VARG2(L) +#define VARG4(L) \ + VARG(L, 7) \ + VARG3(L) +#define VARG5(L) \ + VARG(L, 6) \ + VARG4(L) +#define VARG6(L) \ + VARG(L, 5) \ + VARG5(L) +#define VARG7(L) \ + VARG(L, 4) \ + VARG6(L) +#define VARG8(L) \ + VARG(L, 3) \ + VARG7(L) +#define VARG9(L) \ + VARG(L, 2) \ + VARG8(L) +#define VARG10(L) \ + VARG(L, 1) \ + VARG9(L) +#define VARGD1(L) \ + VARGD(L, 10) +#define VARGD2(L) \ + VARGD(L, 9) \ + VARGD1(L) +#define VARGD3(L) \ + VARGD(L, 8) \ + VARGD2(L) +#define VARGD4(L) \ + VARGD(L, 7) \ + VARGD3(L) +#define VARGD5(L) \ + VARGD(L, 6) \ + VARGD4(L) +#define VARGD6(L) \ + VARGD(L, 5) \ + VARGD5(L) +#define VARGD7(L) \ + VARGD(L, 4) \ + VARGD6(L) +#define VARGD8(L) \ + VARGD(L, 3) \ + VARGD7(L) +#define VARGD9(L) \ + VARGD(L, 2) \ + VARGD8(L) +#define VARGD10(L) \ + VARGD(L, 1) \ + VARGD9(L) +#define IDVARG1(L) \ + VARGD(L, 10) +#define IDVARG2(L) \ + VARG(L, 9) \ + IDVARG1(L) +#define IDVARG3(L) \ + VARGD(L, 8) \ + IDVARG2(L) +#define IDVARG4(L) \ + VARG(L, 7) \ + IDVARG3(L) +#define IDVARG5(L) \ + VARGD(L, 6) \ + IDVARG4(L) +#define IDVARG6(L) \ + VARG(L, 5) \ + IDVARG5(L) +#define IDVARG7(L) \ + VARGD(L, 4) \ + IDVARG6(L) +#define IDVARG8(L) \ + VARG(L, 3) \ + IDVARG7(L) +#define IDVARG9(L) \ + VARGD(L, 2) \ + IDVARG8(L) +#define IDVARG10(L) \ + VARG(L, 1) \ + IDVARG9(L) +#define DIVARG1(L) \ + VARG(L, 10) +#define DIVARG2(L) \ + VARGD(L, 9) \ + DIVARG1(L) +#define DIVARG3(L) \ + VARG(L, 8) \ + DIVARG2(L) +#define DIVARG4(L) \ + VARGD(L, 7) \ + DIVARG3(L) +#define DIVARG5(L) \ + VARG(L, 6) \ + DIVARG4(L) +#define DIVARG6(L) \ + VARGD(L, 5) \ + DIVARG5(L) +#define DIVARG7(L) \ + VARG(L, 4) \ + DIVARG6(L) +#define DIVARG8(L) \ + VARGD(L, 3) \ + DIVARG7(L) +#define DIVARG9(L) \ + VARG(L, 2) \ + DIVARG8(L) +#define DIVARG10(L) \ + VARGD(L, 1) \ + DIVARG9(L) + +BEGIN(_iiiiiiiiii) + VA_START() + VARG10(_iiiiiiiiii) + VA_END() +BEGIN(i_iiiiiiiii) + ARG1() + GET1(i_iiiiiiiii) + VA_START() + VARG9(i_iiiiiiiii) + VA_END() +BEGIN(ii_iiiiiiii) + ARG2() + GET2(ii_iiiiiiii) + VA_START() + VARG8(ii_iiiiiiii) + VA_END() +BEGIN(iii_iiiiiii) + ARG3() + GET3(iii_iiiiiii) + VA_START() + VARG7(iii_iiiiiii) + VA_END() +BEGIN(iiii_iiiiii) + ARG4() + GET4(iiii_iiiiii) + VA_START() + VARG6(iiii_iiiiii) + VA_END() +BEGIN(iiiii_iiiii) + ARG5() + GET5(iiiii_iiiii) + VA_START() + VARG5(iiiii_iiiii) + VA_END() +BEGIN(iiiiii_iiii) + ARG6() + GET6(iiiiii_iiii) + VA_START() + VARG4(iiiiii_iiii) + VA_END() +BEGIN(iiiiiii_iii) + ARG7() + GET7(iiiiiii_iii) + VA_START() + VARG3(iiiiiii_iii) + VA_END() +BEGIN(iiiiiiii_ii) + ARG8() + GET8(iiiiiiii_ii) + VA_START() + VARG2(iiiiiiii_ii) + VA_END() +BEGIN(iiiiiiiii_i) + ARG9() + GET9(iiiiiiiii_i) + VA_START() + VARG1(iiiiiiiii_i) + VA_END() +BEGIN(_dddddddddd) + VA_START() + VARGD10(_dddddddddd) + VA_END() +BEGIN(d_ddddddddd) + ARGD1() + GETD1(d_ddddddddd) + VA_START() + VARGD9(d_ddddddddd) + VA_END() +BEGIN(dd_dddddddd) + ARGD2() + GETD2(dd_dddddddd) + VA_START() + VARGD8(dd_dddddddd) + VA_END() +BEGIN(ddd_ddddddd) + ARGD3() + GETD3(ddd_ddddddd) + VA_START() + VARGD7(ddd_ddddddd) + VA_END() +BEGIN(dddd_dddddd) + ARGD4() + GETD4(dddd_dddddd) + VA_START() + VARGD6(dddd_dddddd) + VA_END() +BEGIN(ddddd_ddddd) + ARGD5() + GETD5(ddddd_ddddd) + VA_START() + VARGD5(ddddd_ddddd) + VA_END() +BEGIN(dddddd_dddd) + ARGD6() + GETD6(dddddd_dddd) + VA_START() + VARGD4(dddddd_dddd) + VA_END() +BEGIN(ddddddd_ddd) + ARGD7() + GETD7(ddddddd_ddd) + VA_START() + VARGD3(ddddddd_ddd) + VA_END() +BEGIN(dddddddd_dd) + ARGD8() + GETD8(dddddddd_dd) + VA_START() + VARGD2(dddddddd_dd) + VA_END() +BEGIN(ddddddddd_d) + ARGD9() + GETD9(ddddddddd_d) + VA_START() + VARGD1(ddddddddd_d) + VA_END() +BEGIN(_ididididid) + VA_START() + IDVARG10(_ididididid) + VA_END() +BEGIN(i_didididid) + IDARG1() + IDGET1(i_didididid) + VA_START() + IDVARG9(i_didididid) + VA_END() +BEGIN(id_idididid) + IDARG2() + IDGET2(id_idididid) + VA_START() + IDVARG8(id_idididid) + VA_END() +BEGIN(idi_dididid) + IDARG3() + IDGET3(idi_dididid) + VA_START() + IDVARG7(idi_dididid) + VA_END() +BEGIN(idid_ididid) + IDARG4() + IDGET4(idid_ididid) + VA_START() + IDVARG6(idid_ididid) + VA_END() +BEGIN(ididi_didid) + IDARG5() + IDGET5(ididi_didid) + VA_START() + IDVARG5(ididi_didid) + VA_END() +BEGIN(ididid_idid) + IDARG6() + IDGET6(ididid_idid) + VA_START() + IDVARG4(ididid_idid) + VA_END() +BEGIN(idididi_did) + IDARG7() + IDGET7(idididi_did) + VA_START() + IDVARG3(idididi_did) + VA_END() +BEGIN(idididid_id) + IDARG8() + IDGET8(idididid_id) + VA_START() + IDVARG2(idididid_id) + VA_END() +BEGIN(ididididi_d) + IDARG9() + IDGET9(ididididi_d) + VA_START() + IDVARG1(ididididi_d) + VA_END() +BEGIN(_dididididi) + VA_START() + DIVARG10(_dididididi) + VA_END() +BEGIN(d_ididididi) + DIARG1() + DIGET1(d_ididididi) + VA_START() + DIVARG9(d_ididididi) + VA_END() +BEGIN(di_didididi) + DIARG2() + DIGET2(di_didididi) + VA_START() + DIVARG8(di_didididi) + VA_END() +BEGIN(did_idididi) + DIARG3() + DIGET3(did_idididi) + VA_START() + DIVARG7(did_idididi) + VA_END() +BEGIN(didi_dididi) + DIARG4() + DIGET4(didi_dididi) + VA_START() + DIVARG6(didi_dididi) + VA_END() +BEGIN(didid_ididi) + DIARG5() + DIGET5(didid_ididi) + VA_START() + DIVARG5(didid_ididi) + VA_END() +BEGIN(dididi_didi) + DIARG6() + DIGET6(dididi_didi) + VA_START() + DIVARG4(dididi_didi) + VA_END() +BEGIN(dididid_idi) + DIARG7() + DIGET7(dididid_idi) + VA_START() + DIVARG3(dididid_idi) + VA_END() +BEGIN(didididi_di) + DIARG8() + DIGET8(didididi_di) + VA_START() + DIVARG2(didididi_di) + VA_END() +BEGIN(didididid_i) + DIARG9() + DIGET9(didididid_i) + VA_START() + DIVARG1(didididid_i) + VA_END() + +#define PUSH1() pushargi 1 +#define PUSH2() PUSH1() pushargi 2 +#define PUSH3() PUSH2() pushargi 3 +#define PUSH4() PUSH3() pushargi 4 +#define PUSH5() PUSH4() pushargi 5 +#define PUSH6() PUSH5() pushargi 6 +#define PUSH7() PUSH6() pushargi 7 +#define PUSH8() PUSH7() pushargi 8 +#define PUSH9() PUSH8() pushargi 9 +#define VPUSH1() pushargi 1 VPUSH2() +#define VPUSH2() pushargi 2 VPUSH3() +#define VPUSH3() pushargi 3 VPUSH4() +#define VPUSH4() pushargi 4 VPUSH5() +#define VPUSH5() pushargi 5 VPUSH6() +#define VPUSH6() pushargi 6 VPUSH7() +#define VPUSH7() pushargi 7 VPUSH8() +#define VPUSH8() pushargi 8 VPUSH9() +#define VPUSH9() pushargi 9 VPUSH10() +#define VPUSH10() pushargi 10 +#define PUSHD1() pushargi_d 1 +#define PUSHD2() PUSHD1() pushargi_d 2 +#define PUSHD3() PUSHD2() pushargi_d 3 +#define PUSHD4() PUSHD3() pushargi_d 4 +#define PUSHD5() PUSHD4() pushargi_d 5 +#define PUSHD6() PUSHD5() pushargi_d 6 +#define PUSHD7() PUSHD6() pushargi_d 7 +#define PUSHD8() PUSHD7() pushargi_d 8 +#define PUSHD9() PUSHD8() pushargi_d 9 +#define VPUSHD1() pushargi_d 1 VPUSHD2() +#define VPUSHD2() pushargi_d 2 VPUSHD3() +#define VPUSHD3() pushargi_d 3 VPUSHD4() +#define VPUSHD4() pushargi_d 4 VPUSHD5() +#define VPUSHD5() pushargi_d 5 VPUSHD6() +#define VPUSHD6() pushargi_d 6 VPUSHD7() +#define VPUSHD7() pushargi_d 7 VPUSHD8() +#define VPUSHD8() pushargi_d 8 VPUSHD9() +#define VPUSHD9() pushargi_d 9 VPUSHD10() +#define VPUSHD10() pushargi_d 10 +#define IDPUSH1() pushargi 1 +#define IDPUSH2() IDPUSH1() pushargi_d 2 +#define IDPUSH3() IDPUSH2() pushargi 3 +#define IDPUSH4() IDPUSH3() pushargi_d 4 +#define IDPUSH5() IDPUSH4() pushargi 5 +#define IDPUSH6() IDPUSH5() pushargi_d 6 +#define IDPUSH7() IDPUSH6() pushargi 7 +#define IDPUSH8() IDPUSH7() pushargi_d 8 +#define IDPUSH9() IDPUSH8() pushargi 9 +#define IDVPUSH1() pushargi 1 IDVPUSH2() +#define IDVPUSH2() pushargi_d 2 IDVPUSH3() +#define IDVPUSH3() pushargi 3 IDVPUSH4() +#define IDVPUSH4() pushargi_d 4 IDVPUSH5() +#define IDVPUSH5() pushargi 5 IDVPUSH6() +#define IDVPUSH6() pushargi_d 6 IDVPUSH7() +#define IDVPUSH7() pushargi 7 IDVPUSH8() +#define IDVPUSH8() pushargi_d 8 IDVPUSH9() +#define IDVPUSH9() pushargi 9 IDVPUSH10() +#define IDVPUSH10() pushargi_d 10 +#define DIPUSH1() pushargi_d 1 +#define DIPUSH2() DIPUSH1() pushargi 2 +#define DIPUSH3() DIPUSH2() pushargi_d 3 +#define DIPUSH4() DIPUSH3() pushargi 4 +#define DIPUSH5() DIPUSH4() pushargi_d 5 +#define DIPUSH6() DIPUSH5() pushargi 6 +#define DIPUSH7() DIPUSH6() pushargi_d 7 +#define DIPUSH8() DIPUSH7() pushargi 8 +#define DIPUSH9() DIPUSH8() pushargi_d 9 +#define DIVPUSH1() pushargi_d 1 DIVPUSH2() +#define DIVPUSH2() pushargi 2 DIVPUSH3() +#define DIVPUSH3() pushargi_d 3 DIVPUSH4() +#define DIVPUSH4() pushargi 4 DIVPUSH5() +#define DIVPUSH5() pushargi_d 5 DIVPUSH6() +#define DIVPUSH6() pushargi 6 DIVPUSH7() +#define DIVPUSH7() pushargi_d 7 DIVPUSH8() +#define DIVPUSH8() pushargi 8 DIVPUSH9() +#define DIVPUSH9() pushargi_d 9 DIVPUSH10() +#define DIVPUSH10() pushargi 10 + +main: + prolog + prepare + ellipsis + VPUSH1() + finishi _iiiiiiiiii + prepare + PUSH1() + ellipsis + VPUSH2() + finishi i_iiiiiiiii + prepare + PUSH2() + ellipsis + VPUSH3() + finishi ii_iiiiiiii + prepare + PUSH3() + ellipsis + VPUSH4() + finishi iii_iiiiiii + prepare + PUSH4() + ellipsis + VPUSH5() + finishi iiii_iiiiii + prepare + PUSH5() + ellipsis + VPUSH6() + finishi iiiii_iiiii + prepare + PUSH6() + ellipsis + VPUSH7() + finishi iiiiii_iiii + prepare + PUSH7() + ellipsis + VPUSH8() + finishi iiiiiii_iii + prepare + PUSH8() + ellipsis + VPUSH9() + finishi iiiiiiii_ii + prepare + PUSH9() + ellipsis + VPUSH10() + finishi iiiiiiiii_i + prepare + ellipsis + VPUSHD1() + finishi _dddddddddd + prepare + PUSHD1() + ellipsis + VPUSHD2() + finishi d_ddddddddd + prepare + PUSHD2() + ellipsis + VPUSHD3() + finishi dd_dddddddd + prepare + PUSHD3() + ellipsis + VPUSHD4() + finishi ddd_ddddddd + prepare + PUSHD4() + ellipsis + VPUSHD5() + finishi dddd_dddddd + prepare + PUSHD5() + ellipsis + VPUSHD6() + finishi ddddd_ddddd + prepare + PUSHD6() + ellipsis + VPUSHD7() + finishi dddddd_dddd + prepare + PUSHD7() + ellipsis + VPUSHD8() + finishi ddddddd_ddd + prepare + PUSHD8() + ellipsis + VPUSHD9() + finishi dddddddd_dd + prepare + PUSHD9() + ellipsis + VPUSHD10() + finishi ddddddddd_d + prepare + ellipsis + IDVPUSH1() + finishi _ididididid + prepare + IDPUSH1() + ellipsis + IDVPUSH2() + finishi i_didididid + prepare + IDPUSH2() + ellipsis + IDVPUSH3() + finishi id_idididid + prepare + IDPUSH3() + ellipsis + IDVPUSH4() + finishi idi_dididid + prepare + IDPUSH4() + ellipsis + IDVPUSH5() + finishi idid_ididid + prepare + IDPUSH5() + ellipsis + IDVPUSH6() + finishi ididi_didid + prepare + IDPUSH6() + ellipsis + IDVPUSH7() + finishi ididid_idid + prepare + IDPUSH7() + ellipsis + IDVPUSH8() + finishi idididi_did + prepare + IDPUSH8() + ellipsis + IDVPUSH9() + finishi idididid_id + prepare + IDPUSH9() + ellipsis + IDVPUSH10() + finishi ididididi_d + prepare + ellipsis + DIVPUSH1() + finishi _dididididi + prepare + DIPUSH1() + ellipsis + DIVPUSH2() + finishi d_ididididi + prepare + DIPUSH2() + ellipsis + DIVPUSH3() + finishi di_didididi + prepare + DIPUSH3() + ellipsis + DIVPUSH4() + finishi did_idididi + prepare + DIPUSH4() + ellipsis + DIVPUSH5() + finishi didi_dididi + prepare + DIPUSH5() + ellipsis + DIVPUSH6() + finishi didid_ididi + prepare + DIPUSH6() + ellipsis + DIVPUSH7() + finishi dididi_didi + prepare + DIPUSH7() + ellipsis + DIVPUSH8() + finishi dididid_idi + prepare + DIPUSH8() + ellipsis + DIVPUSH9() + finishi didididi_di + prepare + DIPUSH9() + ellipsis + DIVPUSH10() + finishi didididid_i + prepare + pushargi ok + ellipsis + finishi @printf + ret + epilog -- cgit v1.2.3