|
| From: | Thomas Huth |
| Subject: | Re: [RFC PATCH] tests/tcg: drop -cpu max from s390x sha512-mvx invocation |
| Date: | Thu, 10 Mar 2022 11:21:46 +0100 |
| User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.0 |
On 10/03/2022 09.36, Thomas Huth wrote:
On 09/03/2022 12.22, Alex Bennée wrote:With -cpu max we get a warning: qemu-s390x: warning: 'msa5-base' requires 'kimd-sha-512'. But dropping the -cpu max and it still runs fine. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Cc: Thomas Huth <thuth@redhat.com> --- tests/tcg/s390x/Makefile.target | 2 -- 1 file changed, 2 deletions(-)diff --git a/tests/tcg/s390x/Makefile.target b/tests/tcg/s390x/Makefile.targetindex 257c568c58..7aa502a557 100644 --- a/tests/tcg/s390x/Makefile.target +++ b/tests/tcg/s390x/Makefile.target @@ -34,6 +34,4 @@ sha512-mvx: CFLAGS=-march=z13 -mvx -O3 sha512-mvx: sha512.c $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) -run-sha512-mvx: QEMU_OPTS+=-cpu max - TESTS+=sha512-mvxOk, this helps to get rid of the warnings, thus feel free to add: Tested-by: Thomas Huth <thuth@redhat.com>However, the error still persists. I now had a closer look by running the test with "qemu-s390x" on my z15 machine directly, and all tests are failing! The problem happens with both, gcc v11.2.1 and clang v13.0.1. The problem goes away (i.e. test works fine) if I compile the code with -O1 instead of -O3, or if I use GCC v8.5 instead. I'll try to find out more, but as a temporary workaround, we could also switch to -O1 instead of -O3.
I noticed that the problem does not occur when running the test natively
on my s390x box, or via qemu-s390x on my x86 laptop, or when running it
via qemu-s390x v6.1.0 on my s390x box. So it's something wrong in the TCG
backend, I think, and I was able to bisect the issue down to this commit
here:
$ git bisect bad
9bca986df88b8ea46b100e3d21cc9e653c83e0b3 is the first bad commit
commit 9bca986df88b8ea46b100e3d21cc9e653c83e0b3
Author: Richard Henderson <richard.henderson@linaro.org>
Date: Mon Sep 14 20:36:36 2020 -0700
tcg/s390x: Implement TCG_TARGET_HAS_bitsel_vec
Richard, could you please have a look? I've uploaded my statically linked
binary that shows the problem here:
http://people.redhat.com/~thuth/data/sha512
When running on a z15 s390x host with current QEMU master, the test fails:
$ ./qemu-s390x -cpu max ~/sha512
qemu-s390x: warning: 'msa5-base' requires 'kimd-sha-512'.
qemu-s390x: warning: 'msa5-base' requires 'klmd-sha-512'.
1..1
h : 0000: 38 31 a6 a6 15 5e 50 9d ee 59 a7 f4 51 eb 35 32
81...^P..Y..Q.52
h : 0010: 4d 8f 8f 2d f6 e3 70 88 94 74 0f 98 fd ee 23 88
M..-..p..t....#.
h : 0020: 9f 4d e5 ad b0 c5 01 0d fb 55 5c da 77 c8 ab 5d
.M.......U\.w..]
h : 0030: c9 02 09 4c 52 de 32 78 f3 5a 75 eb c2 5f 09 3a
...LR.2x.Zu.._.:
got : 0000: 7b 47 7b 48 1a 49 1a 49 79 48 7d 7f 7d 47 79 7d
{G{H.I.IyH}.}Gy}
got : 0010: 1a 7f 7d 40 1a 48 19 4b 7d 48 1a 7b 7b 48 7b 49
..}@.H.K}H.{{H{I
got : 0020: 7f 7d 7f 7f 7f 7f 7b 7d 19 49 1a 48 7f 47 7f 47
.}....{}.I.H.G.G
got : 0030: 79 4b 7f 4b 77 7f 79 47 19 7d 1a 7f 7b 48 7f 47
yK.Kw.yG.}..{H.G
got : 0040: 79 7f 7f 7d 1a 48 1a 7d 19 47 1c 48 77 48 77 7d
y..}.H.}.G.HwHw}
got : 0050: 19 7b 7d 48 7d 7f 19 7b 7f 48 1c 47 1a 7b 7d 7d
.{}H}..{.H.G.{}}
got : 0060: 1c 40 77 49 77 40 7f 7f 7d 49 19 7f 7b 49 7f 47
.@wIw@..}I..{I.G
got : 0070: 19 48 7d 7b 7f 48 1a 7b 1c 49 7d 7f 77 40 7b 7b
.H}{.H.{.I}.w@{{
got : 0080: 00 .
not ok 1 - do_test(&tests[0])
# Failed test (sha512.c:main() at line 1046)
# Looks like you failed 1 tests of 1.
When running on my x86 laptop, the test succeeds:
$ ./qemu-s390x -cpu max ~/sha512
qemu-s390x: warning: 'msa5-base' requires 'kimd-sha-512'.
qemu-s390x: warning: 'msa5-base' requires 'klmd-sha-512'.
1..1
h : 0000: 38 31 a6 a6 15 5e 50 9d ee 59 a7 f4 51 eb 35 32
81...^P..Y..Q.52
h : 0010: 4d 8f 8f 2d f6 e3 70 88 94 74 0f 98 fd ee 23 88
M..-..p..t....#.
h : 0020: 9f 4d e5 ad b0 c5 01 0d fb 55 5c da 77 c8 ab 5d
.M.......U\.w..]
h : 0030: c9 02 09 4c 52 de 32 78 f3 5a 75 eb c2 5f 09 3a
...LR.2x.Zu.._.:
got : 0000: 33 38 33 31 61 36 61 36 31 35 35 65 35 30 39 64
3831a6a6155e509d
got : 0010: 65 65 35 39 61 37 66 34 35 31 65 62 33 35 33 32
ee59a7f451eb3532
got : 0020: 34 64 38 66 38 66 32 64 66 36 65 33 37 30 38 38
4d8f8f2df6e37088
got : 0030: 39 34 37 34 30 66 39 38 66 64 65 65 32 33 38 38
94740f98fdee2388
got : 0040: 39 66 34 64 65 35 61 64 62 30 63 35 30 31 30 64
9f4de5adb0c5010d
got : 0050: 66 62 35 35 35 63 64 61 37 37 63 38 61 62 35 64
fb555cda77c8ab5d
got : 0060: 63 39 30 32 30 39 34 63 35 32 64 65 33 32 37 38
c902094c52de3278
got : 0070: 66 33 35 61 37 35 65 62 63 32 35 66 30 39 33 61
f35a75ebc25f093a
got : 0080: 00 .
ok 1 - do_test(&tests[0])
BTW, we recently also saw some issues with the migration qtest on a s390x
host, maybe that's related:
https://app.travis-ci.com/gitlab/qemu-project/qemu/jobs/562674331#L7834
https://app.travis-ci.com/github/huth/qemu/jobs/562290832#L7783
?
Thomas
| [Prev in Thread] | Current Thread | [Next in Thread] |