qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 5140d6: qemu/host-utils: Use __builtin_bitrev


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 5140d6: qemu/host-utils: Use __builtin_bitreverseN
Date: Mon, 17 May 2021 12:08:34 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 5140d6be5e71cd5d75697d47ba510d117773e970
      
https://github.com/qemu/qemu/commit/5140d6be5e71cd5d75697d47ba510d117773e970
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M include/qemu/host-utils.h

  Log Message:
  -----------
  qemu/host-utils: Use __builtin_bitreverseN

Clang has added some builtins for these operations;
use them if available.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: cec07c0b6129757337282287870da2d4c3958f48
      
https://github.com/qemu/qemu/commit/cec07c0b6129757337282287870da2d4c3958f48
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M include/qemu/host-utils.h

  Log Message:
  -----------
  qemu/host-utils: Add wrappers for overflow builtins

These builtins came in with gcc 5 and clang 3.8, which are
slightly newer than our supported minimum compiler versions.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 1ec8070e58a30bd175a1c7186bff797488e8a17b
      
https://github.com/qemu/qemu/commit/1ec8070e58a30bd175a1c7186bff797488e8a17b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M include/qemu/host-utils.h

  Log Message:
  -----------
  qemu/host-utils: Add wrappers for carry builtins

These builtins came in clang 3.8, but are not present in gcc through
version 11.  Even in clang the optimization is only ideal on x86_64,
but never worse than the hand-coding that we currently do.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7702a855195b81c6551d60991237c04316201dff
      
https://github.com/qemu/qemu/commit/7702a855195b81c6551d60991237c04316201dff
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M accel/tcg/tcg-runtime-gvec.c

  Log Message:
  -----------
  accel/tcg: Use add/sub overflow routines in tcg-runtime-gvec.c

Obvious uses of the new functions.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f2b84b9edb0788eb25902c4ca268476b42fceb20
      
https://github.com/qemu/qemu/commit/f2b84b9edb0788eb25902c4ca268476b42fceb20
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M tests/fp/fp-bench.c

  Log Message:
  -----------
  tests/fp: add quad support to the benchmark utility

Currently this only support softfloat calculations because working out
if the hardware supports 128 bit floats needs configure magic. The 3
op muladd operation is currently unimplemented so commented out for
now.

Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201020163738.27700-8-alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e99c43735a413e2566b4ad36eeda6dd061a9b939
      
https://github.com/qemu/qemu/commit/e99c43735a413e2566b4ad36eeda6dd061a9b939
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move the binary point to the msb

Rather than point the binary point at msb-1, put it at the msb.
Use uadd64_overflow to detect when addition overflows instead
of DECOMPOSED_OVERFLOW_BIT.

This reduces the number of special cases within the code, such
as shifting an int64_t either left or right during conversion.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 622090ae1992d242553a20c9fd08f1ad2afdab41
      
https://github.com/qemu/qemu/commit/622090ae1992d242553a20c9fd08f1ad2afdab41
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-specialize.c.inc
    M include/fpu/softfloat.h

  Log Message:
  -----------
  softfloat: Inline float_raise

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: d82f3b2dc7d0efe0fcb0cec884c2d0803b9fd4de
      
https://github.com/qemu/qemu/commit/d82f3b2dc7d0efe0fcb0cec884c2d0803b9fd4de
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Use float_raise in more places

We have been somewhat inconsistent about when to use
float_raise and when to or in the bit by hand.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 9793c1e224a30252dfa7ca3c1f7a5c4827ca4cfc
      
https://github.com/qemu/qemu/commit/9793c1e224a30252dfa7ca3c1f7a5c4827ca4cfc
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Tidy a * b + inf return

No reason to set values in 'a', when we already
have float_class_inf in 'c', and can flip that sign.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 134eda00e9ec4f4a2798d64b3105331f8281aba6
      
