mbox series

[v2,0/3] refactor float-to-float conversions and fix AHP

Message ID 20180502154344.10585-1-alex.bennee@linaro.org
Headers show
Series refactor float-to-float conversions and fix AHP | expand

Message

Alex Bennée May 2, 2018, 3:43 p.m. UTC
Hi,

This is a more polished version of the re-factoring of the softfloat
fcvt code. I've split apart the fixes for ARM alternative
half-precision format for easier review. Rather than rely on some
questionable hacks it introduces a new FloatFmt to allow cleaner
handling of the differences in the common code. If there are other
alternative floating point formats they can follow a similar approach.

I've included the test case for reference although I expect it to be
merged with my tcg-testing revival code which has the rest of the
build and test machinery for the test case.

checkpatch dumps a bunch of false-positives as it doesn't like
scientific notation for floats or inline assembler used in the test
case.

Cheers,

Alex Bennée (3):
  fpu/softfloat: re-factor float to float conversions
  fpu/softfloat: support ARM Alternative half-precision
  tests/tcg/aarch64: add fcvt test cases for AArch64 (!UPSTREAM)

 fpu/softfloat-specialize.h |   40 -
 fpu/softfloat.c            |  524 +++------
 include/fpu/softfloat.h    |    8 +-
 tests/tcg/aarch64/fcvt.c   |  296 +++++
 tests/tcg/aarch64/fcvt.ref | 2138 ++++++++++++++++++++++++++++++++++++
 5 files changed, 2588 insertions(+), 418 deletions(-)
 create mode 100644 tests/tcg/aarch64/fcvt.c
 create mode 100644 tests/tcg/aarch64/fcvt.ref

-- 
2.17.0

Comments

no-reply@patchew.org May 2, 2018, 3:54 p.m. UTC | #1
Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20180502154344.10585-1-alex.bennee@linaro.org
Subject: [Qemu-devel] [PATCH v2 0/3] refactor float-to-float conversions and fix AHP

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 t [tag update]            patchew/20180502140359.18222-1-mreitz@redhat.com -> patchew/20180502140359.18222-1-mreitz@redhat.com
 * [new tag]               patchew/20180502154344.10585-1-alex.bennee@linaro.org -> patchew/20180502154344.10585-1-alex.bennee@linaro.org
Switched to a new branch 'test'
df8db34ba1 tests/tcg/aarch64: add fcvt test cases for AArch64 (!UPSTREAM)
c2fe988262 fpu/softfloat: support ARM Alternative half-precision
ec8c70c013 fpu/softfloat: re-factor float to float conversions

=== OUTPUT BEGIN ===
Checking PATCH 1/3: fpu/softfloat: re-factor float to float conversions...
Checking PATCH 2/3: fpu/softfloat: support ARM Alternative half-precision...
Checking PATCH 3/3: tests/tcg/aarch64: add fcvt test cases for AArch64 (!UPSTREAM)...
ERROR: spaces required around that '+' (ctx:VxV)
#85: FILE: tests/tcg/aarch64/fcvt.c:61:
+                           -1.111E+31,
                                   ^

ERROR: spaces required around that '+' (ctx:VxV)
#86: FILE: tests/tcg/aarch64/fcvt.c:62:
+                           -1.111E+30,
                                   ^

ERROR: spaces required around that '-' (ctx:VxV)
#87: FILE: tests/tcg/aarch64/fcvt.c:63:
+                           -1.08700982e-12,
                                        ^

ERROR: spaces required around that '-' (ctx:VxV)
#88: FILE: tests/tcg/aarch64/fcvt.c:64:
+                           -1.78051176e-20,
                                        ^

ERROR: spaces required around that '-' (ctx:VxV)
#92: FILE: tests/tcg/aarch64/fcvt.c:68:
+                           5.96046E-8, /* min positive FP16 subnormal */
                                    ^

ERROR: spaces required around that '-' (ctx:VxV)
#93: FILE: tests/tcg/aarch64/fcvt.c:69:
+                           6.09756E-5, /* max subnormal FP16 */
                                    ^

ERROR: spaces required around that '-' (ctx:VxV)
#94: FILE: tests/tcg/aarch64/fcvt.c:70:
+                           6.10352E-5, /* min positive normal FP16 */
                                    ^

ERROR: spaces required around that '+' (ctx:VxV)
#105: FILE: tests/tcg/aarch64/fcvt.c:81:
+                           1.111E+30,
                                  ^

ERROR: spaces required around that '-' (ctx:VxV)
#145: FILE: tests/tcg/aarch64/fcvt.c:121:
+                            -FLT_MAX-1.0,
                                     ^

ERROR: spaces required around that '+' (ctx:VxV)
#147: FILE: tests/tcg/aarch64/fcvt.c:123:
+                            -1.111E+31,
                                    ^

ERROR: spaces required around that '+' (ctx:VxV)
#148: FILE: tests/tcg/aarch64/fcvt.c:124:
+                            -1.111E+30, /* half prec */
                                    ^

ERROR: spaces required around that '-' (ctx:VxV)
#154: FILE: tests/tcg/aarch64/fcvt.c:130:
+                            5.96046E-8, /* min positive FP16 subnormal */
                                     ^

ERROR: spaces required around that '-' (ctx:VxV)
#155: FILE: tests/tcg/aarch64/fcvt.c:131:
+                            6.09756E-5, /* max subnormal FP16 */
                                     ^

ERROR: spaces required around that '-' (ctx:VxV)
#156: FILE: tests/tcg/aarch64/fcvt.c:132:
+                            6.10352E-5, /* min positive normal FP16 */
                                     ^

ERROR: spaces required around that '-' (ctx:VxV)
#160: FILE: tests/tcg/aarch64/fcvt.c:136:
+                            1.3789972848607228e-308,
                                                ^

ERROR: spaces required around that '-' (ctx:VxV)
#161: FILE: tests/tcg/aarch64/fcvt.c:137:
+                            1.4914738736681624e-308,
                                                ^

ERROR: space prohibited before open square bracket '['
#304: FILE: tests/tcg/aarch64/fcvt.c:280:
+        : /* no output */ : [flags] "n" (1 << 26) : "x1" );

ERROR: space prohibited before that close parenthesis ')'
#304: FILE: tests/tcg/aarch64/fcvt.c:280:
+        : /* no output */ : [flags] "n" (1 << 26) : "x1" );

total: 18 errors, 0 warnings, 2434 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Richard Henderson May 2, 2018, 4:28 p.m. UTC | #2
On 05/02/2018 08:43 AM, Alex Bennée wrote:
> This is a more polished version of the re-factoring of the softfloat

> fcvt code. I've split apart the fixes for ARM alternative

> half-precision format for easier review. Rather than rely on some

> questionable hacks it introduces a new FloatFmt to allow cleaner

> handling of the differences in the common code. If there are other

> alternative floating point formats they can follow a similar approach.

> 

> I've included the test case for reference although I expect it to be

> merged with my tcg-testing revival code which has the rest of the

> build and test machinery for the test case.

> 

> checkpatch dumps a bunch of false-positives as it doesn't like

> scientific notation for floats or inline assembler used in the test

> case.

> 

> Cheers,

> 

> Alex Bennée (3):

>   fpu/softfloat: re-factor float to float conversions

>   fpu/softfloat: support ARM Alternative half-precision

>   tests/tcg/aarch64: add fcvt test cases for AArch64 (!UPSTREAM)


Reviewed-by: Richard Henderson <richard.henderson@linaro.org>



r~