All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: "Emilio G. Cota" <cota@braap.org>,
	QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PULL 0/7] check-softfloat, fp-bench and clang compile fixes
Date: Thu, 17 Jan 2019 20:10:13 +0000	[thread overview]
Message-ID: <871s5byriy.fsf@linaro.org> (raw)
In-Reply-To: <CAFEAcA_RN-68EXsfFqkXDp5BUB4QD01KqzCAX9=7VWPYN0NAvA@mail.gmail.com>


Peter Maydell <peter.maydell@linaro.org> writes:

> On Thu, 17 Jan 2019 at 18:30, Emilio G. Cota <cota@braap.org> wrote:
>>
>> On Thu, Jan 17, 2019 at 17:37:54 +0000, Peter Maydell wrote:
>> > On Thu, 17 Jan 2019 at 13:27, Alex Bennée <alex.bennee@linaro.org> wrote:
>> > >
>> > > The following changes since commit 4b9f0b0f7c84eea2dfb0d5be3e0254bc91319dbc:
>> > >
>> > >   Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2019-01-15 17:24:00 +0000)
>> > >
>> > > are available in the Git repository at:
>> > >
>> > >   https://github.com/stsquad/qemu.git tags/pull-fpu-next-170119-1
>> (snip)
>> >
>> > FreeBSD, OSX, x86-64 Linux clang builds:
>> (snip)
>> > PPC64, AArch64:
>> (snip)
>> > NetBSD:
>> (snip)
>>
>> I have added a few commits to fix these -- diff below.
>> Note that one fix requires a small change in the testfloat
>> submodule, which I'm pulling here.
>>
>> Alex, can you cherry-pick the commits in this branch?
>>
>>   https://github.com/cota/qemu/tree/bennee-pull
>>
>> They should go in before adding fp-test to the automated build,
>> of course. I left them at the top to make it easier for
>> you to cherry-pick.
>>
>> Also, since this will require a respin, you might want to fix the
>> "Makfile" typo in patch 7's title.
>>
>> > S390X host:
>> > Looks like a failure running the tests, but no diagnostics about
>> > what exactly went wrong or clear "test failed" indicator:
>> >
>> > cd /home/linux1/qemu/build/all/tests/fp && ./fp-test -s -l 1
>> > i32_to_f16 i64_to_f16 i32_to_f32 i64_t
>> > o_f32 i32_to_f64 i64_to_f64 i32_to_f128 i64_to_f128 >
>> > int-to-float.out 2>  int-to-float.err
>> > /home/linux1/qemu/tests/Makefile.include:913: recipe for target
>> > 'check-softfloat-conv' failed
>> > make: *** [check-softfloat-conv] Error 1
>>
>> What are the contents of "int-to-float.err"?
>
<snip>
>>> Testing i32_to_f128
> 372 tests total.
> 21 tests performed; 20 errors found.

It's probably not a regression but a failure in the old f128 code. When
I was enabling the tests I basically turned them all on and then
disabled what failed (all of which was exercising non-refactored code).
But of course this was all on x86_64 (although I also ran them on a
aarch64 host). It looks like more errors come out on a s390x host for
some reason. You can run manually for a more complete test with more
coverage:

  ./fp-test -l 2 -r all i32_to_f128