https://github.com/qemu/qemu/commit/134eda00e9ec4f4a2798d64b3105331f8281aba6
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Add float_cmask and constants

Testing more than one class at a time is better done with masks.
This reduces the static branch count.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 0d40cd939ac852270da545de235744abe34b61e5
      
https://github.com/qemu/qemu/commit/0d40cd939ac852270da545de235744abe34b61e5
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Use return_nan in float_to_float

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 57547c6023344f4b4562d7cadb1799a31c8a4549
      
https://github.com/qemu/qemu/commit/57547c6023344f4b4562d7cadb1799a31c8a4549
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: fix return_nan vs default_nan_mode

Do not call parts_silence_nan when default_nan_mode is in
effect.  This will avoid an assert in a later patch.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e9e5534ff30a0441d2efa59004e3f815177e7c10
      
https://github.com/qemu/qemu/commit/e9e5534ff30a0441d2efa59004e3f815177e7c10
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M target/mips/fpu_helper.h

  Log Message:
  -----------
  target/mips: Set set_default_nan_mode with set_snan_bit_is_one

This behavior is currently hard-coded in parts_silence_nan,
but setting this bit properly will allow this to be cleaned up.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a777d6033447a916620846d3a65bc64a0617b574
      
https://github.com/qemu/qemu/commit/a777d6033447a916620846d3a65bc64a0617b574
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-specialize.c.inc

  Log Message:
  -----------
  softfloat: Do not produce a default_nan from parts_silence_nan

Require default_nan_mode to be set instead.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f8155c1d5236515359ef60a03f942b5b1fcb1c7c
      
https://github.com/qemu/qemu/commit/f8155c1d5236515359ef60a03f942b5b1fcb1c7c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-specialize.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Rename FloatParts to FloatParts64

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: aaffb7bf1c5509c2d29372f23e57f5f508d02021
      
https://github.com/qemu/qemu/commit/aaffb7bf1c5509c2d29372f23e57f5f508d02021
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move type-specific pack/unpack routines

In preparation from moving sf_canonicalize.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 0fc07cade25088b7449c7af5a002ea731bee154d
      
https://github.com/qemu/qemu/commit/0fc07cade25088b7449c7af5a002ea731bee154d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-specialize.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Use pointers with parts_default_nan

At the same time, rename to parts64_default_nan and add a
macro for parts_default_nan.  This will be flushed out once
128-bit support is added.

Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: d8fdd17280a7dfe7f2bc95a5a76ea241e844020d
      
https://github.com/qemu/qemu/commit/d8fdd17280a7dfe7f2bc95a5a76ea241e844020d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Use pointers with unpack_raw

At the same time, rename to unpack_raw64.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3dddb203bc570b5284d604d689c84c6b207a5317
      
https://github.com/qemu/qemu/commit/3dddb203bc570b5284d604d689c84c6b207a5317
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Use pointers with ftype_unpack_raw

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 9e4af58c244e48352f57c0c02dfbd3bcbaa5e3bd
      
https://github.com/qemu/qemu/commit/9e4af58c244e48352f57c0c02dfbd3bcbaa5e3bd
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Use pointers with pack_raw

At the same time, rename to pack_raw64.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 71fd178eaef94a5ad9db6bf093566f3ca4a1c7b4
      
https://github.com/qemu/qemu/commit/71fd178eaef94a5ad9db6bf093566f3ca4a1c7b4
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Use pointers with ftype_pack_raw

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 98e256fc702f1a65baeb5d3b768e6a264c2d5748
      
https://github.com/qemu/qemu/commit/98e256fc702f1a65baeb5d3b768e6a264c2d5748
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Use pointers with ftype_unpack_canonical

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e293e927a80e0ba5a3590052917aeb8e5a2fab90
      
https://github.com/qemu/qemu/commit/e293e927a80e0ba5a3590052917aeb8e5a2fab90
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Use pointers with ftype_round_pack_canonical

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 92ff426d7bc60821080f9d15cca896cfad7052b7
      
