Alex Bennée <alex.ben...@linaro.org> writes:
> Hi Richard, > > While reviewing the TCG vector clean-ups I tried to improve the > range of instructions we tested. I couldn't get the existing hacky > sha1 test to vectorise nicely so I snarfed the sha512 algorithm from > CCAN. The sha512 test is good because it is all purely integer so we > should be able to use native code on the backend. The test also has > the nice property of validating behaviour. Hi Taylor, You might want to check this out: ✗ ./qemu-hexagon ./tests/tcg/hexagon-linux-user/sha512 1..10 not ok 1 - do_test(&tests[i]) # Failed test (/home/alex.bennee/lsrc/qemu.git/tests/tcg/multiarch/sha512.c:main() at line 986) not ok 2 - do_test(&tests[i]) # Failed test (/home/alex.bennee/lsrc/qemu.git/tests/tcg/multiarch/sha512.c:main() at line 986) not ok 3 - do_test(&tests[i]) # Failed test (/home/alex.bennee/lsrc/qemu.git/tests/tcg/multiarch/sha512.c:main() at line 986) not ok 4 - do_test(&tests[i]) # Failed test (/home/alex.bennee/lsrc/qemu.git/tests/tcg/multiarch/sha512.c:main() at line 986) not ok 5 - do_test(&tests[i]) # Failed test (/home/alex.bennee/lsrc/qemu.git/tests/tcg/multiarch/sha512.c:main() at line 986) not ok 6 - do_test(&tests[i]) # Failed test (/home/alex.bennee/lsrc/qemu.git/tests/tcg/multiarch/sha512.c:main() at line 986) not ok 7 - do_test(&tests[i]) # Failed test (/home/alex.bennee/lsrc/qemu.git/tests/tcg/multiarch/sha512.c:main() at line 986) not ok 8 - do_test(&tests[i]) # Failed test (/home/alex.bennee/lsrc/qemu.git/tests/tcg/multiarch/sha512.c:main() at line 986) not ok 9 - do_test(&tests[i]) # Failed test (/home/alex.bennee/lsrc/qemu.git/tests/tcg/multiarch/sha512.c:main() at line 986) not ok 10 - do_test(&tests[i]) # Failed test (/home/alex.bennee/lsrc/qemu.git/tests/tcg/multiarch/sha512.c:main() at line 986) # Looks like you failed 10 tests of 10. Which makes me think either the translation or compiler are wrong. > > I did toy with the idea of incorporating CCAN as a submodule because > there is quite a lot of nice stuff in there we could use for further > tests. However for now witness the glory of a cut and paste job. > > What do you think? > > > Alex Bennée (4): > tests/tcg: cleanup sha1 source code > tests/tcg: build sha1-vector for SVE and compare > tests/tcg: add sha512 test > tests/tcg: add vectorised sha512 versions > > tests/tcg/multiarch/sha1.c | 67 +- > tests/tcg/multiarch/sha512.c | 990 ++++++++++++++++++++++++++++++ > tests/tcg/aarch64/Makefile.target | 23 + > tests/tcg/i386/Makefile.target | 6 + > tests/tcg/ppc64le/Makefile.target | 5 +- > tests/tcg/s390x/Makefile.target | 9 + > tests/tcg/x86_64/Makefile.target | 7 + > 7 files changed, 1056 insertions(+), 51 deletions(-) > create mode 100644 tests/tcg/multiarch/sha512.c -- Alex Bennée