[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2021-05-02 Thread Thomas Huth
If I got that right, this has been fixed by this commit here: https://gitlab.com/qemu-project/qemu/-/commit/8d745875c28528a3015 ... so I'm closing this now. If you disagree, feel free to open it again. ** Changed in: qemu Status: New => Fix Released -- You received this bug notification b

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-26 Thread Paul Clarke
Reverted 4e6d0920e7547e6af4bbac5ffe9adfe6ea621822, and those 'vsl/vsr' tests now succeed. -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1841990 Title: instruction 'denbcdq' misbehaving Status in Q

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-26 Thread Mark Cave-Ayland
Great! It looks as if I can't add Stefan to the bug report in launchpad since he isn't registered there, so I'll send a quick email to qemu- devel and add him as CC. In the meantime whilst your test setup is working and everything is fresh, I'll have a quick go at switching the BCD_DIG_BYTE bits o

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-26 Thread Mark Cave-Ayland
Ahhh in that case I suspect that you may be seeing a bug in this commit: commit 4e6d0920e7547e6af4bbac5ffe9adfe6ea621822 Author: Stefan Brankovic Date: Mon Jul 15 16:22:48 2019 +0200 target/ppc: Optimize emulation of vsl and vsr instructions Optimization of altivec instructions vs

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-26 Thread Paul Clarke
`vsl` appears to be acting incorrectly as well, per the test 'vec_bcdsr': => 0x16e0 :vsl v0,v0,v1 (gdb) p $vr0.uint128 $21 = 0x10111213141516172021222324252650 (gdb) p $vr1.uint128 $22 = 0x0

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-26 Thread Paul Clarke
The final failure is 'vsr' acting incorrectly, with basically the same issue as 'vsl'. -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1841990 Title: instruction 'denbcdq' misbehaving Status in QEMU

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-26 Thread Mark Cave-Ayland
Right so this looks like a different bug: if you look at helper_bcdadd() and helper_bcdsub() in target/ppc/int_helper.c then you can see the problem straight away: the code is accessing the elements of ppc_avr_t without directly without using the VsrX() macros which correct for host endian. Fortun

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-26 Thread Paul Clarke
I haven't tried QEMU 3.1 yet. Adding to to-do list. I am narrowing down the remaining failures. Within the pveclib test suite, there are two tests, one is failing, "pveclib_test". It contains numerous subtests. The failing subtests are: - test_setb_bcdsq - test_setb_bcdinv - test_bcdsr - tes

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-25 Thread Mark Cave-Ayland
That's looking much better :) And finally, how many failures do you get running the same test under QEMU 3.1? If that gives you zero failures then I'll need to look a lot closer at the changes to try and figure out what is going on. As a matter of interest, which tests are the ones that are faili

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-25 Thread Paul Clarke
> Did you see the follow up email indicating the typo that I found in patch 6? I did, then forgot to include it in my build. I've included that change now... > Does that help any more tests to pass? I'm down from 22 failures to 8. -- You received this bug notification because you are a member

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-25 Thread Mark Cave-Ayland
That certainly sounds like progress. Did you see the follow up email indicating the typo that I found in patch 6? It can be fixed by applying the following diff on top: diff --git a/target/ppc/dfp_helper.c b/target/ppc/dfp_helper.c index c2d335e928..b801acbedc 100644 --- a/target/ppc/dfp_helper.c

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-25 Thread Paul Clarke
I'm still trying to track down a BE system. Everything I have which is newer than POWER7 is LE, and POWER7 is not sufficient to run the test. The test suite that produced the problem is from https://github.com /open-power-sdk/pveclib. The good news is that with your (v1) changes, 275 tests no lo

[Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-09-24 Thread Mark Cave-Ayland
Sorry I didn't get a chance to look at this before I went away on holiday, however I've just posted a patchset at https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg05577.html which should resolve the issue for you. With the above patchset applied I now see the following results with your te

[Qemu-devel] [Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-08-31 Thread Paul Clarke
I have access to lots of Power hardware, and happy to test and help however I can! Thanks, Mark! -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1841990 Title: instruction 'denbcdq' misbehaving Sta

[Qemu-devel] [Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-08-31 Thread Mark Cave-Ayland
Thanks for the report Paul (and also the investigation work Philippe). So yes it seems the DFP code is another fallout from the conversion of the floating point registers over to host-endian/VSR format. I've had a quick look at this and it seems that the simple fix to compensate for the FP registe

[Qemu-devel] [Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-08-30 Thread Philippe Mathieu-Daudé
This seems related to this change: commit ef96e3ae9698d6726a8113f448c82985a9f31ff5 Author: Mark Cave-Ayland Date: Wed Jan 2 09:14:22 2019 + target/ppc: move FP and VMX registers into aligned vsr register array The VSX register array is a block of 64 128-bit registers where the

[Qemu-devel] [Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-08-30 Thread Paul Clarke
@Philippe, thank you for spending the time to find a compiler that works with the testcase. I've been operating on RHEL 8 primarily: gcc version 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC) -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. h

[Qemu-devel] [Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-08-30 Thread Philippe Mathieu-Daudé
FWIW I could compile the attached test with: $ gcc -v gcc version 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC) -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1841990 Title: instruction 'denbcdq' misbehav

[Qemu-devel] [Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-08-30 Thread Philippe Mathieu-Daudé
I tried to compile your test program with 2 different GCC versions but it keeps failing, do you need a special/recent version? Meanwhile can you attach a statically linked binary? $ gcc -v gcc version 6.3.0 20170516 (Debian 6.3.0-18) $ gcc -g -O -mcpu=power9 test-denbcdq.c -o test-denbcdq test-d

[Qemu-devel] [Bug 1841990] Re: instruction 'denbcdq' misbehaving

2019-08-29 Thread Alex Bennée
** Tags added: ppc64 testcase -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1841990 Title: instruction 'denbcdq' misbehaving Status in QEMU: New Bug description: Instruction 'denbcdq' appears