https://github.com/qemu/qemu/commit/92ff426d7bc60821080f9d15cca896cfad7052b7
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-specialize.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Use pointers with parts_silence_nan

At the same time, rename to parts64_silence_nan, split out
parts_silence_nan_frac, and define a macro for parts_silence_nan.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4109b9ea8ada91894dd561594dc5f2db83ebacf3
      
https://github.com/qemu/qemu/commit/4109b9ea8ada91894dd561594dc5f2db83ebacf3
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Rearrange FloatParts64

Shuffle the fraction to the end, otherwise sort by size.
Add frac_hi and frac_lo members to alias frac.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 0018b1f41bf37f8c3dff7663395a231c8a77771d
      
https://github.com/qemu/qemu/commit/0018b1f41bf37f8c3dff7663395a231c8a77771d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-specialize.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Convert float128_silence_nan to parts

This is the minimal change that also introduces float128_params,
float128_unpack_raw, and float128_pack_raw without running into
unused symbol Werrors.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e9034ea87e33d2e981a79d6f34567bd8e31c91a3
      
https://github.com/qemu/qemu/commit/e9034ea87e33d2e981a79d6f34567bd8e31c91a3
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-specialize.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Convert float128_default_nan to parts

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7c45bad866b098b8f91ffe727769d3d9f7e99cac
      
https://github.com/qemu/qemu/commit/7c45bad866b098b8f91ffe727769d3d9f7e99cac
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    A fpu/softfloat-parts.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move return_nan to softfloat-parts.c.inc

At the same time, convert to pointers, rename to return_nan$N
and define a macro for return_nan using QEMU_GENERIC.

Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 22c355f41785f258689cbba0af1c1e78365c4180
      
https://github.com/qemu/qemu/commit/22c355f41785f258689cbba0af1c1e78365c4180
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move pick_nan to softfloat-parts.c.inc

At the same time, convert to pointers, rename to parts$N_pick_nan
and define a macro for parts_pick_nan using QEMU_GENERIC.

Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 979582d07115ff3c5c0c1f2bed90a2db91191281
      
https://github.com/qemu/qemu/commit/979582d07115ff3c5c0c1f2bed90a2db91191281
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move pick_nan_muladd to softfloat-parts.c.inc

At the same time, convert to pointers, rename to pick_nan_muladd$N
and define a macro for pick_nan_muladd using QEMU_GENERIC.

Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: d46975bce10e163b9f10a7f569d3e046114d8580
      
https://github.com/qemu/qemu/commit/d46975bce10e163b9f10a7f569d3e046114d8580
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move sf_canonicalize to softfloat-parts.c.inc

At the same time, convert to pointers, rename to parts$N_canonicalize
and define a macro for parts_canonicalize using QEMU_GENERIC.

Rearrange the cases to recognize float_class_normal as
early as possible.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ee6959f277f7667034be3584897f8e390fe6a61e
      
https://github.com/qemu/qemu/commit/ee6959f277f7667034be3584897f8e390fe6a61e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move round_canonical to softfloat-parts.c.inc

At the same time, convert to pointers, renaming to parts$N_uncanon,
and define a macro for parts_uncanon using QEMU_GENERIC.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: cb3ad0365fb17f679c69057f384f1f4928c19647
      
https://github.com/qemu/qemu/commit/cb3ad0365fb17f679c69057f384f1f4928c19647
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M include/fpu/softfloat-macros.h

  Log Message:
  -----------
  softfloat: Use uadd64_carry, usub64_borrow in softfloat-macros.h

Use compiler support for carry arithmetic.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: da10a9074a630c1b1cfa9df5f510bbfdd3f7d327
      
https://github.com/qemu/qemu/commit/da10a9074a630c1b1cfa9df5f510bbfdd3f7d327
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    A fpu/softfloat-parts-addsub.c.inc
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move addsub_floats to softfloat-parts.c.inc