>
>
>> diff --git a/tests/fp/Makefile b/tests/fp/Makefile
>> index 5019dcdca0..5a35e7c210 100644
>> --- a/tests/fp/Makefile
>> +++ b/tests/fp/Makefile
>> @@ -65,8 +65,7 @@ QEMU_CFLAGS += $(TF_OPTS)
>>  TF_CFLAGS :=
>>  TF_CFLAGS += -Wno-strict-prototypes
>>  TF_CFLAGS += -Wno-unknown-pragmas
>> -TF_CFLAGS += -Wno-discarded-qualifiers
>> -TF_CFLAGS += -Wno-maybe-uninitialized
>> +TF_CFLAGS += -Wno-uninitialized
>>  TF_CFLAGS += -Wno-missing-prototypes
>>  TF_CFLAGS += -Wno-return-type
>>  TF_CFLAGS += -Wno-unused-function
>
> configure has logic to check whether it can use particular
> warning enable/disable flags. Newer gcc (and I hope clang
> but forget) will happily silently allow -Wno-random-new-thing
> even if they don't support -Wrandom-new-thing) but I'm not
> sure our minimum compiler version is yet new enough to
> be able to rely on that (indeed the warning messages suggest
> it is not).
>
>> diff --git a/tests/fp/berkeley-testfloat-3 b/tests/fp/berkeley-testfloat-3
>> index ca9fa2ba05..5a59dcec19 160000
>> --- a/tests/fp/berkeley-testfloat-3
>> +++ b/tests/fp/berkeley-testfloat-3
>> @@ -1 +1 @@
>> -Subproject commit ca9fa2ba05625ba929958f163b01747e07dd39cc
>> +Subproject commit 5a59dcec19327396a011a17fd924aed4fec416b3
>> diff --git a/tests/fp/fp-test.c b/tests/fp/fp-test.c
>> index fca576309c..2a35ef601d 100644
>> --- a/tests/fp/fp-test.c
>> +++ b/tests/fp/fp-test.c
>> @@ -789,7 +789,7 @@ static int set_init_flags(const char *flags)
>>      return 0;
>>  }
>>
>> -static uint8_t slow_clear_flags(void)
>> +static uint_fast8_t slow_clear_flags(void)
>>  {
>>      uint8_t prev = slowfloat_exceptionFlags;
>>
>> @@ -797,7 +797,7 @@ static uint8_t slow_clear_flags(void)
>>      return prev;
>>  }
>>
>> -static uint8_t qemu_clear_flags(void)
>> +static uint_fast8_t qemu_clear_flags(void)
>>  {
>>      uint8_t prev = qemu_flags_to_sf(qsf.float_exception_flags);
>
> Why are we using uint_fast8_t here anyway? We switched
> softfloat to using plain old uint8_t everywhere a while
> back.
>
> thanks
> -- PMM


--
Alex Bennée

  parent reply	other threads:[~2019-01-17 20:10 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-17 13:26 [Qemu-devel] [PULL 0/7] check-softfloat, fp-bench and clang compile fixes Alex Bennée
2019-01-17 13:26 ` [Qemu-devel] [PULL 1/7] fp-bench: fix update_random_ops Alex Bennée
2019-01-17 13:26 ` [Qemu-devel] [PULL 2/7] fp-bench: remove wrong exponent raise in fill_random Alex Bennée
2019-01-17 13:26 ` [Qemu-devel] [PULL 3/7] softfloat: enforce softfloat if the host's FMA is broken Alex Bennée
2019-01-17 13:27 ` [Qemu-devel] [PULL 4/7] include/fpu/softfloat: Fix compilation with Clang on s390x Alex Bennée
2019-01-17 13:27 ` [Qemu-devel] [PULL 5/7] tests/Makefile: add floating point tests Alex Bennée
2019-01-17 13:27 ` [Qemu-devel] [PULL 6/7] scripts/archive-source: include softfloat tests Alex Bennée
2019-01-17 13:27 ` [Qemu-devel] [PULL 7/7] tests/Makfile: add check-softfloat rule Alex Bennée
2019-01-17 17:37 ` [Qemu-devel] [PULL 0/7] check-softfloat, fp-bench and clang compile fixes Peter Maydell
2019-01-17 18:30   ` Emilio G. Cota
2019-01-17 18:55     ` Peter Maydell
2019-01-17 20:08       ` Emilio G. Cota
2019-01-18 17:41         ` Alex Bennée
2019-01-18 17:42           ` Peter Maydell
2019-01-18 20:19           ` Emilio G. Cota
2019-01-17 20:10       ` Alex Bennée [this message]
2019-01-18  9:03         ` Philippe Mathieu-Daudé
2019-01-18 17:00           ` Alex Bennée
2019-01-18 18:16             ` Emilio G. Cota
2019-01-18 18:30               ` Peter Maydell
2019-01-18 19:45                 ` Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871s5byriy.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=cota@braap.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.