qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: 1841592@bugs.launchpad.net, qemu-devel@nongnu.org, pc@us.ibm.com
Subject: Re: [Qemu-devel] [PATCH] tests/tcg: add float_madds test to multiarch
Date: Sat, 14 Sep 2019 18:59:24 +0100	[thread overview]
Message-ID: <87v9tuahdv.fsf@linaro.org> (raw)
In-Reply-To: <6ef910fa-d387-faf3-4647-209beaf7886a@linaro.org>


Richard Henderson <richard.henderson@linaro.org> writes:

> On 9/13/19 9:49 AM, Alex Bennée wrote:
>> +                    /* must be built with -O2 to generate fused op */
>> +                    r = a * b + c;
>
> I would prefer to use fmaf() or __builtin_fmaf() here.
>
> Although you'll need to link with -lm just in case the
> target doesn't support an instruction for fmaf and so
> the builtin expands to the standard library call.

I can do that - we have other tests that link to libm.

I was expecting to see more breakage but the ppc64 tests all passed (or
at least against the power8 David ran it on). What am I missing to hit
the cases you know are broken?

I've also experimented with reducing the number of iterations because if
we want to have golden references we probably don't want to dump several
hundred kilobytes of "golden" references into the source tree.

> I also like Paul's suggestion to use hex float constants.

Hmm I guess - look a bit weird but I guess that's lack of familiarity.
Is is still normalised? I guess the frac shows up (without the implicit
bit).

>
>
> r~


--
Alex Bennée


WARNING: multiple messages have this Message-ID (diff)
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [Bug 1841592] Re: [PATCH] tests/tcg: add float_madds test to multiarch
Date: Sat, 14 Sep 2019 17:59:24 -0000	[thread overview]
Message-ID: <87v9tuahdv.fsf@linaro.org> (raw)
Message-ID: <20190914175924.R3MKKGNgxi678cOZ0hzzXqLG1Fl6T0annGQh5U1TxGc@z> (raw)
In-Reply-To: 156691209320.18814.746226319480624520.malonedeb@soybean.canonical.com

Richard Henderson <richard.henderson@linaro.org> writes:

> On 9/13/19 9:49 AM, Alex Bennée wrote:
>> +                    /* must be built with -O2 to generate fused op */
>> +                    r = a * b + c;
>
> I would prefer to use fmaf() or __builtin_fmaf() here.
>
> Although you'll need to link with -lm just in case the
> target doesn't support an instruction for fmaf and so
> the builtin expands to the standard library call.

I can do that - we have other tests that link to libm.

I was expecting to see more breakage but the ppc64 tests all passed (or
at least against the power8 David ran it on). What am I missing to hit
the cases you know are broken?

I've also experimented with reducing the number of iterations because if
we want to have golden references we probably don't want to dump several
hundred kilobytes of "golden" references into the source tree.

> I also like Paul's suggestion to use hex float constants.

Hmm I guess - look a bit weird but I guess that's lack of familiarity.
Is is still normalised? I guess the frac shows up (without the implicit
bit).

>
>
> r~


--
Alex Bennée

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1841592

Title:
  ppc: softfloat float implementation issues

Status in QEMU:
  Incomplete

Bug description:
  Per bug #1841491, Richard Henderson (rth) said:
  > The float test failure is part of a larger problem for target/powerpc
  > in which all float routines are implemented incorrectly. They are all
  > implemented as double operations with rounding to float as a second
  > step. Which not only produces incorrect exceptions, as in this case,
  > but incorrect numerical results from the double rounding.
  >
  > This should probably be split to a separate bug...

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1841592/+subscriptions


  reply	other threads:[~2019-09-14 18:00 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-27 13:21 [Qemu-devel] [Bug 1841592] [NEW] ppc: softfloat float implementation issues Paul Clarke
2019-08-27 13:26 ` [Qemu-devel] [Bug 1841592] " Paul Clarke
2019-09-12 17:11 ` Alex Bennée
2019-09-12 18:39 ` Alex Bennée
2019-09-12 19:27 ` Richard Henderson
2019-09-12 21:30 ` Alex Bennée
2019-09-13  8:47 ` Alex Bennée
2019-09-13 13:49 ` [Qemu-devel] [PATCH] tests/tcg: add float_madds test to multiarch Alex Bennée
2019-09-13 13:49   ` [Qemu-devel] [Bug 1841592] " Alex Bennée
2019-09-13 14:50   ` [Qemu-devel] " Paul Clarke
2019-09-13 14:50     ` [Qemu-devel] [Bug 1841592] " Paul Clarke
2019-09-14 15:12   ` [Qemu-devel] " Richard Henderson
2019-09-14 17:59     ` Alex Bennée [this message]
2019-09-14 17:59       ` [Qemu-devel] [Bug 1841592] " Alex Bennée
2019-09-14 18:11       ` [Qemu-devel] " Richard Henderson
2019-09-13 14:13 ` [Qemu-devel] [Bug 1841592] Re: ppc: softfloat float implementation issues Alex Bennée
2019-11-14  4:17 ` Launchpad Bug Tracker

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=87v9tuahdv.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=1841592@bugs.launchpad.net \
    --cc=pc@us.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).