In preparation for implementing multiple sizes.  Rename to parts_addsub,
split out parts_add/sub_normal for future reuse with muladd.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3ff49e56a7294e1b0d29ee62250a877838f4a1eb
      
https://github.com/qemu/qemu/commit/3ff49e56a7294e1b0d29ee62250a877838f4a1eb
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Implement float128_add/sub via parts

Replace the existing Berkeley implementation with the
FloatParts implementation.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: aca845275a62e79daee8ed5bf95ccb8ace4aeac9
      
https://github.com/qemu/qemu/commit/aca845275a62e79daee8ed5bf95ccb8ace4aeac9
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move mul_floats to softfloat-parts.c.inc

Rename to parts$N_mul.
Reimplement float128_mul with FloatParts128.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: dedd123c56214f897d7045f2133b0261502690c6
      
https://github.com/qemu/qemu/commit/dedd123c56214f897d7045f2133b0261502690c6
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c
    M include/fpu/softfloat.h
    M tests/fp/fp-bench.c
    M tests/fp/fp-test.c
    M tests/fp/wrap.c.inc

  Log Message:
  -----------
  softfloat: Move muladd_floats to softfloat-parts.c.inc

Rename to parts$N_muladd.
Implement float128_muladd with FloatParts128.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b4d09b1794b08cbed5b33ea4bd146f523a2c3c1f
      
https://github.com/qemu/qemu/commit/b4d09b1794b08cbed5b33ea4bd146f523a2c3c1f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M include/fpu/softfloat-macros.h

  Log Message:
  -----------
  softfloat: Use mulu64 for mul64To128

Via host-utils.h, we use a host widening multiply for
64-bit hosts, and a common subroutine for 32-bit hosts.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: cd55a56e5c6fa0265e9c688e602279b66782362a
      
https://github.com/qemu/qemu/commit/cd55a56e5c6fa0265e9c688e602279b66782362a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M include/fpu/softfloat-macros.h

  Log Message:
  -----------
  softfloat: Use add192 in mul128To256

We can perform the operation in 6 total adds instead of 8.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5ffb6bd9c44763a0ee11981c632b9be96ec68d8c
      
https://github.com/qemu/qemu/commit/5ffb6bd9c44763a0ee11981c632b9be96ec68d8c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M include/fpu/softfloat-macros.h

  Log Message:
  -----------
  softfloat: Tidy mul128By64To192

Clean up the formatting and variables; no functional change.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 463e45dcb4aa1a878b5ae5c6bbaf4ae70e24bf50
      
https://github.com/qemu/qemu/commit/463e45dcb4aa1a878b5ae5c6bbaf4ae70e24bf50
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c
    M include/fpu/softfloat-macros.h

  Log Message:
  -----------
  softfloat: Introduce sh[lr]_double primitives

Have x86_64 assembly for them, with a fallback.
This avoids shuffling values through %cl in the x86 case.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ec961b81b40a70ff9352f3a1ecc43db610afd2aa
      
https://github.com/qemu/qemu/commit/ec961b81b40a70ff9352f3a1ecc43db610afd2aa
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move div_floats to softfloat-parts.c.inc

Rename to parts$N_div.
Implement float128_div with FloatParts128.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c3f1875ea3004fa6ffa7788804635919d3f0f828
      
https://github.com/qemu/qemu/commit/c3f1875ea3004fa6ffa7788804635919d3f0f828
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Split float_to_float

Split out parts_float_to_ahp and parts_float_to_float.
Convert to pointers.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 9882ccaff93b5f4c8fdc775074dd92f1a9a17b61
      
https://github.com/qemu/qemu/commit/9882ccaff93b5f4c8fdc775074dd92f1a9a17b61
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Convert float-to-float conversions with float128

