|
From: Andreas A. <ar...@so...> - 2019-06-12 18:24:26
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=91d53d11671a07269846b189fcb2c5f2194d1da4 commit 91d53d11671a07269846b189fcb2c5f2194d1da4 Author: Ilya Leoshkevich <ii...@li...> Date: Thu May 16 12:34:38 2019 +0200 Bug 404406 - s390x: test z14 miscellaneous instructions Reuse the existing infrastructure for add, sub and mul. Add cc checks to all mul tests. Write a new test for bic. Signed-off-by: Ilya Leoshkevich <ii...@li...> Diff: --- .gitignore | 4 + none/tests/s390x/Makefile.am | 2 +- none/tests/s390x/add-z14.c | 13 + none/tests/s390x/add-z14.stderr.exp | 2 + none/tests/s390x/add-z14.stdout.exp | 154 ++ none/tests/s390x/add-z14.vgtest | 2 + none/tests/s390x/add.c | 39 +- none/tests/s390x/add.h | 23 +- none/tests/s390x/bic.c | 78 + none/tests/s390x/bic.stderr.exp | 2 + none/tests/s390x/bic.stdout.exp | 48 + none/tests/s390x/bic.vgtest | 2 + none/tests/s390x/mul-z14.c | 25 + none/tests/s390x/mul-z14.stderr.exp | 2 + none/tests/s390x/mul-z14.stdout.exp | 1078 +++++++++ none/tests/s390x/mul-z14.vgtest | 2 + none/tests/s390x/mul.c | 33 +- none/tests/s390x/mul.h | 209 +- none/tests/s390x/mul.stdout.exp | 4488 +++++++++++++++++------------------ none/tests/s390x/mul_GE.stdout.exp | 968 ++++---- none/tests/s390x/sub-z14.c | 13 + none/tests/s390x/sub-z14.stderr.exp | 2 + none/tests/s390x/sub-z14.stdout.exp | 154 ++ none/tests/s390x/sub-z14.vgtest | 2 + none/tests/s390x/sub.c | 37 +- none/tests/s390x/sub.h | 28 +- tests/s390x_features.c | 2 + 27 files changed, 4569 insertions(+), 2843 deletions(-) diff --git a/.gitignore b/.gitignore index c5d1bcc..640b8c6 100644 --- a/.gitignore +++ b/.gitignore @@ -1778,11 +1778,13 @@ /none/tests/s390x/*.stdout.diff* /none/tests/s390x/*.stdout.out /none/tests/s390x/add +/none/tests/s390x/add-z14 /none/tests/s390x/add_EI /none/tests/s390x/add_GE /none/tests/s390x/allexec /none/tests/s390x/and /none/tests/s390x/and_EI +/none/tests/s390x/bic /none/tests/s390x/clc /none/tests/s390x/clcle /none/tests/s390x/cvb @@ -1799,12 +1801,14 @@ /none/tests/s390x/Makefile /none/tests/s390x/Makefile.in /none/tests/s390x/mul +/none/tests/s390x/mul-z14 /none/tests/s390x/mul_GE /none/tests/s390x/mvst /none/tests/s390x/or /none/tests/s390x/or_EI /none/tests/s390x/srst /none/tests/s390x/sub +/none/tests/s390x/sub-z14 /none/tests/s390x/sub_EI /none/tests/s390x/tcxb /none/tests/s390x/xc diff --git a/none/tests/s390x/Makefile.am b/none/tests/s390x/Makefile.am index 097c85a..a5fbffd 100644 --- a/none/tests/s390x/Makefile.am +++ b/none/tests/s390x/Makefile.am @@ -19,7 +19,7 @@ INSN_TESTS = clc clcle cvb cvd icm lpr tcxb lam_stam xc mvst add sub mul \ spechelper-ltr spechelper-or \ spechelper-icm-1 spechelper-icm-2 spechelper-tmll \ spechelper-tm laa vector lsc2 ppno vector_string vector_integer \ - vector_float + vector_float add-z14 sub-z14 mul-z14 bic if BUILD_DFP_TESTS INSN_TESTS += dfp-1 dfp-2 dfp-3 dfp-4 dfptest dfpext dfpconv srnmt pfpo diff --git a/none/tests/s390x/add-z14.c b/none/tests/s390x/add-z14.c new file mode 100644 index 0000000..0f43398 --- /dev/null +++ b/none/tests/s390x/add-z14.c @@ -0,0 +1,13 @@ +#include "add.h" + +#define agh(x, y) ".insn rxy,0xe30000000038, " x ", " y "\n" + +static void do_regmem_insns(unsigned long m2) +{ + memsweep(agh, m2, 0); +} + +int main() +{ + for_each_m2(do_regmem_insns); +} diff --git a/none/tests/s390x/add-z14.stderr.exp b/none/tests/s390x/add-z14.stderr.exp new file mode 100644 index 0000000..139597f --- /dev/null +++ b/none/tests/s390x/add-z14.stderr.exp @@ -0,0 +1,2 @@ + + diff --git a/none/tests/s390x/add-z14.stdout.exp b/none/tests/s390x/add-z14.stdout.exp new file mode 100644 index 0000000..d1b2c26 --- /dev/null +++ b/none/tests/s390x/add-z14.stdout.exp @@ -0,0 +1,154 @@ +agh 0 + 0000000000000000 + 0000000000000000 = 0000000000000000 (cc=0) +agh 0 + 0000000000000001 + 0000000000000000 = 0000000000000001 (cc=2) +agh 0 + 000000000000FFFF + 0000000000000000 = 000000000000FFFF (cc=2) +agh 0 + 0000000000007FFF + 0000000000000000 = 0000000000007FFF (cc=2) +agh 0 + 0000000000008000 + 0000000000000000 = 0000000000008000 (cc=2) +agh 0 + 00000000FFFFFFFF + 0000000000000000 = 00000000FFFFFFFF (cc=2) +agh 0 + 0000000080000000 + 0000000000000000 = 0000000080000000 (cc=2) +agh 0 + 000000007FFFFFFF + 0000000000000000 = 000000007FFFFFFF (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 0000000000000000 = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 8000000000000000 + 0000000000000000 = 8000000000000000 (cc=1) +agh 0 + 7FFFFFFFFFFFFFFF + 0000000000000000 = 7FFFFFFFFFFFFFFF (cc=2) +agh 0 + 0000000000000000 + 7FFFFFFFFFFFFFFF = 0000000000007FFF (cc=2) +agh 0 + 0000000000000001 + 7FFFFFFFFFFFFFFF = 0000000000008000 (cc=2) +agh 0 + 000000000000FFFF + 7FFFFFFFFFFFFFFF = 0000000000017FFE (cc=2) +agh 0 + 0000000000007FFF + 7FFFFFFFFFFFFFFF = 000000000000FFFE (cc=2) +agh 0 + 0000000000008000 + 7FFFFFFFFFFFFFFF = 000000000000FFFF (cc=2) +agh 0 + 00000000FFFFFFFF + 7FFFFFFFFFFFFFFF = 0000000100007FFE (cc=2) +agh 0 + 0000000080000000 + 7FFFFFFFFFFFFFFF = 0000000080007FFF (cc=2) +agh 0 + 000000007FFFFFFF + 7FFFFFFFFFFFFFFF = 0000000080007FFE (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 7FFFFFFFFFFFFFFF = 0000000000007FFE (cc=2) +agh 0 + 8000000000000000 + 7FFFFFFFFFFFFFFF = 8000000000007FFF (cc=1) +agh 0 + 7FFFFFFFFFFFFFFF + 7FFFFFFFFFFFFFFF = 8000000000007FFE (cc=3) +agh 0 + 0000000000000000 + 8000000000000000 = FFFFFFFFFFFF8000 (cc=1) +agh 0 + 0000000000000001 + 8000000000000000 = FFFFFFFFFFFF8001 (cc=1) +agh 0 + 000000000000FFFF + 8000000000000000 = 0000000000007FFF (cc=2) +agh 0 + 0000000000007FFF + 8000000000000000 = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 0000000000008000 + 8000000000000000 = 0000000000000000 (cc=0) +agh 0 + 00000000FFFFFFFF + 8000000000000000 = 00000000FFFF7FFF (cc=2) +agh 0 + 0000000080000000 + 8000000000000000 = 000000007FFF8000 (cc=2) +agh 0 + 000000007FFFFFFF + 8000000000000000 = 000000007FFF7FFF (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 8000000000000000 = FFFFFFFFFFFF7FFF (cc=1) +agh 0 + 8000000000000000 + 8000000000000000 = 7FFFFFFFFFFF8000 (cc=3) +agh 0 + 7FFFFFFFFFFFFFFF + 8000000000000000 = 7FFFFFFFFFFF7FFF (cc=2) +agh 0 + 0000000000000000 + FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 0000000000000001 + FFFFFFFFFFFFFFFF = 0000000000000000 (cc=0) +agh 0 + 000000000000FFFF + FFFFFFFFFFFFFFFF = 000000000000FFFE (cc=2) +agh 0 + 0000000000007FFF + FFFFFFFFFFFFFFFF = 0000000000007FFE (cc=2) +agh 0 + 0000000000008000 + FFFFFFFFFFFFFFFF = 0000000000007FFF (cc=2) +agh 0 + 00000000FFFFFFFF + FFFFFFFFFFFFFFFF = 00000000FFFFFFFE (cc=2) +agh 0 + 0000000080000000 + FFFFFFFFFFFFFFFF = 000000007FFFFFFF (cc=2) +agh 0 + 000000007FFFFFFF + FFFFFFFFFFFFFFFF = 000000007FFFFFFE (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFE (cc=1) +agh 0 + 8000000000000000 + FFFFFFFFFFFFFFFF = 7FFFFFFFFFFFFFFF (cc=3) +agh 0 + 7FFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF = 7FFFFFFFFFFFFFFE (cc=2) +agh 0 + 0000000000000000 + 7FFFFFFF00000000 = 0000000000007FFF (cc=2) +agh 0 + 0000000000000001 + 7FFFFFFF00000000 = 0000000000008000 (cc=2) +agh 0 + 000000000000FFFF + 7FFFFFFF00000000 = 0000000000017FFE (cc=2) +agh 0 + 0000000000007FFF + 7FFFFFFF00000000 = 000000000000FFFE (cc=2) +agh 0 + 0000000000008000 + 7FFFFFFF00000000 = 000000000000FFFF (cc=2) +agh 0 + 00000000FFFFFFFF + 7FFFFFFF00000000 = 0000000100007FFE (cc=2) +agh 0 + 0000000080000000 + 7FFFFFFF00000000 = 0000000080007FFF (cc=2) +agh 0 + 000000007FFFFFFF + 7FFFFFFF00000000 = 0000000080007FFE (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 7FFFFFFF00000000 = 0000000000007FFE (cc=2) +agh 0 + 8000000000000000 + 7FFFFFFF00000000 = 8000000000007FFF (cc=1) +agh 0 + 7FFFFFFFFFFFFFFF + 7FFFFFFF00000000 = 8000000000007FFE (cc=3) +agh 0 + 0000000000000000 + 8000000000000000 = FFFFFFFFFFFF8000 (cc=1) +agh 0 + 0000000000000001 + 8000000000000000 = FFFFFFFFFFFF8001 (cc=1) +agh 0 + 000000000000FFFF + 8000000000000000 = 0000000000007FFF (cc=2) +agh 0 + 0000000000007FFF + 8000000000000000 = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 0000000000008000 + 8000000000000000 = 0000000000000000 (cc=0) +agh 0 + 00000000FFFFFFFF + 8000000000000000 = 00000000FFFF7FFF (cc=2) +agh 0 + 0000000080000000 + 8000000000000000 = 000000007FFF8000 (cc=2) +agh 0 + 000000007FFFFFFF + 8000000000000000 = 000000007FFF7FFF (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 8000000000000000 = FFFFFFFFFFFF7FFF (cc=1) +agh 0 + 8000000000000000 + 8000000000000000 = 7FFFFFFFFFFF8000 (cc=3) +agh 0 + 7FFFFFFFFFFFFFFF + 8000000000000000 = 7FFFFFFFFFFF7FFF (cc=2) +agh 0 + 0000000000000000 + FFFFFFFF00000000 = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 0000000000000001 + FFFFFFFF00000000 = 0000000000000000 (cc=0) +agh 0 + 000000000000FFFF + FFFFFFFF00000000 = 000000000000FFFE (cc=2) +agh 0 + 0000000000007FFF + FFFFFFFF00000000 = 0000000000007FFE (cc=2) +agh 0 + 0000000000008000 + FFFFFFFF00000000 = 0000000000007FFF (cc=2) +agh 0 + 00000000FFFFFFFF + FFFFFFFF00000000 = 00000000FFFFFFFE (cc=2) +agh 0 + 0000000080000000 + FFFFFFFF00000000 = 000000007FFFFFFF (cc=2) +agh 0 + 000000007FFFFFFF + FFFFFFFF00000000 = 000000007FFFFFFE (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + FFFFFFFF00000000 = FFFFFFFFFFFFFFFE (cc=1) +agh 0 + 8000000000000000 + FFFFFFFF00000000 = 7FFFFFFFFFFFFFFF (cc=3) +agh 0 + 7FFFFFFFFFFFFFFF + FFFFFFFF00000000 = 7FFFFFFFFFFFFFFE (cc=2) +agh 0 + 0000000000000000 + 000000007FFFFFFF = 0000000000000000 (cc=0) +agh 0 + 0000000000000001 + 000000007FFFFFFF = 0000000000000001 (cc=2) +agh 0 + 000000000000FFFF + 000000007FFFFFFF = 000000000000FFFF (cc=2) +agh 0 + 0000000000007FFF + 000000007FFFFFFF = 0000000000007FFF (cc=2) +agh 0 + 0000000000008000 + 000000007FFFFFFF = 0000000000008000 (cc=2) +agh 0 + 00000000FFFFFFFF + 000000007FFFFFFF = 00000000FFFFFFFF (cc=2) +agh 0 + 0000000080000000 + 000000007FFFFFFF = 0000000080000000 (cc=2) +agh 0 + 000000007FFFFFFF + 000000007FFFFFFF = 000000007FFFFFFF (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 000000007FFFFFFF = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 8000000000000000 + 000000007FFFFFFF = 8000000000000000 (cc=1) +agh 0 + 7FFFFFFFFFFFFFFF + 000000007FFFFFFF = 7FFFFFFFFFFFFFFF (cc=2) +agh 0 + 0000000000000000 + 0000000080000000 = 0000000000000000 (cc=0) +agh 0 + 0000000000000001 + 0000000080000000 = 0000000000000001 (cc=2) +agh 0 + 000000000000FFFF + 0000000080000000 = 000000000000FFFF (cc=2) +agh 0 + 0000000000007FFF + 0000000080000000 = 0000000000007FFF (cc=2) +agh 0 + 0000000000008000 + 0000000080000000 = 0000000000008000 (cc=2) +agh 0 + 00000000FFFFFFFF + 0000000080000000 = 00000000FFFFFFFF (cc=2) +agh 0 + 0000000080000000 + 0000000080000000 = 0000000080000000 (cc=2) +agh 0 + 000000007FFFFFFF + 0000000080000000 = 000000007FFFFFFF (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 0000000080000000 = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 8000000000000000 + 0000000080000000 = 8000000000000000 (cc=1) +agh 0 + 7FFFFFFFFFFFFFFF + 0000000080000000 = 7FFFFFFFFFFFFFFF (cc=2) +agh 0 + 0000000000000000 + 00000000FFFFFFFF = 0000000000000000 (cc=0) +agh 0 + 0000000000000001 + 00000000FFFFFFFF = 0000000000000001 (cc=2) +agh 0 + 000000000000FFFF + 00000000FFFFFFFF = 000000000000FFFF (cc=2) +agh 0 + 0000000000007FFF + 00000000FFFFFFFF = 0000000000007FFF (cc=2) +agh 0 + 0000000000008000 + 00000000FFFFFFFF = 0000000000008000 (cc=2) +agh 0 + 00000000FFFFFFFF + 00000000FFFFFFFF = 00000000FFFFFFFF (cc=2) +agh 0 + 0000000080000000 + 00000000FFFFFFFF = 0000000080000000 (cc=2) +agh 0 + 000000007FFFFFFF + 00000000FFFFFFFF = 000000007FFFFFFF (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 00000000FFFFFFFF = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 8000000000000000 + 00000000FFFFFFFF = 8000000000000000 (cc=1) +agh 0 + 7FFFFFFFFFFFFFFF + 00000000FFFFFFFF = 7FFFFFFFFFFFFFFF (cc=2) +agh 0 + 0000000000000000 + 000000000000FFFF = 0000000000000000 (cc=0) +agh 0 + 0000000000000001 + 000000000000FFFF = 0000000000000001 (cc=2) +agh 0 + 000000000000FFFF + 000000000000FFFF = 000000000000FFFF (cc=2) +agh 0 + 0000000000007FFF + 000000000000FFFF = 0000000000007FFF (cc=2) +agh 0 + 0000000000008000 + 000000000000FFFF = 0000000000008000 (cc=2) +agh 0 + 00000000FFFFFFFF + 000000000000FFFF = 00000000FFFFFFFF (cc=2) +agh 0 + 0000000080000000 + 000000000000FFFF = 0000000080000000 (cc=2) +agh 0 + 000000007FFFFFFF + 000000000000FFFF = 000000007FFFFFFF (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 000000000000FFFF = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 8000000000000000 + 000000000000FFFF = 8000000000000000 (cc=1) +agh 0 + 7FFFFFFFFFFFFFFF + 000000000000FFFF = 7FFFFFFFFFFFFFFF (cc=2) +agh 0 + 0000000000000000 + 0000000000007FFF = 0000000000000000 (cc=0) +agh 0 + 0000000000000001 + 0000000000007FFF = 0000000000000001 (cc=2) +agh 0 + 000000000000FFFF + 0000000000007FFF = 000000000000FFFF (cc=2) +agh 0 + 0000000000007FFF + 0000000000007FFF = 0000000000007FFF (cc=2) +agh 0 + 0000000000008000 + 0000000000007FFF = 0000000000008000 (cc=2) +agh 0 + 00000000FFFFFFFF + 0000000000007FFF = 00000000FFFFFFFF (cc=2) +agh 0 + 0000000080000000 + 0000000000007FFF = 0000000080000000 (cc=2) +agh 0 + 000000007FFFFFFF + 0000000000007FFF = 000000007FFFFFFF (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 0000000000007FFF = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 8000000000000000 + 0000000000007FFF = 8000000000000000 (cc=1) +agh 0 + 7FFFFFFFFFFFFFFF + 0000000000007FFF = 7FFFFFFFFFFFFFFF (cc=2) +agh 0 + 0000000000000000 + 0000000000008000 = 0000000000000000 (cc=0) +agh 0 + 0000000000000001 + 0000000000008000 = 0000000000000001 (cc=2) +agh 0 + 000000000000FFFF + 0000000000008000 = 000000000000FFFF (cc=2) +agh 0 + 0000000000007FFF + 0000000000008000 = 0000000000007FFF (cc=2) +agh 0 + 0000000000008000 + 0000000000008000 = 0000000000008000 (cc=2) +agh 0 + 00000000FFFFFFFF + 0000000000008000 = 00000000FFFFFFFF (cc=2) +agh 0 + 0000000080000000 + 0000000000008000 = 0000000080000000 (cc=2) +agh 0 + 000000007FFFFFFF + 0000000000008000 = 000000007FFFFFFF (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 0000000000008000 = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 8000000000000000 + 0000000000008000 = 8000000000000000 (cc=1) +agh 0 + 7FFFFFFFFFFFFFFF + 0000000000008000 = 7FFFFFFFFFFFFFFF (cc=2) +agh 0 + 0000000000000000 + 000000000000FFFF = 0000000000000000 (cc=0) +agh 0 + 0000000000000001 + 000000000000FFFF = 0000000000000001 (cc=2) +agh 0 + 000000000000FFFF + 000000000000FFFF = 000000000000FFFF (cc=2) +agh 0 + 0000000000007FFF + 000000000000FFFF = 0000000000007FFF (cc=2) +agh 0 + 0000000000008000 + 000000000000FFFF = 0000000000008000 (cc=2) +agh 0 + 00000000FFFFFFFF + 000000000000FFFF = 00000000FFFFFFFF (cc=2) +agh 0 + 0000000080000000 + 000000000000FFFF = 0000000080000000 (cc=2) +agh 0 + 000000007FFFFFFF + 000000000000FFFF = 000000007FFFFFFF (cc=2) +agh 0 + FFFFFFFFFFFFFFFF + 000000000000FFFF = FFFFFFFFFFFFFFFF (cc=1) +agh 0 + 8000000000000000 + 000000000000FFFF = 8000000000000000 (cc=1) +agh 0 + 7FFFFFFFFFFFFFFF + 000000000000FFFF = 7FFFFFFFFFFFFFFF (cc=2) diff --git a/none/tests/s390x/add-z14.vgtest b/none/tests/s390x/add-z14.vgtest new file mode 100644 index 0000000..531b58f --- /dev/null +++ b/none/tests/s390x/add-z14.vgtest @@ -0,0 +1,2 @@ +prog: add-z14 +prereq: ../../../tests/s390x_features s390x-mi2 diff --git a/none/tests/s390x/add.c b/none/tests/s390x/add.c index 0041ed2..4f2f9be 100644 --- a/none/tests/s390x/add.c +++ b/none/tests/s390x/add.c @@ -1,7 +1,9 @@ -#include <stdio.h> #include "add.h" #include "opcodes.h" +#define ahi(x, y) "ahi " x ", " y "\n" +#define aghi(x, y) "aghi " x ", " y "\n" + static void do_imm_insns(void) { immsweep(ahi, 0, 0); @@ -14,6 +16,24 @@ static void do_imm_insns(void) immsweep(aghi, 32767, 0); } +#define a(x, y) "a " x ", " y "\n" +#define ah(x, y) "ah " x ", " y "\n" +#define ag(x, y) "ag " x ", " y "\n" +#define agf(x, y) "agf " x ", " y "\n" +#define al(x, y) "al " x ", " y "\n" +#define alg(x, y) "alg " x ", " y "\n" +#define agf(x, y) "agf " x ", " y "\n" +#define algf(x, y) "algf " x ", " y "\n" +#define ar(x, y) "ar " x ", " y "\n" +#define agr(x, y) "agr " x ", " y "\n" +#define agfr(x, y) "agfr " x ", " y "\n" +#define alr(x, y) "alr " x ", " y "\n" +#define algr(x, y) "algr " x ", " y "\n" +#define algfr(x, y) "algfr " x ", " y "\n" +#define alc(x, y) "alc " x ", " y "\n" +#define alcg(x, y) "alcg " x ", " y "\n" +#define alcr(x, y) "alcr " x ", " y "\n" +#define alcgr(x, y) "alcgr " x ", " y "\n" static void do_regmem_insns(unsigned long s2) { @@ -46,22 +66,7 @@ static void do_regmem_insns(unsigned long s2) int main() { - do_regmem_insns(0x0ul); - do_regmem_insns(0x7ffffffffffffffful); - do_regmem_insns(0x8000000000000000ul); - do_regmem_insns(0xfffffffffffffffful); - do_regmem_insns(0x7fffffff00000000ul); - do_regmem_insns(0x8000000000000000ul); - do_regmem_insns(0xffffffff00000000ul); - do_regmem_insns(0x000000007ffffffful); - do_regmem_insns(0x0000000080000000ul); - do_regmem_insns(0x00000000fffffffful); - do_regmem_insns(0x000000000000fffful); - do_regmem_insns(0x0000000000007ffful); - do_regmem_insns(0x0000000000008000ul); - do_regmem_insns(0x000000000000fffful); + for_each_m2(do_regmem_insns); do_imm_insns(); - - return 0; } diff --git a/none/tests/s390x/add.h b/none/tests/s390x/add.h index 5311161..a5051cf 100644 --- a/none/tests/s390x/add.h +++ b/none/tests/s390x/add.h @@ -9,7 +9,7 @@ volatile long v; int cc; \ asm volatile( "lghi 0," #CARRY "\n" \ "aghi 0, 0\n" \ - #insn " %0, %3\n" \ + insn("%0", "%3") \ "ipm %1\n" \ "srl %1,28\n" \ : "+d" (tmp), "=d" (cc) \ @@ -24,7 +24,7 @@ volatile long v; int cc; \ asm volatile( "lghi 0," #CARRY "\n" \ "aghi 0, 0\n" \ - #insn " %0, %3\n" \ + insn("%0", "%3") \ "ipm %1\n" \ "srl %1,28\n" \ : "+d" (tmp), "=d" (cc) \ @@ -39,7 +39,7 @@ volatile long v; int cc; \ asm volatile( "lghi 0," #CARRY "\n" \ "aghi 0, 0\n" \ - #insn " %0," #s2 "\n" \ + insn("%0", #s2) \ "ipm %1\n" \ "srl %1,28\n" \ : "+d" (tmp), "=d" (cc) \ @@ -204,3 +204,20 @@ volatile long v; ADD_REG_XIMM(i, 0x7ffffffffffffffful, us2, s2, carryset); \ }) +#define for_each_m2(f) \ +({ \ + f(0x0ul); \ + f(0x7ffffffffffffffful); \ + f(0x8000000000000000ul); \ + f(0xfffffffffffffffful); \ + f(0x7fffffff00000000ul); \ + f(0x8000000000000000ul); \ + f(0xffffffff00000000ul); \ + f(0x000000007ffffffful); \ + f(0x0000000080000000ul); \ + f(0x00000000fffffffful); \ + f(0x000000000000fffful); \ + f(0x0000000000007ffful); \ + f(0x0000000000008000ul); \ + f(0x000000000000fffful); \ +}) diff --git a/none/tests/s390x/bic.c b/none/tests/s390x/bic.c new file mode 100644 index 0000000..a8d28d9 --- /dev/null +++ b/none/tests/s390x/bic.c @@ -0,0 +1,78 @@ +#include <stdio.h> + +#define HEAD "agfi %[i], -8\n" \ + "jl 1f\n" \ + "larl %[table], 6f\n" \ + "sllg %[i], %[i], 3(0)\n" \ + "clgfi %[i], 4*8\n" + +#define TAIL "0: lghi %[i], 200\n" \ + "j 7f\n" \ + "1: lghi %[i], 100\n" \ + "j 7f\n" \ + "2: lghi %[i], 111\n" \ + "j 7f\n" \ + "3: lghi %[i], 122\n" \ + "j 7f\n" \ + "4: lghi %[i], 133\n" \ + "j 7f\n" \ + "5: lghi %[i], 144\n" \ + "j 7f\n" \ + "6:\n" \ + ".quad 2b\n" \ + ".quad 3b\n" \ + ".quad 4b\n" \ + ".quad 5b\n" \ + ".quad 5b\n" \ + "7:\n" + +static int bic0(int i) +{ + void *table; + asm volatile(HEAD + "brcl 10, 0f\n" + ".insn rxy, 0xe30000000047, 0, 8(%[i],%[table])\n" + "lg %[table],0(%[i],%[table])\n" + "br %[table]\n" + TAIL + : [i] "+d" (i) + , [table] "=d" (table) + :: "cc"); + return i; +} + +static int bic4(int i) +{ + void *table; + asm volatile(HEAD + ".insn rxy, 0xe30000000047, 4, 0(%[i],%[table])\n" + TAIL + : [i] "+d" (i) + , [table] "=d" (table) + :: "cc"); + return i; +} + +static int bic15(int i) +{ + void *table; + asm volatile(HEAD + "brcl 10, 0f\n" + ".insn rxy, 0xe30000000047, 15, 0(%[i],%[table])\n" + TAIL + : [i] "+d" (i) + , [table] "=d" (table) + :: "cc"); + return i; +} + +int main() +{ + int i; + + for (i = 0; i < 16; i++) { + printf("bic0: %d -> %d\n", i, bic0(i)); + printf("bic4: %d -> %d\n", i, bic4(i)); + printf("bic15: %d -> %d\n", i, bic15(i)); + } +} diff --git a/none/tests/s390x/bic.stderr.exp b/none/tests/s390x/bic.stderr.exp new file mode 100644 index 0000000..139597f --- /dev/null +++ b/none/tests/s390x/bic.stderr.exp @@ -0,0 +1,2 @@ + + diff --git a/none/tests/s390x/bic.stdout.exp b/none/tests/s390x/bic.stdout.exp new file mode 100644 index 0000000..64dcac4 --- /dev/null +++ b/none/tests/s390x/bic.stdout.exp @@ -0,0 +1,48 @@ +bic0: 0 -> 100 +bic4: 0 -> 100 +bic15: 0 -> 100 +bic0: 1 -> 100 +bic4: 1 -> 100 +bic15: 1 -> 100 +bic0: 2 -> 100 +bic4: 2 -> 100 +bic15: 2 -> 100 +bic0: 3 -> 100 +bic4: 3 -> 100 +bic15: 3 -> 100 +bic0: 4 -> 100 +bic4: 4 -> 100 +bic15: 4 -> 100 +bic0: 5 -> 100 +bic4: 5 -> 100 +bic15: 5 -> 100 +bic0: 6 -> 100 +bic4: 6 -> 100 +bic15: 6 -> 100 +bic0: 7 -> 100 +bic4: 7 -> 100 +bic15: 7 -> 100 +bic0: 8 -> 111 +bic4: 8 -> 111 +bic15: 8 -> 111 +bic0: 9 -> 122 +bic4: 9 -> 122 +bic15: 9 -> 122 +bic0: 10 -> 133 +bic4: 10 -> 133 +bic15: 10 -> 133 +bic0: 11 -> 144 +bic4: 11 -> 144 +bic15: 11 -> 144 +bic0: 12 -> 200 +bic4: 12 -> 200 +bic15: 12 -> 200 +bic0: 13 -> 200 +bic4: 13 -> 200 +bic15: 13 -> 200 +bic0: 14 -> 200 +bic4: 14 -> 200 +bic15: 14 -> 200 +bic0: 15 -> 200 +bic4: 15 -> 200 +bic15: 15 -> 200 diff --git a/none/tests/s390x/bic.vgtest b/none/tests/s390x/bic.vgtest new file mode 100644 index 0000000..dfb8c23 --- /dev/null +++ b/none/tests/s390x/bic.vgtest @@ -0,0 +1,2 @@ +prog: bic +prereq: ../../../tests/s390x_features s390x-mi2 diff --git a/none/tests/s390x/mul-z14.c b/none/tests/s390x/mul-z14.c new file mode 100644 index 0000000..1a28af8 --- /dev/null +++ b/none/tests/s390x/mul-z14.c @@ -0,0 +1,25 @@ +#include "mul.h" + +#define mg(x, y) ".insn rxy,0xe30000000084, " x ", " y "\n" +#define mgh(x, y) ".insn rxy,0xe3000000003c, " x ", " y "\n" +#define mgrk(x, y, z) ".insn rrf,0xb9ec0000, " x ", " y ", " z ", 0\n" +#define msc(x, y) ".insn rxy,0xe30000000053, " x ", " y "\n" +#define msrkc(x, y, z) ".insn rrf,0xb9fd0000, " x ", " y ", " z ", 0\n" +#define msgc(x, y) ".insn rxy,0xe30000000083, " x ", " y "\n" +#define msgrkc(x, y, z) ".insn rrf,0xb9ed0000, " x ", " y ", " z ", 0\n" + +static void do_regmem_insns(unsigned long m2) +{ + memsweep(mg, m2); + memsweep(mgh, m2); + regregsweep(mgrk, m2); + memsweep(msc, m2); + regregsweep(msrkc, m2); + memsweep(msgc, m2); + regregsweep(msgrkc, m2); +} + +int main() +{ + for_each_m2(do_regmem_insns); +} diff --git a/none/tests/s390x/mul-z14.stderr.exp b/none/tests/s390x/mul-z14.stderr.exp new file mode 100644 index 0000000..139597f --- /dev/null +++ b/none/tests/s390x/mul-z14.stderr.exp @@ -0,0 +1,2 @@ + + diff --git a/none/tests/s390x/mul-z14.stdout.exp b/none/tests/s390x/mul-z14.stdout.exp new file mode 100644 index 0000000..da22b57 --- /dev/null +++ b/none/tests/s390x/mul-z14.stdout.exp @@ -0,0 +1,1078 @@ +mg 0000000000000000 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mg 0000000000000001 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mg 000000000000FFFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mg 0000000000007FFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mg 0000000000008000 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mg 00000000FFFFFFFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mg 0000000080000000 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mg 000000007FFFFFFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mg FFFFFFFFFFFFFFFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mg 8000000000000000 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mg 7FFFFFFFFFFFFFFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgh 0000000000000000 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgh 0000000000000001 * 0000000000000000 = 00000000000000000000000000000001 (cc=0) +mgh 000000000000FFFF * 0000000000000000 = 0000000000000000000000000000FFFF (cc=0) +mgh 0000000000007FFF * 0000000000000000 = 00000000000000000000000000007FFF (cc=0) +mgh 0000000000008000 * 0000000000000000 = 00000000000000000000000000008000 (cc=0) +mgh 00000000FFFFFFFF * 0000000000000000 = 000000000000000000000000FFFFFFFF (cc=0) +mgh 0000000080000000 * 0000000000000000 = 00000000000000000000000080000000 (cc=0) +mgh 000000007FFFFFFF * 0000000000000000 = 0000000000000000000000007FFFFFFF (cc=0) +mgh FFFFFFFFFFFFFFFF * 0000000000000000 = 0000000000000000FFFFFFFFFFFFFFFF (cc=0) +mgh 8000000000000000 * 0000000000000000 = 00000000000000008000000000000000 (cc=0) +mgh 7FFFFFFFFFFFFFFF * 0000000000000000 = 00000000000000007FFFFFFFFFFFFFFF (cc=0) +mgrk 0000000000000000 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk 0000000000000001 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk 000000000000FFFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk 0000000000007FFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk 0000000000008000 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk 00000000FFFFFFFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk 0000000080000000 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk 000000007FFFFFFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk FFFFFFFFFFFFFFFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk 8000000000000000 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk 7FFFFFFFFFFFFFFF * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +msc 0000000000000000 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +msc 0000000000000001 * 0000000000000000 = 00000000000000000000000000000001 (cc=0) +msc 000000000000FFFF * 0000000000000000 = 0000000000000000000000000000FFFF (cc=0) +msc 0000000000007FFF * 0000000000000000 = 00000000000000000000000000007FFF (cc=0) +msc 0000000000008000 * 0000000000000000 = 00000000000000000000000000008000 (cc=0) +msc 00000000FFFFFFFF * 0000000000000000 = 000000000000000000000000FFFFFFFF (cc=0) +msc 0000000080000000 * 0000000000000000 = 00000000000000000000000080000000 (cc=0) +msc 000000007FFFFFFF * 0000000000000000 = 0000000000000000000000007FFFFFFF (cc=0) +msc FFFFFFFFFFFFFFFF * 0000000000000000 = FFFFFFFF00000000FFFFFFFFFFFFFFFF (cc=0) +msc 8000000000000000 * 0000000000000000 = 80000000000000008000000000000000 (cc=0) +msc 7FFFFFFFFFFFFFFF * 0000000000000000 = 7FFFFFFF000000007FFFFFFFFFFFFFFF (cc=0) +msrkc 0000000000000000 * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000000001 * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 000000000000FFFF * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000007FFF * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000008000 * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 00000000FFFFFFFF * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000080000000 * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 000000007FFFFFFF * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc FFFFFFFFFFFFFFFF * 0000000000000000 = FFFFFFFF000000000000000000000002 (cc=0) +msrkc 8000000000000000 * 0000000000000000 = 80000000000000000000000000000002 (cc=0) +msrkc 7FFFFFFFFFFFFFFF * 0000000000000000 = 7FFFFFFF000000000000000000000002 (cc=0) +msgc 0000000000000000 * 0000000000000000 = 00000000000000000000000000000000 (cc=0) +msgc 0000000000000001 * 0000000000000000 = 00000000000000000000000000000001 (cc=0) +msgc 000000000000FFFF * 0000000000000000 = 0000000000000000000000000000FFFF (cc=0) +msgc 0000000000007FFF * 0000000000000000 = 00000000000000000000000000007FFF (cc=0) +msgc 0000000000008000 * 0000000000000000 = 00000000000000000000000000008000 (cc=0) +msgc 00000000FFFFFFFF * 0000000000000000 = 000000000000000000000000FFFFFFFF (cc=0) +msgc 0000000080000000 * 0000000000000000 = 00000000000000000000000080000000 (cc=0) +msgc 000000007FFFFFFF * 0000000000000000 = 0000000000000000000000007FFFFFFF (cc=0) +msgc FFFFFFFFFFFFFFFF * 0000000000000000 = 0000000000000000FFFFFFFFFFFFFFFF (cc=0) +msgc 8000000000000000 * 0000000000000000 = 00000000000000008000000000000000 (cc=0) +msgc 7FFFFFFFFFFFFFFF * 0000000000000000 = 00000000000000007FFFFFFFFFFFFFFF (cc=0) +msgrkc 0000000000000000 * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msgrkc 0000000000000001 * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msgrkc 000000000000FFFF * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msgrkc 0000000000007FFF * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msgrkc 0000000000008000 * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msgrkc 00000000FFFFFFFF * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msgrkc 0000000080000000 * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msgrkc 000000007FFFFFFF * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msgrkc FFFFFFFFFFFFFFFF * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msgrkc 8000000000000000 * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +msgrkc 7FFFFFFFFFFFFFFF * 0000000000000000 = 00000000000000000000000000000002 (cc=0) +mg 0000000000000000 * 7FFFFFFFFFFFFFFF = 00000000000000000000000000000000 (cc=0) +mg 0000000000000001 * 7FFFFFFFFFFFFFFF = 00000000000000007FFFFFFFFFFFFFFF (cc=0) +mg 000000000000FFFF * 7FFFFFFFFFFFFFFF = 0000000000007FFF7FFFFFFFFFFF0001 (cc=0) +mg 0000000000007FFF * 7FFFFFFFFFFFFFFF = 0000000000003FFF7FFFFFFFFFFF8001 (cc=0) +mg 0000000000008000 * 7FFFFFFFFFFFFFFF = 0000000000003FFFFFFFFFFFFFFF8000 (cc=0) +mg 00000000FFFFFFFF * 7FFFFFFFFFFFFFFF = 000000007FFFFFFF7FFFFFFF00000001 (cc=0) +mg 0000000080000000 * 7FFFFFFFFFFFFFFF = 000000003FFFFFFFFFFFFFFF80000000 (cc=0) +mg 000000007FFFFFFF * 7FFFFFFFFFFFFFFF = 000000003FFFFFFF7FFFFFFF80000001 (cc=0) +mg FFFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFF8000000000000001 (cc=0) +mg 8000000000000000 * 7FFFFFFFFFFFFFFF = C0000000000000008000000000000000 (cc=0) +mg 7FFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = 3FFFFFFFFFFFFFFF0000000000000001 (cc=0) +mgh 0000000000000000 * 7FFFFFFFFFFFFFFF = 00000000000000000000000000000000 (cc=0) +mgh 0000000000000001 * 7FFFFFFFFFFFFFFF = 0000000000007FFF0000000000000001 (cc=0) +mgh 000000000000FFFF * 7FFFFFFFFFFFFFFF = 000000007FFE8001000000000000FFFF (cc=0) +mgh 0000000000007FFF * 7FFFFFFFFFFFFFFF = 000000003FFF00010000000000007FFF (cc=0) +mgh 0000000000008000 * 7FFFFFFFFFFFFFFF = 000000003FFF80000000000000008000 (cc=0) +mgh 00000000FFFFFFFF * 7FFFFFFFFFFFFFFF = 00007FFEFFFF800100000000FFFFFFFF (cc=0) +mgh 0000000080000000 * 7FFFFFFFFFFFFFFF = 00003FFF800000000000000080000000 (cc=0) +mgh 000000007FFFFFFF * 7FFFFFFFFFFFFFFF = 00003FFF7FFF8001000000007FFFFFFF (cc=0) +mgh FFFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = FFFFFFFFFFFF8001FFFFFFFFFFFFFFFF (cc=0) +mgh 8000000000000000 * 7FFFFFFFFFFFFFFF = 80000000000000008000000000000000 (cc=0) +mgh 7FFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = 7FFFFFFFFFFF80017FFFFFFFFFFFFFFF (cc=0) +mgrk 0000000000000000 * 7FFFFFFFFFFFFFFF = 00000000000000000000000000000000 (cc=0) +mgrk 0000000000000001 * 7FFFFFFFFFFFFFFF = 00000000000000007FFFFFFFFFFFFFFF (cc=0) +mgrk 000000000000FFFF * 7FFFFFFFFFFFFFFF = 0000000000007FFF7FFFFFFFFFFF0001 (cc=0) +mgrk 0000000000007FFF * 7FFFFFFFFFFFFFFF = 0000000000003FFF7FFFFFFFFFFF8001 (cc=0) +mgrk 0000000000008000 * 7FFFFFFFFFFFFFFF = 0000000000003FFFFFFFFFFFFFFF8000 (cc=0) +mgrk 00000000FFFFFFFF * 7FFFFFFFFFFFFFFF = 000000007FFFFFFF7FFFFFFF00000001 (cc=0) +mgrk 0000000080000000 * 7FFFFFFFFFFFFFFF = 000000003FFFFFFFFFFFFFFF80000000 (cc=0) +mgrk 000000007FFFFFFF * 7FFFFFFFFFFFFFFF = 000000003FFFFFFF7FFFFFFF80000001 (cc=0) +mgrk FFFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFF8000000000000001 (cc=0) +mgrk 8000000000000000 * 7FFFFFFFFFFFFFFF = C0000000000000008000000000000000 (cc=0) +mgrk 7FFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = 3FFFFFFFFFFFFFFF0000000000000001 (cc=0) +msc 0000000000000000 * 7FFFFFFFFFFFFFFF = 00000000000000000000000000000000 (cc=0) +msc 0000000000000001 * 7FFFFFFFFFFFFFFF = 000000007FFFFFFF0000000000000001 (cc=2) +msc 000000000000FFFF * 7FFFFFFFFFFFFFFF = 000000007FFF0001000000000000FFFF (cc=3) +msc 0000000000007FFF * 7FFFFFFFFFFFFFFF = 000000007FFF80010000000000007FFF (cc=3) +msc 0000000000008000 * 7FFFFFFFFFFFFFFF = 00000000FFFF80000000000000008000 (cc=3) +msc 00000000FFFFFFFF * 7FFFFFFFFFFFFFFF = 000000008000000100000000FFFFFFFF (cc=1) +msc 0000000080000000 * 7FFFFFFFFFFFFFFF = 00000000800000000000000080000000 (cc=3) +msc 000000007FFFFFFF * 7FFFFFFFFFFFFFFF = 0000000000000001000000007FFFFFFF (cc=3) +msc FFFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = FFFFFFFF80000001FFFFFFFFFFFFFFFF (cc=1) +msc 8000000000000000 * 7FFFFFFFFFFFFFFF = 80000000000000008000000000000000 (cc=0) +msc 7FFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = 7FFFFFFF800000017FFFFFFFFFFFFFFF (cc=1) +msrkc 0000000000000000 * 7FFFFFFFFFFFFFFF = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000000001 * 7FFFFFFFFFFFFFFF = 00000000FFFFFFFF0000000000000002 (cc=1) +msrkc 000000000000FFFF * 7FFFFFFFFFFFFFFF = 00000000FFFF00010000000000000002 (cc=1) +msrkc 0000000000007FFF * 7FFFFFFFFFFFFFFF = 00000000FFFF80010000000000000002 (cc=1) +msrkc 0000000000008000 * 7FFFFFFFFFFFFFFF = 00000000FFFF80000000000000000002 (cc=1) +msrkc 00000000FFFFFFFF * 7FFFFFFFFFFFFFFF = 00000000000000010000000000000002 (cc=2) +msrkc 0000000080000000 * 7FFFFFFFFFFFFFFF = 00000000800000000000000000000002 (cc=3) +msrkc 000000007FFFFFFF * 7FFFFFFFFFFFFFFF = 00000000800000010000000000000002 (cc=1) +msrkc FFFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = FFFFFFFF000000010000000000000002 (cc=2) +msrkc 8000000000000000 * 7FFFFFFFFFFFFFFF = 80000000000000000000000000000002 (cc=0) +msrkc 7FFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = 7FFFFFFF000000010000000000000002 (cc=2) +msgc 0000000000000000 * 7FFFFFFFFFFFFFFF = 00000000000000000000000000000000 (cc=0) +msgc 0000000000000001 * 7FFFFFFFFFFFFFFF = 7FFFFFFFFFFFFFFF0000000000000001 (cc=2) +msgc 000000000000FFFF * 7FFFFFFFFFFFFFFF = 7FFFFFFFFFFF0001000000000000FFFF (cc=3) +msgc 0000000000007FFF * 7FFFFFFFFFFFFFFF = 7FFFFFFFFFFF80010000000000007FFF (cc=3) +msgc 0000000000008000 * 7FFFFFFFFFFFFFFF = FFFFFFFFFFFF80000000000000008000 (cc=3) +msgc 00000000FFFFFFFF * 7FFFFFFFFFFFFFFF = 7FFFFFFF0000000100000000FFFFFFFF (cc=3) +msgc 0000000080000000 * 7FFFFFFFFFFFFFFF = FFFFFFFF800000000000000080000000 (cc=3) +msgc 000000007FFFFFFF * 7FFFFFFFFFFFFFFF = 7FFFFFFF80000001000000007FFFFFFF (cc=3) +msgc FFFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = 8000000000000001FFFFFFFFFFFFFFFF (cc=1) +msgc 8000000000000000 * 7FFFFFFFFFFFFFFF = 80000000000000008000000000000000 (cc=3) +msgc 7FFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = 00000000000000017FFFFFFFFFFFFFFF (cc=3) +msgrkc 0000000000000000 * 7FFFFFFFFFFFFFFF = 00000000000000000000000000000002 (cc=0) +msgrkc 0000000000000001 * 7FFFFFFFFFFFFFFF = 7FFFFFFFFFFFFFFF0000000000000002 (cc=2) +msgrkc 000000000000FFFF * 7FFFFFFFFFFFFFFF = 7FFFFFFFFFFF00010000000000000002 (cc=3) +msgrkc 0000000000007FFF * 7FFFFFFFFFFFFFFF = 7FFFFFFFFFFF80010000000000000002 (cc=3) +msgrkc 0000000000008000 * 7FFFFFFFFFFFFFFF = FFFFFFFFFFFF80000000000000000002 (cc=3) +msgrkc 00000000FFFFFFFF * 7FFFFFFFFFFFFFFF = 7FFFFFFF000000010000000000000002 (cc=3) +msgrkc 0000000080000000 * 7FFFFFFFFFFFFFFF = FFFFFFFF800000000000000000000002 (cc=3) +msgrkc 000000007FFFFFFF * 7FFFFFFFFFFFFFFF = 7FFFFFFF800000010000000000000002 (cc=3) +msgrkc FFFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = 80000000000000010000000000000002 (cc=1) +msgrkc 8000000000000000 * 7FFFFFFFFFFFFFFF = 80000000000000000000000000000002 (cc=3) +msgrkc 7FFFFFFFFFFFFFFF * 7FFFFFFFFFFFFFFF = 00000000000000010000000000000002 (cc=3) +mg 0000000000000000 * 8000000000000000 = 00000000000000000000000000000000 (cc=0) +mg 0000000000000001 * 8000000000000000 = FFFFFFFFFFFFFFFF8000000000000000 (cc=0) +mg 000000000000FFFF * 8000000000000000 = FFFFFFFFFFFF80008000000000000000 (cc=0) +mg 0000000000007FFF * 8000000000000000 = FFFFFFFFFFFFC0008000000000000000 (cc=0) +mg 0000000000008000 * 8000000000000000 = FFFFFFFFFFFFC0000000000000000000 (cc=0) +mg 00000000FFFFFFFF * 8000000000000000 = FFFFFFFF800000008000000000000000 (cc=0) +mg 0000000080000000 * 8000000000000000 = FFFFFFFFC00000000000000000000000 (cc=0) +mg 000000007FFFFFFF * 8000000000000000 = FFFFFFFFC00000008000000000000000 (cc=0) +mg FFFFFFFFFFFFFFFF * 8000000000000000 = 00000000000000008000000000000000 (cc=0) +mg 8000000000000000 * 8000000000000000 = 40000000000000000000000000000000 (cc=0) +mg 7FFFFFFFFFFFFFFF * 8000000000000000 = C0000000000000008000000000000000 (cc=0) +mgh 0000000000000000 * 8000000000000000 = 00000000000000000000000000000000 (cc=0) +mgh 0000000000000001 * 8000000000000000 = FFFFFFFFFFFF80000000000000000001 (cc=0) +mgh 000000000000FFFF * 8000000000000000 = FFFFFFFF80008000000000000000FFFF (cc=0) +mgh 0000000000007FFF * 8000000000000000 = FFFFFFFFC00080000000000000007FFF (cc=0) +mgh 0000000000008000 * 8000000000000000 = FFFFFFFFC00000000000000000008000 (cc=0) +mgh 00000000FFFFFFFF * 8000000000000000 = FFFF80000000800000000000FFFFFFFF (cc=0) +mgh 0000000080000000 * 8000000000000000 = FFFFC000000000000000000080000000 (cc=0) +mgh 000000007FFFFFFF * 8000000000000000 = FFFFC00000008000000000007FFFFFFF (cc=0) +mgh FFFFFFFFFFFFFFFF * 8000000000000000 = 0000000000008000FFFFFFFFFFFFFFFF (cc=0) +mgh 8000000000000000 * 8000000000000000 = 00000000000000008000000000000000 (cc=0) +mgh 7FFFFFFFFFFFFFFF * 8000000000000000 = 00000000000080007FFFFFFFFFFFFFFF (cc=0) +mgrk 0000000000000000 * 8000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk 0000000000000001 * 8000000000000000 = FFFFFFFFFFFFFFFF8000000000000000 (cc=0) +mgrk 000000000000FFFF * 8000000000000000 = FFFFFFFFFFFF80008000000000000000 (cc=0) +mgrk 0000000000007FFF * 8000000000000000 = FFFFFFFFFFFFC0008000000000000000 (cc=0) +mgrk 0000000000008000 * 8000000000000000 = FFFFFFFFFFFFC0000000000000000000 (cc=0) +mgrk 00000000FFFFFFFF * 8000000000000000 = FFFFFFFF800000008000000000000000 (cc=0) +mgrk 0000000080000000 * 8000000000000000 = FFFFFFFFC00000000000000000000000 (cc=0) +mgrk 000000007FFFFFFF * 8000000000000000 = FFFFFFFFC00000008000000000000000 (cc=0) +mgrk FFFFFFFFFFFFFFFF * 8000000000000000 = 00000000000000008000000000000000 (cc=0) +mgrk 8000000000000000 * 8000000000000000 = 40000000000000000000000000000000 (cc=0) +mgrk 7FFFFFFFFFFFFFFF * 8000000000000000 = C0000000000000008000000000000000 (cc=0) +msc 0000000000000000 * 8000000000000000 = 00000000000000000000000000000000 (cc=0) +msc 0000000000000001 * 8000000000000000 = 00000000800000000000000000000001 (cc=1) +msc 000000000000FFFF * 8000000000000000 = 0000000080000000000000000000FFFF (cc=3) +msc 0000000000007FFF * 8000000000000000 = 00000000800000000000000000007FFF (cc=3) +msc 0000000000008000 * 8000000000000000 = 00000000000000000000000000008000 (cc=3) +msc 00000000FFFFFFFF * 8000000000000000 = 000000008000000000000000FFFFFFFF (cc=3) +msc 0000000080000000 * 8000000000000000 = 00000000000000000000000080000000 (cc=3) +msc 000000007FFFFFFF * 8000000000000000 = 0000000080000000000000007FFFFFFF (cc=3) +msc FFFFFFFFFFFFFFFF * 8000000000000000 = FFFFFFFF80000000FFFFFFFFFFFFFFFF (cc=3) +msc 8000000000000000 * 8000000000000000 = 80000000000000008000000000000000 (cc=0) +msc 7FFFFFFFFFFFFFFF * 8000000000000000 = 7FFFFFFF800000007FFFFFFFFFFFFFFF (cc=3) +msrkc 0000000000000000 * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000000001 * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 000000000000FFFF * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000007FFF * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000008000 * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 00000000FFFFFFFF * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000080000000 * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 000000007FFFFFFF * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc FFFFFFFFFFFFFFFF * 8000000000000000 = FFFFFFFF000000000000000000000002 (cc=0) +msrkc 8000000000000000 * 8000000000000000 = 80000000000000000000000000000002 (cc=0) +msrkc 7FFFFFFFFFFFFFFF * 8000000000000000 = 7FFFFFFF000000000000000000000002 (cc=0) +msgc 0000000000000000 * 8000000000000000 = 00000000000000000000000000000000 (cc=0) +msgc 0000000000000001 * 8000000000000000 = 80000000000000000000000000000001 (cc=1) +msgc 000000000000FFFF * 8000000000000000 = 8000000000000000000000000000FFFF (cc=3) +msgc 0000000000007FFF * 8000000000000000 = 80000000000000000000000000007FFF (cc=3) +msgc 0000000000008000 * 8000000000000000 = 00000000000000000000000000008000 (cc=3) +msgc 00000000FFFFFFFF * 8000000000000000 = 800000000000000000000000FFFFFFFF (cc=3) +msgc 0000000080000000 * 8000000000000000 = 00000000000000000000000080000000 (cc=3) +msgc 000000007FFFFFFF * 8000000000000000 = 8000000000000000000000007FFFFFFF (cc=3) +msgc FFFFFFFFFFFFFFFF * 8000000000000000 = 8000000000000000FFFFFFFFFFFFFFFF (cc=3) +msgc 8000000000000000 * 8000000000000000 = 00000000000000008000000000000000 (cc=3) +msgc 7FFFFFFFFFFFFFFF * 8000000000000000 = 80000000000000007FFFFFFFFFFFFFFF (cc=3) +msgrkc 0000000000000000 * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msgrkc 0000000000000001 * 8000000000000000 = 80000000000000000000000000000002 (cc=1) +msgrkc 000000000000FFFF * 8000000000000000 = 80000000000000000000000000000002 (cc=3) +msgrkc 0000000000007FFF * 8000000000000000 = 80000000000000000000000000000002 (cc=3) +msgrkc 0000000000008000 * 8000000000000000 = 00000000000000000000000000000002 (cc=3) +msgrkc 00000000FFFFFFFF * 8000000000000000 = 80000000000000000000000000000002 (cc=3) +msgrkc 0000000080000000 * 8000000000000000 = 00000000000000000000000000000002 (cc=3) +msgrkc 000000007FFFFFFF * 8000000000000000 = 80000000000000000000000000000002 (cc=3) +msgrkc FFFFFFFFFFFFFFFF * 8000000000000000 = 80000000000000000000000000000002 (cc=3) +msgrkc 8000000000000000 * 8000000000000000 = 00000000000000000000000000000002 (cc=3) +msgrkc 7FFFFFFFFFFFFFFF * 8000000000000000 = 80000000000000000000000000000002 (cc=3) +mg 0000000000000000 * FFFFFFFFFFFFFFFF = 00000000000000000000000000000000 (cc=0) +mg 0000000000000001 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF (cc=0) +mg 000000000000FFFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFFFFFF0001 (cc=0) +mg 0000000000007FFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFFFFFF8001 (cc=0) +mg 0000000000008000 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFFFFFF8000 (cc=0) +mg 00000000FFFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFF00000001 (cc=0) +mg 0000000080000000 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFF80000000 (cc=0) +mg 000000007FFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFF80000001 (cc=0) +mg FFFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = 00000000000000000000000000000001 (cc=0) +mg 8000000000000000 * FFFFFFFFFFFFFFFF = 00000000000000008000000000000000 (cc=0) +mg 7FFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFF8000000000000001 (cc=0) +mgh 0000000000000000 * FFFFFFFFFFFFFFFF = 00000000000000000000000000000000 (cc=0) +mgh 0000000000000001 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFF0000000000000001 (cc=0) +mgh 000000000000FFFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFF0001000000000000FFFF (cc=0) +mgh 0000000000007FFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFF80010000000000007FFF (cc=0) +mgh 0000000000008000 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFF80000000000000008000 (cc=0) +mgh 00000000FFFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFF0000000100000000FFFFFFFF (cc=0) +mgh 0000000080000000 * FFFFFFFFFFFFFFFF = FFFFFFFF800000000000000080000000 (cc=0) +mgh 000000007FFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFF80000001000000007FFFFFFF (cc=0) +mgh FFFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = 0000000000000001FFFFFFFFFFFFFFFF (cc=0) +mgh 8000000000000000 * FFFFFFFFFFFFFFFF = 80000000000000008000000000000000 (cc=0) +mgh 7FFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = 80000000000000017FFFFFFFFFFFFFFF (cc=0) +mgrk 0000000000000000 * FFFFFFFFFFFFFFFF = 00000000000000000000000000000000 (cc=0) +mgrk 0000000000000001 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF (cc=0) +mgrk 000000000000FFFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFFFFFF0001 (cc=0) +mgrk 0000000000007FFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFFFFFF8001 (cc=0) +mgrk 0000000000008000 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFFFFFF8000 (cc=0) +mgrk 00000000FFFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFF00000001 (cc=0) +mgrk 0000000080000000 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFF80000000 (cc=0) +mgrk 000000007FFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFFFFFFFFFF80000001 (cc=0) +mgrk FFFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = 00000000000000000000000000000001 (cc=0) +mgrk 8000000000000000 * FFFFFFFFFFFFFFFF = 00000000000000008000000000000000 (cc=0) +mgrk 7FFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFF8000000000000001 (cc=0) +msc 0000000000000000 * FFFFFFFFFFFFFFFF = 00000000000000000000000000000000 (cc=0) +msc 0000000000000001 * FFFFFFFFFFFFFFFF = 00000000FFFFFFFF0000000000000001 (cc=1) +msc 000000000000FFFF * FFFFFFFFFFFFFFFF = 00000000FFFF0001000000000000FFFF (cc=1) +msc 0000000000007FFF * FFFFFFFFFFFFFFFF = 00000000FFFF80010000000000007FFF (cc=1) +msc 0000000000008000 * FFFFFFFFFFFFFFFF = 00000000FFFF80000000000000008000 (cc=1) +msc 00000000FFFFFFFF * FFFFFFFFFFFFFFFF = 000000000000000100000000FFFFFFFF (cc=2) +msc 0000000080000000 * FFFFFFFFFFFFFFFF = 00000000800000000000000080000000 (cc=3) +msc 000000007FFFFFFF * FFFFFFFFFFFFFFFF = 0000000080000001000000007FFFFFFF (cc=1) +msc FFFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFF00000001FFFFFFFFFFFFFFFF (cc=2) +msc 8000000000000000 * FFFFFFFFFFFFFFFF = 80000000000000008000000000000000 (cc=0) +msc 7FFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = 7FFFFFFF000000017FFFFFFFFFFFFFFF (cc=2) +msrkc 0000000000000000 * FFFFFFFFFFFFFFFF = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000000001 * FFFFFFFFFFFFFFFF = 00000000FFFFFFFF0000000000000002 (cc=1) +msrkc 000000000000FFFF * FFFFFFFFFFFFFFFF = 00000000FFFF00010000000000000002 (cc=1) +msrkc 0000000000007FFF * FFFFFFFFFFFFFFFF = 00000000FFFF80010000000000000002 (cc=1) +msrkc 0000000000008000 * FFFFFFFFFFFFFFFF = 00000000FFFF80000000000000000002 (cc=1) +msrkc 00000000FFFFFFFF * FFFFFFFFFFFFFFFF = 00000000000000010000000000000002 (cc=2) +msrkc 0000000080000000 * FFFFFFFFFFFFFFFF = 00000000800000000000000000000002 (cc=3) +msrkc 000000007FFFFFFF * FFFFFFFFFFFFFFFF = 00000000800000010000000000000002 (cc=1) +msrkc FFFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFF000000010000000000000002 (cc=2) +msrkc 8000000000000000 * FFFFFFFFFFFFFFFF = 80000000000000000000000000000002 (cc=0) +msrkc 7FFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = 7FFFFFFF000000010000000000000002 (cc=2) +msgc 0000000000000000 * FFFFFFFFFFFFFFFF = 00000000000000000000000000000000 (cc=0) +msgc 0000000000000001 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFF0000000000000001 (cc=1) +msgc 000000000000FFFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFF0001000000000000FFFF (cc=1) +msgc 0000000000007FFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFF80010000000000007FFF (cc=1) +msgc 0000000000008000 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFF80000000000000008000 (cc=1) +msgc 00000000FFFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFF0000000100000000FFFFFFFF (cc=1) +msgc 0000000080000000 * FFFFFFFFFFFFFFFF = FFFFFFFF800000000000000080000000 (cc=1) +msgc 000000007FFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFF80000001000000007FFFFFFF (cc=1) +msgc FFFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = 0000000000000001FFFFFFFFFFFFFFFF (cc=2) +msgc 8000000000000000 * FFFFFFFFFFFFFFFF = 80000000000000008000000000000000 (cc=3) +msgc 7FFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = 80000000000000017FFFFFFFFFFFFFFF (cc=1) +msgrkc 0000000000000000 * FFFFFFFFFFFFFFFF = 00000000000000000000000000000002 (cc=0) +msgrkc 0000000000000001 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFFFFFF0000000000000002 (cc=1) +msgrkc 000000000000FFFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFF00010000000000000002 (cc=1) +msgrkc 0000000000007FFF * FFFFFFFFFFFFFFFF = FFFFFFFFFFFF80010000000000000002 (cc=1) +msgrkc 0000000000008000 * FFFFFFFFFFFFFFFF = FFFFFFFFFFFF80000000000000000002 (cc=1) +msgrkc 00000000FFFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFF000000010000000000000002 (cc=1) +msgrkc 0000000080000000 * FFFFFFFFFFFFFFFF = FFFFFFFF800000000000000000000002 (cc=1) +msgrkc 000000007FFFFFFF * FFFFFFFFFFFFFFFF = FFFFFFFF800000010000000000000002 (cc=1) +msgrkc FFFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = 00000000000000010000000000000002 (cc=2) +msgrkc 8000000000000000 * FFFFFFFFFFFFFFFF = 80000000000000000000000000000002 (cc=3) +msgrkc 7FFFFFFFFFFFFFFF * FFFFFFFFFFFFFFFF = 80000000000000010000000000000002 (cc=1) +mg 0000000000000000 * 7FFFFFFF00000000 = 00000000000000000000000000000000 (cc=0) +mg 0000000000000001 * 7FFFFFFF00000000 = 00000000000000007FFFFFFF00000000 (cc=0) +mg 000000000000FFFF * 7FFFFFFF00000000 = 0000000000007FFF7FFF000100000000 (cc=0) +mg 0000000000007FFF * 7FFFFFFF00000000 = 0000000000003FFF7FFF800100000000 (cc=0) +mg 0000000000008000 * 7FFFFFFF00000000 = 0000000000003FFFFFFF800000000000 (cc=0) +mg 00000000FFFFFFFF * 7FFFFFFF00000000 = 000000007FFFFFFE8000000100000000 (cc=0) +mg 0000000080000000 * 7FFFFFFF00000000 = 000000003FFFFFFF8000000000000000 (cc=0) +mg 000000007FFFFFFF * 7FFFFFFF00000000 = 000000003FFFFFFF0000000100000000 (cc=0) +mg FFFFFFFFFFFFFFFF * 7FFFFFFF00000000 = FFFFFFFFFFFFFFFF8000000100000000 (cc=0) +mg 8000000000000000 * 7FFFFFFF00000000 = C0000000800000000000000000000000 (cc=0) +mg 7FFFFFFFFFFFFFFF * 7FFFFFFF00000000 = 3FFFFFFF7FFFFFFF8000000100000000 (cc=0) +mgh 0000000000000000 * 7FFFFFFF00000000 = 00000000000000000000000000000000 (cc=0) +mgh 0000000000000001 * 7FFFFFFF00000000 = 0000000000007FFF0000000000000001 (cc=0) +mgh 000000000000FFFF * 7FFFFFFF00000000 = 000000007FFE8001000000000000FFFF (cc=0) +mgh 0000000000007FFF * 7FFFFFFF00000000 = 000000003FFF00010000000000007FFF (cc=0) +mgh 0000000000008000 * 7FFFFFFF00000000 = 000000003FFF80000000000000008000 (cc=0) +mgh 00000000FFFFFFFF * 7FFFFFFF00000000 = 00007FFEFFFF800100000000FFFFFFFF (cc=0) +mgh 0000000080000000 * 7FFFFFFF00000000 = 00003FFF800000000000000080000000 (cc=0) +mgh 000000007FFFFFFF * 7FFFFFFF00000000 = 00003FFF7FFF8001000000007FFFFFFF (cc=0) +mgh FFFFFFFFFFFFFFFF * 7FFFFFFF00000000 = FFFFFFFFFFFF8001FFFFFFFFFFFFFFFF (cc=0) +mgh 8000000000000000 * 7FFFFFFF00000000 = 80000000000000008000000000000000 (cc=0) +mgh 7FFFFFFFFFFFFFFF * 7FFFFFFF00000000 = 7FFFFFFFFFFF80017FFFFFFFFFFFFFFF (cc=0) +mgrk 0000000000000000 * 7FFFFFFF00000000 = 00000000000000000000000000000000 (cc=0) +mgrk 0000000000000001 * 7FFFFFFF00000000 = 00000000000000007FFFFFFF00000000 (cc=0) +mgrk 000000000000FFFF * 7FFFFFFF00000000 = 0000000000007FFF7FFF000100000000 (cc=0) +mgrk 0000000000007FFF * 7FFFFFFF00000000 = 0000000000003FFF7FFF800100000000 (cc=0) +mgrk 0000000000008000 * 7FFFFFFF00000000 = 0000000000003FFFFFFF800000000000 (cc=0) +mgrk 00000000FFFFFFFF * 7FFFFFFF00000000 = 000000007FFFFFFE8000000100000000 (cc=0) +mgrk 0000000080000000 * 7FFFFFFF00000000 = 000000003FFFFFFF8000000000000000 (cc=0) +mgrk 000000007FFFFFFF * 7FFFFFFF00000000 = 000000003FFFFFFF0000000100000000 (cc=0) +mgrk FFFFFFFFFFFFFFFF * 7FFFFFFF00000000 = FFFFFFFFFFFFFFFF8000000100000000 (cc=0) +mgrk 8000000000000000 * 7FFFFFFF00000000 = C0000000800000000000000000000000 (cc=0) +mgrk 7FFFFFFFFFFFFFFF * 7FFFFFFF00000000 = 3FFFFFFF7FFFFFFF8000000100000000 (cc=0) +msc 0000000000000000 * 7FFFFFFF00000000 = 00000000000000000000000000000000 (cc=0) +msc 0000000000000001 * 7FFFFFFF00000000 = 000000007FFFFFFF0000000000000001 (cc=2) +msc 000000000000FFFF * 7FFFFFFF00000000 = 000000007FFF0001000000000000FFFF (cc=3) +msc 0000000000007FFF * 7FFFFFFF00000000 = 000000007FFF80010000000000007FFF (cc=3) +msc 0000000000008000 * 7FFFFFFF00000000 = 00000000FFFF80000000000000008000 (cc=3) +msc 00000000FFFFFFFF * 7FFFFFFF00000000 = 000000008000000100000000FFFFFFFF (cc=1) +msc 0000000080000000 * 7FFFFFFF00000000 = 00000000800000000000000080000000 (cc=3) +msc 000000007FFFFFFF * 7FFFFFFF00000000 = 0000000000000001000000007FFFFFFF (cc=3) +msc FFFFFFFFFFFFFFFF * 7FFFFFFF00000000 = FFFFFFFF80000001FFFFFFFFFFFFFFFF (cc=1) +msc 8000000000000000 * 7FFFFFFF00000000 = 80000000000000008000000000000000 (cc=0) +msc 7FFFFFFFFFFFFFFF * 7FFFFFFF00000000 = 7FFFFFFF800000017FFFFFFFFFFFFFFF (cc=1) +msrkc 0000000000000000 * 7FFFFFFF00000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000000001 * 7FFFFFFF00000000 = 00000000000000000000000000000002 (cc=0) +msrkc 000000000000FFFF * 7FFFFFFF00000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000007FFF * 7FFFFFFF00000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000008000 * 7FFFFFFF00000000 = 00000000000000000000000000000002 (cc=0) +msrkc 00000000FFFFFFFF * 7FFFFFFF00000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000080000000 * 7FFFFFFF00000000 = 00000000000000000000000000000002 (cc=0) +msrkc 000000007FFFFFFF * 7FFFFFFF00000000 = 00000000000000000000000000000002 (cc=0) +msrkc FFFFFFFFFFFFFFFF * 7FFFFFFF00000000 = FFFFFFFF000000000000000000000002 (cc=0) +msrkc 8000000000000000 * 7FFFFFFF00000000 = 80000000000000000000000000000002 (cc=0) +msrkc 7FFFFFFFFFFFFFFF * 7FFFFFFF00000000 = 7FFFFFFF000000000000000000000002 (cc=0) +msgc 0000000000000000 * 7FFFFFFF00000000 = 00000000000000000000000000000000 (cc=0) +msgc 0000000000000001 * 7FFFFFFF00000000 = 7FFFFFFF000000000000000000000001 (cc=2) +msgc 000000000000FFFF * 7FFFFFFF00000000 = 7FFF000100000000000000000000FFFF (cc=3) +msgc 0000000000007FFF * 7FFFFFFF00000000 = 7FFF8001000000000000000000007FFF (cc=3) +msgc 0000000000008000 * 7FFFFFFF00000000 = FFFF8000000000000000000000008000 (cc=3) +msgc 00000000FFFFFFFF * 7FFFFFFF00000000 = 800000010000000000000000FFFFFFFF (cc=3) +msgc 0000000080000000 * 7FFFFFFF00000000 = 80000000000000000000000080000000 (cc=3) +msgc 000000007FFFFFFF * 7FFFFFFF00000000 = 0000000100000000000000007FFFFFFF (cc=3) +msgc FFFFFFFFFFFFFFFF * 7FFFFFFF00000000 = 8000000100000000FFFFFFFFFFFFFFFF (cc=1) +msgc 8000000000000000 * 7FFFFFFF00000000 = 00000000000000008000000000000000 (cc=3) +msgc 7FFFFFFFFFFFFFFF * 7FFFFFFF00000000 = 80000001000000007FFFFFFFFFFFFFFF (cc=3) +msgrkc 0000000000000000 * 7FFFFFFF00000000 = 00000000000000000000000000000002 (cc=0) +msgrkc 0000000000000001 * 7FFFFFFF00000000 = 7FFFFFFF000000000000000000000002 (cc=2) +msgrkc 000000000000FFFF * 7FFFFFFF00000000 = 7FFF0001000000000000000000000002 (cc=3) +msgrkc 0000000000007FFF * 7FFFFFFF00000000 = 7FFF8001000000000000000000000002 (cc=3) +msgrkc 0000000000008000 * 7FFFFFFF00000000 = FFFF8000000000000000000000000002 (cc=3) +msgrkc 00000000FFFFFFFF * 7FFFFFFF00000000 = 80000001000000000000000000000002 (cc=3) +msgrkc 0000000080000000 * 7FFFFFFF00000000 = 80000000000000000000000000000002 (cc=3) +msgrkc 000000007FFFFFFF * 7FFFFFFF00000000 = 00000001000000000000000000000002 (cc=3) +msgrkc FFFFFFFFFFFFFFFF * 7FFFFFFF00000000 = 80000001000000000000000000000002 (cc=1) +msgrkc 8000000000000000 * 7FFFFFFF00000000 = 00000000000000000000000000000002 (cc=3) +msgrkc 7FFFFFFFFFFFFFFF * 7FFFFFFF00000000 = 80000001000000000000000000000002 (cc=3) +mg 0000000000000000 * 8000000000000000 = 00000000000000000000000000000000 (cc=0) +mg 0000000000000001 * 8000000000000000 = FFFFFFFFFFFFFFFF8000000000000000 (cc=0) +mg 000000000000FFFF * 8000000000000000 = FFFFFFFFFFFF80008000000000000000 (cc=0) +mg 0000000000007FFF * 8000000000000000 = FFFFFFFFFFFFC0008000000000000000 (cc=0) +mg 0000000000008000 * 8000000000000000 = FFFFFFFFFFFFC0000000000000000000 (cc=0) +mg 00000000FFFFFFFF * 8000000000000000 = FFFFFFFF800000008000000000000000 (cc=0) +mg 0000000080000000 * 8000000000000000 = FFFFFFFFC00000000000000000000000 (cc=0) +mg 000000007FFFFFFF * 8000000000000000 = FFFFFFFFC00000008000000000000000 (cc=0) +mg FFFFFFFFFFFFFFFF * 8000000000000000 = 00000000000000008000000000000000 (cc=0) +mg 8000000000000000 * 8000000000000000 = 40000000000000000000000000000000 (cc=0) +mg 7FFFFFFFFFFFFFFF * 8000000000000000 = C0000000000000008000000000000000 (cc=0) +mgh 0000000000000000 * 8000000000000000 = 00000000000000000000000000000000 (cc=0) +mgh 0000000000000001 * 8000000000000000 = FFFFFFFFFFFF80000000000000000001 (cc=0) +mgh 000000000000FFFF * 8000000000000000 = FFFFFFFF80008000000000000000FFFF (cc=0) +mgh 0000000000007FFF * 8000000000000000 = FFFFFFFFC00080000000000000007FFF (cc=0) +mgh 0000000000008000 * 8000000000000000 = FFFFFFFFC00000000000000000008000 (cc=0) +mgh 00000000FFFFFFFF * 8000000000000000 = FFFF80000000800000000000FFFFFFFF (cc=0) +mgh 0000000080000000 * 8000000000000000 = FFFFC000000000000000000080000000 (cc=0) +mgh 000000007FFFFFFF * 8000000000000000 = FFFFC00000008000000000007FFFFFFF (cc=0) +mgh FFFFFFFFFFFFFFFF * 8000000000000000 = 0000000000008000FFFFFFFFFFFFFFFF (cc=0) +mgh 8000000000000000 * 8000000000000000 = 00000000000000008000000000000000 (cc=0) +mgh 7FFFFFFFFFFFFFFF * 8000000000000000 = 00000000000080007FFFFFFFFFFFFFFF (cc=0) +mgrk 0000000000000000 * 8000000000000000 = 00000000000000000000000000000000 (cc=0) +mgrk 0000000000000001 * 8000000000000000 = FFFFFFFFFFFFFFFF8000000000000000 (cc=0) +mgrk 000000000000FFFF * 8000000000000000 = FFFFFFFFFFFF80008000000000000000 (cc=0) +mgrk 0000000000007FFF * 8000000000000000 = FFFFFFFFFFFFC0008000000000000000 (cc=0) +mgrk 0000000000008000 * 8000000000000000 = FFFFFFFFFFFFC0000000000000000000 (cc=0) +mgrk 00000000FFFFFFFF * 8000000000000000 = FFFFFFFF800000008000000000000000 (cc=0) +mgrk 0000000080000000 * 8000000000000000 = FFFFFFFFC00000000000000000000000 (cc=0) +mgrk 000000007FFFFFFF * 8000000000000000 = FFFFFFFFC00000008000000000000000 (cc=0) +mgrk FFFFFFFFFFFFFFFF * 8000000000000000 = 00000000000000008000000000000000 (cc=0) +mgrk 8000000000000000 * 8000000000000000 = 40000000000000000000000000000000 (cc=0) +mgrk 7FFFFFFFFFFFFFFF * 8000000000000000 = C0000000000000008000000000000000 (cc=0) +msc 0000000000000000 * 8000000000000000 = 00000000000000000000000000000000 (cc=0) +msc 0000000000000001 * 8000000000000000 = 00000000800000000000000000000001 (cc=1) +msc 000000000000FFFF * 8000000000000000 = 0000000080000000000000000000FFFF (cc=3) +msc 0000000000007FFF * 8000000000000000 = 00000000800000000000000000007FFF (cc=3) +msc 0000000000008000 * 8000000000000000 = 00000000000000000000000000008000 (cc=3) +msc 00000000FFFFFFFF * 8000000000000000 = 000000008000000000000000FFFFFFFF (cc=3) +msc 0000000080000000 * 8000000000000000 = 00000000000000000000000080000000 (cc=3) +msc 000000007FFFFFFF * 8000000000000000 = 0000000080000000000000007FFFFFFF (cc=3) +msc FFFFFFFFFFFFFFFF * 8000000000000000 = FFFFFFFF80000000FFFFFFFFFFFFFFFF (cc=3) +msc 8000000000000000 * 8000000000000000 = 80000000000000008000000000000000 (cc=0) +msc 7FFFFFFFFFFFFFFF * 8000000000000000 = 7FFFFFFF800000007FFFFFFFFFFFFFFF (cc=3) +msrkc 0000000000000000 * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000000001 * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 000000000000FFFF * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000007FFF * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000000008000 * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 00000000FFFFFFFF * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 0000000080000000 * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc 000000007FFFFFFF * 8000000000000000 = 00000000000000000000000000000002 (cc=0) +msrkc FFFFFFFFFFFFFFFF * 8000000000000000 = FFFFFFFF000000000000000000000002 (cc=0) +msrkc 8000000000000000 * 8000000000000000 = 80000000000000000000000000000002 (cc=0) +msrkc 7FFFFFFFFFFFFFFF * 8000000000000000 = 7FFFFFFF000000000000000000000002 (cc=0) +msgc 0000000000000000 * 8000000000000000 = 00000000000000000000000000000000 (cc=0) +msgc 0000000000000001 * 8000000000000000 = 80000000000000000000000000000001 (cc=1) +msgc 000000000000FFFF * 8000000000000000 = 8000000000000000000000000000FFFF (cc=3) +msgc 000000... [truncated message content] |