[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
- [Qemu-commits] [qemu/qemu] 5140d6: qemu/host-utils: Use __builtin_bitreverseN,
Peter Maydell <=