Introduce parts_float_to_float_widen and parts_float_to_float_narrow.
Use them for float128_to_float{32,64} and float{32,64}_to_float128.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: afc34931ebb919e41dcafcfea14e0ac8aff6e9ce
      
https://github.com/qemu/qemu/commit/afc34931ebb919e41dcafcfea14e0ac8aff6e9ce
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move round_to_int to softfloat-parts.c.inc

At the same time, convert to pointers, split out
parts$N_round_to_int_normal, define a macro for
parts_round_to_int using QEMU_GENERIC.

This necessarily meant some rearrangement to the
rount_to_{,u}int_and_pack routines, so go ahead and
convert to parts_round_to_int_normal, which in turn
allows cleaning up of the raised exception handling.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 463b3f0d7fa11054daeb5ca22346f77d566795bf
      
https://github.com/qemu/qemu/commit/463b3f0d7fa11054daeb5ca22346f77d566795bf
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-16 (Sun, 16 May 2021)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c

  Log Message:
  -----------
  softfloat: Move round_to_int_and_pack to softfloat-parts.c.inc

Rename to parts$N_float_to_sint.  Reimplement
float128_to_int{32,64}{_round_to_zero} with FloatParts128.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 1acbc0fdf238d5c6c51ee3ef502f6a0ce589304a
      
https://github.com/qemu/qemu/commit/1acbc0fdf238d5c6c51ee3ef502f6a0ce589304a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-05-17 (Mon, 17 May 2021)

  Changed paths:
    M accel/tcg/tcg-runtime-gvec.c
    A fpu/softfloat-parts-addsub.c.inc
    A fpu/softfloat-parts.c.inc
    M fpu/softfloat-specialize.c.inc
    M fpu/softfloat.c
    M include/fpu/softfloat-macros.h
    M include/fpu/softfloat.h
    M include/qemu/host-utils.h
    M target/mips/fpu_helper.h
    M tests/fp/fp-bench.c
    M tests/fp/fp-test.c
    M tests/fp/wrap.c.inc

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth-gitlab/tags/pull-fp-20210516' into 
staging

Reorg FloatParts to use QEMU_GENERIC.
Begin replacing the Berkeley float128 routines with FloatParts128.
  - includes a new implementation of float128_muladd
  - includes the snan silencing that was missing from
    float{32,64}_to_float128 and float128_to_float{32,64}.
  - does not include float128_min/max* (written but not yet reviewed).

# gpg: Signature made Sun 16 May 2021 13:27:10 BST
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* remotes/rth-gitlab/tags/pull-fp-20210516: (46 commits)
  softfloat: Move round_to_int_and_pack to softfloat-parts.c.inc
  softfloat: Move round_to_int to softfloat-parts.c.inc
  softfloat: Convert float-to-float conversions with float128
  softfloat: Split float_to_float
  softfloat: Move div_floats to softfloat-parts.c.inc
  softfloat: Introduce sh[lr]_double primitives
  softfloat: Tidy mul128By64To192
  softfloat: Use add192 in mul128To256
  softfloat: Use mulu64 for mul64To128
  softfloat: Move muladd_floats to softfloat-parts.c.inc
  softfloat: Move mul_floats to softfloat-parts.c.inc
  softfloat: Implement float128_add/sub via parts
  softfloat: Move addsub_floats to softfloat-parts.c.inc
  softfloat: Use uadd64_carry, usub64_borrow in softfloat-macros.h
  softfloat: Move round_canonical to softfloat-parts.c.inc
  softfloat: Move sf_canonicalize to softfloat-parts.c.inc
  softfloat: Move pick_nan_muladd to softfloat-parts.c.inc
  softfloat: Move pick_nan to softfloat-parts.c.inc
  softfloat: Move return_nan to softfloat-parts.c.inc
  softfloat: Convert float128_default_nan to parts
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/367196caa07a...1acbc0fdf238



reply via email to

[Prev in Thread] Current Thread [Next in Thread]