diff options
author | Paul Cercueil | 2020-01-30 12:33:44 -0300 |
---|---|---|
committer | Paul Cercueil | 2020-02-08 11:44:52 -0300 |
commit | 4a71579b757d3a2eb6902c84391f429838ad4912 (patch) | |
tree | c57430315f1b82497eebd3fef24c0f4c0336bf0d /deps/lightning/check/qalu.inc | |
parent | ea884d3029c673e06a4084156ceb662598d8945a (diff) | |
download | pcsx_rearmed-4a71579b757d3a2eb6902c84391f429838ad4912.tar.gz pcsx_rearmed-4a71579b757d3a2eb6902c84391f429838ad4912.tar.bz2 pcsx_rearmed-4a71579b757d3a2eb6902c84391f429838ad4912.zip |
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"
Diffstat (limited to 'deps/lightning/check/qalu.inc')
-rw-r--r-- | deps/lightning/check/qalu.inc | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/deps/lightning/check/qalu.inc b/deps/lightning/check/qalu.inc new file mode 100644 index 0000000..9daca82 --- /dev/null +++ b/deps/lightning/check/qalu.inc @@ -0,0 +1,122 @@ +.data 8 +ok: +.c "ok\n" + +/* r0,r1 = r2 op r3 */ +#define QALUR(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + movi %R2 I0 \ + movi %R3 I1 \ + OP##r##T %R0 %R1 %R2 %R3 \ + bnei OP##T##N##rlo##R0##R1##R2##R3 %R0 LO \ + bnei OP##T##N##rlo##R0##R1##R2##R3 %R1 HI \ + bnei OP##T##N##rlo##R0##R1##R2##R3 %R2 I0 \ + beqi OP##T##N##rhi##R0##R1##R2##R3 %R3 I1 \ +OP##T##N##rlo##R0##R1##R2##R3: \ + calli @abort \ +OP##T##N##rhi##R0##R1##R2##R3: + +/* r0,r1 = r2 op i0 */ +#define QALUI(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + movi %R2 I0 \ + movi %R3 HI \ + OP##i##T %R0 %R1 %R2 I1 \ + bnei OP##T##N##ilo##R0##R1##R2##R3 %R0 LO \ + bner OP##T##N##ilo##R0##R1##R2##R3 %R1 %R3 \ + beqi OP##T##N##ihi##R0##R1##R2##R3 %R2 I0 \ +OP##T##N##ilo##R0##R1##R2##R3: \ + calli @abort \ +OP##T##N##ihi##R0##R1##R2##R3: + +/* r0,r1 = r0 op r1 */ +#define QALUX(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + movi %R0 I0 \ + movi %R1 I1 \ + movi %R2 LO \ + movi %R3 HI \ + OP##r##T %R0 %R1 %R0 %R1 \ + bner OP##T##N##0lo##R0##R1##R2##R3 %R0 %R2 \ + beqr OP##T##N##0hi##R0##R1##R2##R3 %R1 %R3 \ +OP##T##N##0lo##R0##R1##R2##R3: \ + calli @abort \ +OP##T##N##0hi##R0##R1##R2##R3: + +/* r0,r1 = r1 op r0 */ +#define QALUY(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + movi %R1 I0 \ + movi %R0 I1 \ + movi %R2 LO \ + movi %R3 HI \ + OP##r##T %R0 %R1 %R1 %R0 \ + bner OP##T##N##1lo##R0##R1##R2##R3 %R0 %R2 \ + beqr OP##T##N##1hi##R0##R1##R2##R3 %R1 %R3 \ +OP##T##N##1lo##R0##R1##R2##R3: \ + calli @abort \ +OP##T##N##1hi##R0##R1##R2##R3: + +/* r0,r1 = r0 op r3 */ +#define QALUZ(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + movi %R0 I0 \ + movi %R3 I1 \ + movi %R2 LO \ + OP##r##T %R0 %R1 %R0 %R3 \ + bner OP##T##N##2lo##R0##R1##R2##R3 %R0 %R2 \ + bnei OP##T##N##2lo##R0##R1##R2##R3 %R1 HI \ + beqi OP##T##N##2hi##R0##R1##R2##R3 %R3 I1 \ +OP##T##N##2lo##R0##R1##R2##R3: \ + calli @abort \ +OP##T##N##2hi##R0##R1##R2##R3: + +/* r0,r1 = r2 op r1 */ +#define QALUW(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + movi %R2 I0 \ + movi %R1 I1 \ + movi %R3 LO \ + OP##r##T %R0 %R1 %R2 %R1 \ + bner OP##T##N##3lo##R0##R1##R2##R3 %R0 %R3 \ + bnei OP##T##N##3lo##R0##R1##R2##R3 %R1 HI \ + beqi OP##T##N##3hi##R0##R1##R2##R3 %R2 I0 \ +OP##T##N##3lo##R0##R1##R2##R3: \ + calli @abort \ +OP##T##N##3hi##R0##R1##R2##R3: + +#define QALU2(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + QALUR(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + QALUI(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + QALUX(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + QALUY(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + QALUZ(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + QALUW(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) + +#define QALU1(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + QALU2(N, T, OP, I0, I1, LO, HI, R0, R1, R2, R3) \ + QALU2(N, T, OP, I0, I1, LO, HI, R0, R1, R3, R2) \ + QALU2(N, T, OP, I0, I1, LO, HI, R0, R2, R1, R3) \ + QALU2(N, T, OP, I0, I1, LO, HI, R0, R2, R3, R1) \ + QALU2(N, T, OP, I0, I1, LO, HI, R0, R3, R1, R2) \ + QALU2(N, T, OP, I0, I1, LO, HI, R0, R3, R2, R1) \ + QALU2(N, T, OP, I0, I1, LO, HI, R1, R0, R2, R3) \ + QALU2(N, T, OP, I0, I1, LO, HI, R1, R0, R3, R2) \ + QALU2(N, T, OP, I0, I1, LO, HI, R1, R2, R0, R3) \ + QALU2(N, T, OP, I0, I1, LO, HI, R1, R2, R3, R0) \ + QALU2(N, T, OP, I0, I1, LO, HI, R1, R3, R0, R2) \ + QALU2(N, T, OP, I0, I1, LO, HI, R1, R3, R2, R0) \ + QALU2(N, T, OP, I0, I1, LO, HI, R2, R1, R0, R3) \ + QALU2(N, T, OP, I0, I1, LO, HI, R2, R1, R3, R0) \ + QALU2(N, T, OP, I0, I1, LO, HI, R2, R0, R1, R3) \ + QALU2(N, T, OP, I0, I1, LO, HI, R2, R0, R3, R1) \ + QALU2(N, T, OP, I0, I1, LO, HI, R2, R3, R1, R0) \ + QALU2(N, T, OP, I0, I1, LO, HI, R2, R3, R0, R1) \ + QALU2(N, T, OP, I0, I1, LO, HI, R3, R1, R2, R0) \ + QALU2(N, T, OP, I0, I1, LO, HI, R3, R1, R0, R2) \ + QALU2(N, T, OP, I0, I1, LO, HI, R3, R2, R1, R0) \ + QALU2(N, T, OP, I0, I1, LO, HI, R3, R2, R0, R1) \ + QALU2(N, T, OP, I0, I1, LO, HI, R3, R0, R1, R2) \ + QALU2(N, T, OP, I0, I1, LO, HI, R3, R0, R2, R1) + +#define QALU(N, T, OP, I0, I1, LO, HI) \ + QALU1(N, T, OP, I0, I1, LO, HI, v0, v1, v2, r0) \ + QALU1(N, T, OP, I0, I1, LO, HI, v0, v1, v2, r1) \ + QALU1(N, T, OP, I0, I1, LO, HI, v0, v1, v2, r2) \ + QALU1(N, T, OP, I0, I1, LO, HI, v1, v2, r0, r1) \ + QALU1(N, T, OP, I0, I1, LO, HI, v1, v2, r0, r2) \ + QALU1(N, T, OP, I0, I1, LO, HI, v2, r0, r1, r2) |