mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-01 23:21:08 +00:00
softfloat: Add scaling int-to-float routines
Backports commit 2abdfe24402907e7e8c103bdd4166f26b74200c2 from qemu
This commit is contained in:
parent
85303e3caf
commit
ee0d8aff72
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_aarch64
|
||||
#define int128_zero int128_zero_aarch64
|
||||
#define int16_to_float16 int16_to_float16_aarch64
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_aarch64
|
||||
#define int16_to_float32 int16_to_float32_aarch64
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_aarch64
|
||||
#define int16_to_float64 int16_to_float64_aarch64
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_aarch64
|
||||
#define int32_to_float128 int32_to_float128_aarch64
|
||||
#define int32_to_float16 int32_to_float16_aarch64
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_aarch64
|
||||
#define int32_to_float32 int32_to_float32_aarch64
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_aarch64
|
||||
#define int32_to_float64 int32_to_float64_aarch64
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_aarch64
|
||||
#define int32_to_floatx80 int32_to_floatx80_aarch64
|
||||
#define int64_to_float128 int64_to_float128_aarch64
|
||||
#define int64_to_float16 int64_to_float16_aarch64
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_aarch64
|
||||
#define int64_to_float32 int64_to_float32_aarch64
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_aarch64
|
||||
#define int64_to_float64 int64_to_float64_aarch64
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_aarch64
|
||||
#define int64_to_floatx80 int64_to_floatx80_aarch64
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_aarch64
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_aarch64
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_aarch64
|
||||
#define type_table_lookup type_table_lookup_aarch64
|
||||
#define uint16_to_float16 uint16_to_float16_aarch64
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_aarch64
|
||||
#define uint16_to_float32 uint16_to_float32_aarch64
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_aarch64
|
||||
#define uint16_to_float64 uint16_to_float64_aarch64
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_aarch64
|
||||
#define uint32_to_float16 uint32_to_float16_aarch64
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_aarch64
|
||||
#define uint32_to_float32 uint32_to_float32_aarch64
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_aarch64
|
||||
#define uint32_to_float64 uint32_to_float64_aarch64
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_aarch64
|
||||
#define uint64_to_float128 uint64_to_float128_aarch64
|
||||
#define uint64_to_float16 uint64_to_float16_aarch64
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_aarch64
|
||||
#define uint64_to_float32 uint64_to_float32_aarch64
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_aarch64
|
||||
#define uint64_to_float64 uint64_to_float64_aarch64
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_aarch64
|
||||
#define unassigned_io_ops unassigned_io_ops_aarch64
|
||||
#define unassigned_io_read unassigned_io_read_aarch64
|
||||
#define unassigned_io_write unassigned_io_write_aarch64
|
||||
|
|
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_aarch64eb
|
||||
#define int128_zero int128_zero_aarch64eb
|
||||
#define int16_to_float16 int16_to_float16_aarch64eb
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_aarch64eb
|
||||
#define int16_to_float32 int16_to_float32_aarch64eb
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_aarch64eb
|
||||
#define int16_to_float64 int16_to_float64_aarch64eb
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_aarch64eb
|
||||
#define int32_to_float128 int32_to_float128_aarch64eb
|
||||
#define int32_to_float16 int32_to_float16_aarch64eb
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_aarch64eb
|
||||
#define int32_to_float32 int32_to_float32_aarch64eb
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_aarch64eb
|
||||
#define int32_to_float64 int32_to_float64_aarch64eb
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_aarch64eb
|
||||
#define int32_to_floatx80 int32_to_floatx80_aarch64eb
|
||||
#define int64_to_float128 int64_to_float128_aarch64eb
|
||||
#define int64_to_float16 int64_to_float16_aarch64eb
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_aarch64eb
|
||||
#define int64_to_float32 int64_to_float32_aarch64eb
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_aarch64eb
|
||||
#define int64_to_float64 int64_to_float64_aarch64eb
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_aarch64eb
|
||||
#define int64_to_floatx80 int64_to_floatx80_aarch64eb
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_aarch64eb
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_aarch64eb
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_aarch64eb
|
||||
#define type_table_lookup type_table_lookup_aarch64eb
|
||||
#define uint16_to_float16 uint16_to_float16_aarch64eb
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_aarch64eb
|
||||
#define uint16_to_float32 uint16_to_float32_aarch64eb
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_aarch64eb
|
||||
#define uint16_to_float64 uint16_to_float64_aarch64eb
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_aarch64eb
|
||||
#define uint32_to_float16 uint32_to_float16_aarch64eb
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_aarch64eb
|
||||
#define uint32_to_float32 uint32_to_float32_aarch64eb
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_aarch64eb
|
||||
#define uint32_to_float64 uint32_to_float64_aarch64eb
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_aarch64eb
|
||||
#define uint64_to_float128 uint64_to_float128_aarch64eb
|
||||
#define uint64_to_float16 uint64_to_float16_aarch64eb
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_aarch64eb
|
||||
#define uint64_to_float32 uint64_to_float32_aarch64eb
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_aarch64eb
|
||||
#define uint64_to_float64 uint64_to_float64_aarch64eb
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_aarch64eb
|
||||
#define unassigned_io_ops unassigned_io_ops_aarch64eb
|
||||
#define unassigned_io_read unassigned_io_read_aarch64eb
|
||||
#define unassigned_io_write unassigned_io_write_aarch64eb
|
||||
|
|
18
qemu/arm.h
18
qemu/arm.h
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_arm
|
||||
#define int128_zero int128_zero_arm
|
||||
#define int16_to_float16 int16_to_float16_arm
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_arm
|
||||
#define int16_to_float32 int16_to_float32_arm
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_arm
|
||||
#define int16_to_float64 int16_to_float64_arm
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_arm
|
||||
#define int32_to_float128 int32_to_float128_arm
|
||||
#define int32_to_float16 int32_to_float16_arm
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_arm
|
||||
#define int32_to_float32 int32_to_float32_arm
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_arm
|
||||
#define int32_to_float64 int32_to_float64_arm
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_arm
|
||||
#define int32_to_floatx80 int32_to_floatx80_arm
|
||||
#define int64_to_float128 int64_to_float128_arm
|
||||
#define int64_to_float16 int64_to_float16_arm
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_arm
|
||||
#define int64_to_float32 int64_to_float32_arm
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_arm
|
||||
#define int64_to_float64 int64_to_float64_arm
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_arm
|
||||
#define int64_to_floatx80 int64_to_floatx80_arm
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_arm
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_arm
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_arm
|
||||
#define type_table_lookup type_table_lookup_arm
|
||||
#define uint16_to_float16 uint16_to_float16_arm
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_arm
|
||||
#define uint16_to_float32 uint16_to_float32_arm
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_arm
|
||||
#define uint16_to_float64 uint16_to_float64_arm
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_arm
|
||||
#define uint32_to_float16 uint32_to_float16_arm
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_arm
|
||||
#define uint32_to_float32 uint32_to_float32_arm
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_arm
|
||||
#define uint32_to_float64 uint32_to_float64_arm
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_arm
|
||||
#define uint64_to_float128 uint64_to_float128_arm
|
||||
#define uint64_to_float16 uint64_to_float16_arm
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_arm
|
||||
#define uint64_to_float32 uint64_to_float32_arm
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_arm
|
||||
#define uint64_to_float64 uint64_to_float64_arm
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_arm
|
||||
#define unassigned_io_ops unassigned_io_ops_arm
|
||||
#define unassigned_io_read unassigned_io_read_arm
|
||||
#define unassigned_io_write unassigned_io_write_arm
|
||||
|
|
18
qemu/armeb.h
18
qemu/armeb.h
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_armeb
|
||||
#define int128_zero int128_zero_armeb
|
||||
#define int16_to_float16 int16_to_float16_armeb
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_armeb
|
||||
#define int16_to_float32 int16_to_float32_armeb
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_armeb
|
||||
#define int16_to_float64 int16_to_float64_armeb
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_armeb
|
||||
#define int32_to_float128 int32_to_float128_armeb
|
||||
#define int32_to_float16 int32_to_float16_armeb
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_armeb
|
||||
#define int32_to_float32 int32_to_float32_armeb
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_armeb
|
||||
#define int32_to_float64 int32_to_float64_armeb
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_armeb
|
||||
#define int32_to_floatx80 int32_to_floatx80_armeb
|
||||
#define int64_to_float128 int64_to_float128_armeb
|
||||
#define int64_to_float16 int64_to_float16_armeb
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_armeb
|
||||
#define int64_to_float32 int64_to_float32_armeb
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_armeb
|
||||
#define int64_to_float64 int64_to_float64_armeb
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_armeb
|
||||
#define int64_to_floatx80 int64_to_floatx80_armeb
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_armeb
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_armeb
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_armeb
|
||||
#define type_table_lookup type_table_lookup_armeb
|
||||
#define uint16_to_float16 uint16_to_float16_armeb
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_armeb
|
||||
#define uint16_to_float32 uint16_to_float32_armeb
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_armeb
|
||||
#define uint16_to_float64 uint16_to_float64_armeb
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_armeb
|
||||
#define uint32_to_float16 uint32_to_float16_armeb
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_armeb
|
||||
#define uint32_to_float32 uint32_to_float32_armeb
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_armeb
|
||||
#define uint32_to_float64 uint32_to_float64_armeb
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_armeb
|
||||
#define uint64_to_float128 uint64_to_float128_armeb
|
||||
#define uint64_to_float16 uint64_to_float16_armeb
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_armeb
|
||||
#define uint64_to_float32 uint64_to_float32_armeb
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_armeb
|
||||
#define uint64_to_float64 uint64_to_float64_armeb
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_armeb
|
||||
#define unassigned_io_ops unassigned_io_ops_armeb
|
||||
#define unassigned_io_read unassigned_io_read_armeb
|
||||
#define unassigned_io_write unassigned_io_write_armeb
|
||||
|
|
|
@ -1604,81 +1604,121 @@ FLOAT_TO_UINT(64, 64)
|
|||
* to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||
*/
|
||||
|
||||
static FloatParts int_to_float(int64_t a, float_status *status)
|
||||
static FloatParts int_to_float(int64_t a, int scale, float_status *status)
|
||||
{
|
||||
FloatParts r = {0};
|
||||
FloatParts r = {0, 0, float_class_unclassified, false};
|
||||
if (a == 0) {
|
||||
r.cls = float_class_zero;
|
||||
r.sign = false;
|
||||
} else if (a == (1ULL << 63)) {
|
||||
r.cls = float_class_normal;
|
||||
r.sign = true;
|
||||
r.frac = DECOMPOSED_IMPLICIT_BIT;
|
||||
r.exp = 63;
|
||||
} else {
|
||||
uint64_t f;
|
||||
if (a < 0) {
|
||||
f = -a;
|
||||
r.sign = true;
|
||||
} else {
|
||||
f = a;
|
||||
r.sign = false;
|
||||
}
|
||||
int shift = clz64(f) - 1;
|
||||
uint64_t f = a;
|
||||
int shift;
|
||||
|
||||
r.cls = float_class_normal;
|
||||
r.exp = (DECOMPOSED_BINARY_POINT - shift);
|
||||
r.frac = f << shift;
|
||||
if (a < 0) {
|
||||
f = -f;
|
||||
r.sign = true;
|
||||
}
|
||||
shift = clz64(f) - 1;
|
||||
scale = MIN(MAX(scale, -0x10000), 0x10000);
|
||||
|
||||
r.exp = DECOMPOSED_BINARY_POINT - shift + scale;
|
||||
r.frac = (shift < 0 ? DECOMPOSED_IMPLICIT_BIT : f << shift);
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
float16 int64_to_float16_scalbn(int64_t a, int scale, float_status *status)
|
||||
{
|
||||
FloatParts pa = int_to_float(a, scale, status);
|
||||
return float16_round_pack_canonical(pa, status);
|
||||
}
|
||||
|
||||
float16 int32_to_float16_scalbn(int32_t a, int scale, float_status *status)
|
||||
{
|
||||
return int64_to_float16_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float16 int16_to_float16_scalbn(int16_t a, int scale, float_status *status)
|
||||
{
|
||||
return int64_to_float16_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float16 int64_to_float16(int64_t a, float_status *status)
|
||||
{
|
||||
FloatParts pa = int_to_float(a, status);
|
||||
return float16_round_pack_canonical(pa, status);
|
||||
return int64_to_float16_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float16 int32_to_float16(int32_t a, float_status *status)
|
||||
{
|
||||
return int64_to_float16(a, status);
|
||||
return int64_to_float16_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float16 int16_to_float16(int16_t a, float_status *status)
|
||||
{
|
||||
return int64_to_float16(a, status);
|
||||
return int64_to_float16_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float32 int64_to_float32_scalbn(int64_t a, int scale, float_status *status)
|
||||
{
|
||||
FloatParts pa = int_to_float(a, scale, status);
|
||||
return float32_round_pack_canonical(pa, status);
|
||||
}
|
||||
|
||||
float32 int32_to_float32_scalbn(int32_t a, int scale, float_status *status)
|
||||
{
|
||||
return int64_to_float32_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float32 int16_to_float32_scalbn(int16_t a, int scale, float_status *status)
|
||||
{
|
||||
return int64_to_float32_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float32 int64_to_float32(int64_t a, float_status *status)
|
||||
{
|
||||
FloatParts pa = int_to_float(a, status);
|
||||
return float32_round_pack_canonical(pa, status);
|
||||
return int64_to_float32_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float32 int32_to_float32(int32_t a, float_status *status)
|
||||
{
|
||||
return int64_to_float32(a, status);
|
||||
return int64_to_float32_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float32 int16_to_float32(int16_t a, float_status *status)
|
||||
{
|
||||
return int64_to_float32(a, status);
|
||||
return int64_to_float32_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float64 int64_to_float64_scalbn(int64_t a, int scale, float_status *status)
|
||||
{
|
||||
FloatParts pa = int_to_float(a, scale, status);
|
||||
return float64_round_pack_canonical(pa, status);
|
||||
}
|
||||
|
||||
float64 int32_to_float64_scalbn(int32_t a, int scale, float_status *status)
|
||||
{
|
||||
return int64_to_float64_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float64 int16_to_float64_scalbn(int16_t a, int scale, float_status *status)
|
||||
{
|
||||
return int64_to_float64_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float64 int64_to_float64(int64_t a, float_status *status)
|
||||
{
|
||||
FloatParts pa = int_to_float(a, status);
|
||||
return float64_round_pack_canonical(pa, status);
|
||||
return int64_to_float64_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float64 int32_to_float64(int32_t a, float_status *status)
|
||||
{
|
||||
return int64_to_float64(a, status);
|
||||
return int64_to_float64_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float64 int16_to_float64(int16_t a, float_status *status)
|
||||
{
|
||||
return int64_to_float64(a, status);
|
||||
return int64_to_float64_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1690,73 +1730,120 @@ float64 int16_to_float64(int16_t a, float_status *status)
|
|||
* IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||
*/
|
||||
|
||||
static FloatParts uint_to_float(uint64_t a, float_status *status)
|
||||
static FloatParts uint_to_float(uint64_t a, int scale, float_status *status)
|
||||
{
|
||||
FloatParts r = { .sign = false};
|
||||
FloatParts r = {0, 0, float_class_unclassified, false};
|
||||
|
||||
if (a == 0) {
|
||||
r.cls = float_class_zero;
|
||||
} else {
|
||||
int spare_bits = clz64(a) - 1;
|
||||
scale = MIN(MAX(scale, -0x10000), 0x10000);
|
||||
r.cls = float_class_normal;
|
||||
r.exp = DECOMPOSED_BINARY_POINT - spare_bits;
|
||||
if (spare_bits < 0) {
|
||||
shift64RightJamming(a, -spare_bits, &a);
|
||||
if ((int64_t)a < 0) {
|
||||
r.exp = DECOMPOSED_BINARY_POINT + 1 + scale;
|
||||
shift64RightJamming(a, 1, &a);
|
||||
r.frac = a;
|
||||
} else {
|
||||
r.frac = a << spare_bits;
|
||||
int shift = clz64(a) - 1;
|
||||
r.exp = DECOMPOSED_BINARY_POINT - shift + scale;
|
||||
r.frac = a << shift;
|
||||
}
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
float16 uint64_to_float16_scalbn(uint64_t a, int scale, float_status *status)
|
||||
{
|
||||
FloatParts pa = uint_to_float(a, scale, status);
|
||||
return float16_round_pack_canonical(pa, status);
|
||||
}
|
||||
|
||||
float16 uint32_to_float16_scalbn(uint32_t a, int scale, float_status *status)
|
||||
{
|
||||
return uint64_to_float16_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float16 uint16_to_float16_scalbn(uint16_t a, int scale, float_status *status)
|
||||
{
|
||||
return uint64_to_float16_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float16 uint64_to_float16(uint64_t a, float_status *status)
|
||||
{
|
||||
FloatParts pa = uint_to_float(a, status);
|
||||
return float16_round_pack_canonical(pa, status);
|
||||
return uint64_to_float16_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float16 uint32_to_float16(uint32_t a, float_status *status)
|
||||
{
|
||||
return uint64_to_float16(a, status);
|
||||
return uint64_to_float16_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float16 uint16_to_float16(uint16_t a, float_status *status)
|
||||
{
|
||||
return uint64_to_float16(a, status);
|
||||
return uint64_to_float16_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float32 uint64_to_float32_scalbn(uint64_t a, int scale, float_status *status)
|
||||
{
|
||||
FloatParts pa = uint_to_float(a, scale, status);
|
||||
return float32_round_pack_canonical(pa, status);
|
||||
}
|
||||
|
||||
float32 uint32_to_float32_scalbn(uint32_t a, int scale, float_status *status)
|
||||
{
|
||||
return uint64_to_float32_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float32 uint16_to_float32_scalbn(uint16_t a, int scale, float_status *status)
|
||||
{
|
||||
return uint64_to_float32_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float32 uint64_to_float32(uint64_t a, float_status *status)
|
||||
{
|
||||
FloatParts pa = uint_to_float(a, status);
|
||||
return float32_round_pack_canonical(pa, status);
|
||||
return uint64_to_float32_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float32 uint32_to_float32(uint32_t a, float_status *status)
|
||||
{
|
||||
return uint64_to_float32(a, status);
|
||||
return uint64_to_float32_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float32 uint16_to_float32(uint16_t a, float_status *status)
|
||||
{
|
||||
return uint64_to_float32(a, status);
|
||||
return uint64_to_float32_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float64 uint64_to_float64_scalbn(uint64_t a, int scale, float_status *status)
|
||||
{
|
||||
FloatParts pa = uint_to_float(a, scale, status);
|
||||
return float64_round_pack_canonical(pa, status);
|
||||
}
|
||||
|
||||
float64 uint32_to_float64_scalbn(uint32_t a, int scale, float_status *status)
|
||||
{
|
||||
return uint64_to_float64_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float64 uint16_to_float64_scalbn(uint16_t a, int scale, float_status *status)
|
||||
{
|
||||
return uint64_to_float64_scalbn(a, scale, status);
|
||||
}
|
||||
|
||||
float64 uint64_to_float64(uint64_t a, float_status *status)
|
||||
{
|
||||
FloatParts pa = uint_to_float(a, status);
|
||||
return float64_round_pack_canonical(pa, status);
|
||||
return uint64_to_float64_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float64 uint32_to_float64(uint32_t a, float_status *status)
|
||||
{
|
||||
return uint64_to_float64(a, status);
|
||||
return uint64_to_float64_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
float64 uint16_to_float64(uint16_t a, float_status *status)
|
||||
{
|
||||
return uint64_to_float64(a, status);
|
||||
return uint64_to_float64_scalbn(a, 0, status);
|
||||
}
|
||||
|
||||
/* Float Min/Max */
|
||||
|
|
|
@ -1826,17 +1826,26 @@ symbols = (
|
|||
'int128_subfrom',
|
||||
'int128_zero',
|
||||
'int16_to_float16',
|
||||
'int16_to_float16_scalbn',
|
||||
'int16_to_float32',
|
||||
'int16_to_float32_scalbn',
|
||||
'int16_to_float64',
|
||||
'int16_to_float64_scalbn',
|
||||
'int32_to_float128',
|
||||
'int32_to_float16',
|
||||
'int32_to_float16_scalbn',
|
||||
'int32_to_float32',
|
||||
'int32_to_float32_scalbn',
|
||||
'int32_to_float64',
|
||||
'int32_to_float64_scalbn',
|
||||
'int32_to_floatx80',
|
||||
'int64_to_float128',
|
||||
'int64_to_float16',
|
||||
'int64_to_float16_scalbn',
|
||||
'int64_to_float32',
|
||||
'int64_to_float32_scalbn',
|
||||
'int64_to_float64',
|
||||
'int64_to_float64_scalbn',
|
||||
'int64_to_floatx80',
|
||||
'invalidate_and_set_dirty',
|
||||
'invalidate_page_bitmap',
|
||||
|
@ -3158,15 +3167,24 @@ symbols = (
|
|||
'type_table_get',
|
||||
'type_table_lookup',
|
||||
'uint16_to_float16',
|
||||
'uint16_to_float16_scalbn',
|
||||
'uint16_to_float32',
|
||||
'uint16_to_float32_scalbn',
|
||||
'uint16_to_float64',
|
||||
'uint16_to_float64_scalbn',
|
||||
'uint32_to_float16',
|
||||
'uint32_to_float16_scalbn',
|
||||
'uint32_to_float32',
|
||||
'uint32_to_float32_scalbn',
|
||||
'uint32_to_float64',
|
||||
'uint32_to_float64_scalbn',
|
||||
'uint64_to_float128',
|
||||
'uint64_to_float16',
|
||||
'uint64_to_float16_scalbn',
|
||||
'uint64_to_float32',
|
||||
'uint64_to_float32_scalbn',
|
||||
'uint64_to_float64',
|
||||
'uint64_to_float64_scalbn',
|
||||
'unassigned_io_ops',
|
||||
'unassigned_io_read',
|
||||
'unassigned_io_write',
|
||||
|
|
|
@ -193,22 +193,54 @@ enum {
|
|||
/*----------------------------------------------------------------------------
|
||||
| Software IEC/IEEE integer-to-floating-point conversion routines.
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
float16 int16_to_float16_scalbn(int16_t a, int, float_status *status);
|
||||
float16 int32_to_float16_scalbn(int32_t a, int, float_status *status);
|
||||
float16 int64_to_float16_scalbn(int64_t a, int, float_status *status);
|
||||
float16 uint16_to_float16_scalbn(uint16_t a, int, float_status *status);
|
||||
float16 uint32_to_float16_scalbn(uint32_t a, int, float_status *status);
|
||||
float16 uint64_to_float16_scalbn(uint64_t a, int, float_status *status);
|
||||
|
||||
float16 int16_to_float16(int16_t a, float_status *status);
|
||||
float16 int32_to_float16(int32_t a, float_status *status);
|
||||
float16 int64_to_float16(int64_t a, float_status *status);
|
||||
float16 uint16_to_float16(uint16_t a, float_status *status);
|
||||
float16 uint32_to_float16(uint32_t a, float_status *status);
|
||||
float16 uint64_to_float16(uint64_t a, float_status *status);
|
||||
|
||||
float32 int16_to_float32_scalbn(int16_t, int, float_status *status);
|
||||
float32 int32_to_float32_scalbn(int32_t, int, float_status *status);
|
||||
float32 int64_to_float32_scalbn(int64_t, int, float_status *status);
|
||||
float32 uint16_to_float32_scalbn(uint16_t, int, float_status *status);
|
||||
float32 uint32_to_float32_scalbn(uint32_t, int, float_status *status);
|
||||
float32 uint64_to_float32_scalbn(uint64_t, int, float_status *status);
|
||||
|
||||
float32 int16_to_float32(int16_t, float_status *status);
|
||||
float32 int32_to_float32(int32_t, float_status *status);
|
||||
float64 int16_to_float64(int16_t, float_status *status);
|
||||
float64 int32_to_float64(int32_t, float_status *status);
|
||||
float32 int64_to_float32(int64_t, float_status *status);
|
||||
float32 uint16_to_float32(uint16_t, float_status *status);
|
||||
float32 uint32_to_float32(uint32_t, float_status *status);
|
||||
float32 uint64_to_float32(uint64_t, float_status *status);
|
||||
|
||||
float64 int16_to_float64_scalbn(int16_t, int, float_status *status);
|
||||
float64 int32_to_float64_scalbn(int32_t, int, float_status *status);
|
||||
float64 int64_to_float64_scalbn(int64_t, int, float_status *status);
|
||||
float64 uint16_to_float64_scalbn(uint16_t, int, float_status *status);
|
||||
float64 uint32_to_float64_scalbn(uint32_t, int, float_status *status);
|
||||
float64 uint64_to_float64_scalbn(uint64_t, int, float_status *status);
|
||||
|
||||
float64 int16_to_float64(int16_t, float_status *status);
|
||||
float64 int32_to_float64(int32_t, float_status *status);
|
||||
float64 int64_to_float64(int64_t, float_status *status);
|
||||
float64 uint16_to_float64(uint16_t, float_status *status);
|
||||
float64 uint32_to_float64(uint32_t, float_status *status);
|
||||
floatx80 int32_to_floatx80(int32_t, float_status *status);
|
||||
float128 int32_to_float128(int32_t, float_status *status);
|
||||
float32 int64_to_float32(int64_t, float_status *status);
|
||||
float64 int64_to_float64(int64_t, float_status *status);
|
||||
floatx80 int64_to_floatx80(int64_t, float_status *status);
|
||||
float128 int64_to_float128(int64_t, float_status *status);
|
||||
float32 uint64_to_float32(uint64_t, float_status *status);
|
||||
float64 uint64_to_float64(uint64_t, float_status *status);
|
||||
|
||||
floatx80 int32_to_floatx80(int32_t, float_status *status);
|
||||
floatx80 int64_to_floatx80(int64_t, float_status *status);
|
||||
|
||||
float128 int32_to_float128(int32_t, float_status *status);
|
||||
float128 int64_to_float128(int64_t, float_status *status);
|
||||
float128 uint64_to_float128(uint64_t, float_status *status);
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
|
@ -230,12 +262,6 @@ int64_t float16_to_int64(float16, float_status *status);
|
|||
uint64_t float16_to_uint64(float16 a, float_status *status);
|
||||
int64_t float16_to_int64_round_to_zero(float16, float_status *status);
|
||||
uint64_t float16_to_uint64_round_to_zero(float16 a, float_status *status);
|
||||
float16 int16_to_float16(int16_t a, float_status *status);
|
||||
float16 int32_to_float16(int32_t a, float_status *status);
|
||||
float16 int64_to_float16(int64_t a, float_status *status);
|
||||
float16 uint16_to_float16(uint16_t a, float_status *status);
|
||||
float16 uint32_to_float16(uint32_t a, float_status *status);
|
||||
float16 uint64_to_float16(uint64_t a, float_status *status);
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
| Software half-precision operations.
|
||||
|
|
18
qemu/m68k.h
18
qemu/m68k.h
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_m68k
|
||||
#define int128_zero int128_zero_m68k
|
||||
#define int16_to_float16 int16_to_float16_m68k
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_m68k
|
||||
#define int16_to_float32 int16_to_float32_m68k
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_m68k
|
||||
#define int16_to_float64 int16_to_float64_m68k
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_m68k
|
||||
#define int32_to_float128 int32_to_float128_m68k
|
||||
#define int32_to_float16 int32_to_float16_m68k
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_m68k
|
||||
#define int32_to_float32 int32_to_float32_m68k
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_m68k
|
||||
#define int32_to_float64 int32_to_float64_m68k
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_m68k
|
||||
#define int32_to_floatx80 int32_to_floatx80_m68k
|
||||
#define int64_to_float128 int64_to_float128_m68k
|
||||
#define int64_to_float16 int64_to_float16_m68k
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_m68k
|
||||
#define int64_to_float32 int64_to_float32_m68k
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_m68k
|
||||
#define int64_to_float64 int64_to_float64_m68k
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_m68k
|
||||
#define int64_to_floatx80 int64_to_floatx80_m68k
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_m68k
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_m68k
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_m68k
|
||||
#define type_table_lookup type_table_lookup_m68k
|
||||
#define uint16_to_float16 uint16_to_float16_m68k
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_m68k
|
||||
#define uint16_to_float32 uint16_to_float32_m68k
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_m68k
|
||||
#define uint16_to_float64 uint16_to_float64_m68k
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_m68k
|
||||
#define uint32_to_float16 uint32_to_float16_m68k
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_m68k
|
||||
#define uint32_to_float32 uint32_to_float32_m68k
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_m68k
|
||||
#define uint32_to_float64 uint32_to_float64_m68k
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_m68k
|
||||
#define uint64_to_float128 uint64_to_float128_m68k
|
||||
#define uint64_to_float16 uint64_to_float16_m68k
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_m68k
|
||||
#define uint64_to_float32 uint64_to_float32_m68k
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_m68k
|
||||
#define uint64_to_float64 uint64_to_float64_m68k
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_m68k
|
||||
#define unassigned_io_ops unassigned_io_ops_m68k
|
||||
#define unassigned_io_read unassigned_io_read_m68k
|
||||
#define unassigned_io_write unassigned_io_write_m68k
|
||||
|
|
18
qemu/mips.h
18
qemu/mips.h
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_mips
|
||||
#define int128_zero int128_zero_mips
|
||||
#define int16_to_float16 int16_to_float16_mips
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_mips
|
||||
#define int16_to_float32 int16_to_float32_mips
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_mips
|
||||
#define int16_to_float64 int16_to_float64_mips
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_mips
|
||||
#define int32_to_float128 int32_to_float128_mips
|
||||
#define int32_to_float16 int32_to_float16_mips
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_mips
|
||||
#define int32_to_float32 int32_to_float32_mips
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_mips
|
||||
#define int32_to_float64 int32_to_float64_mips
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_mips
|
||||
#define int32_to_floatx80 int32_to_floatx80_mips
|
||||
#define int64_to_float128 int64_to_float128_mips
|
||||
#define int64_to_float16 int64_to_float16_mips
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_mips
|
||||
#define int64_to_float32 int64_to_float32_mips
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_mips
|
||||
#define int64_to_float64 int64_to_float64_mips
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_mips
|
||||
#define int64_to_floatx80 int64_to_floatx80_mips
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_mips
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_mips
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_mips
|
||||
#define type_table_lookup type_table_lookup_mips
|
||||
#define uint16_to_float16 uint16_to_float16_mips
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_mips
|
||||
#define uint16_to_float32 uint16_to_float32_mips
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_mips
|
||||
#define uint16_to_float64 uint16_to_float64_mips
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_mips
|
||||
#define uint32_to_float16 uint32_to_float16_mips
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_mips
|
||||
#define uint32_to_float32 uint32_to_float32_mips
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_mips
|
||||
#define uint32_to_float64 uint32_to_float64_mips
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_mips
|
||||
#define uint64_to_float128 uint64_to_float128_mips
|
||||
#define uint64_to_float16 uint64_to_float16_mips
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_mips
|
||||
#define uint64_to_float32 uint64_to_float32_mips
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_mips
|
||||
#define uint64_to_float64 uint64_to_float64_mips
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_mips
|
||||
#define unassigned_io_ops unassigned_io_ops_mips
|
||||
#define unassigned_io_read unassigned_io_read_mips
|
||||
#define unassigned_io_write unassigned_io_write_mips
|
||||
|
|
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_mips64
|
||||
#define int128_zero int128_zero_mips64
|
||||
#define int16_to_float16 int16_to_float16_mips64
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_mips64
|
||||
#define int16_to_float32 int16_to_float32_mips64
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_mips64
|
||||
#define int16_to_float64 int16_to_float64_mips64
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_mips64
|
||||
#define int32_to_float128 int32_to_float128_mips64
|
||||
#define int32_to_float16 int32_to_float16_mips64
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_mips64
|
||||
#define int32_to_float32 int32_to_float32_mips64
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_mips64
|
||||
#define int32_to_float64 int32_to_float64_mips64
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_mips64
|
||||
#define int32_to_floatx80 int32_to_floatx80_mips64
|
||||
#define int64_to_float128 int64_to_float128_mips64
|
||||
#define int64_to_float16 int64_to_float16_mips64
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_mips64
|
||||
#define int64_to_float32 int64_to_float32_mips64
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_mips64
|
||||
#define int64_to_float64 int64_to_float64_mips64
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_mips64
|
||||
#define int64_to_floatx80 int64_to_floatx80_mips64
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_mips64
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_mips64
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_mips64
|
||||
#define type_table_lookup type_table_lookup_mips64
|
||||
#define uint16_to_float16 uint16_to_float16_mips64
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_mips64
|
||||
#define uint16_to_float32 uint16_to_float32_mips64
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_mips64
|
||||
#define uint16_to_float64 uint16_to_float64_mips64
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_mips64
|
||||
#define uint32_to_float16 uint32_to_float16_mips64
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_mips64
|
||||
#define uint32_to_float32 uint32_to_float32_mips64
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_mips64
|
||||
#define uint32_to_float64 uint32_to_float64_mips64
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_mips64
|
||||
#define uint64_to_float128 uint64_to_float128_mips64
|
||||
#define uint64_to_float16 uint64_to_float16_mips64
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_mips64
|
||||
#define uint64_to_float32 uint64_to_float32_mips64
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_mips64
|
||||
#define uint64_to_float64 uint64_to_float64_mips64
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_mips64
|
||||
#define unassigned_io_ops unassigned_io_ops_mips64
|
||||
#define unassigned_io_read unassigned_io_read_mips64
|
||||
#define unassigned_io_write unassigned_io_write_mips64
|
||||
|
|
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_mips64el
|
||||
#define int128_zero int128_zero_mips64el
|
||||
#define int16_to_float16 int16_to_float16_mips64el
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_mips64el
|
||||
#define int16_to_float32 int16_to_float32_mips64el
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_mips64el
|
||||
#define int16_to_float64 int16_to_float64_mips64el
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_mips64el
|
||||
#define int32_to_float128 int32_to_float128_mips64el
|
||||
#define int32_to_float16 int32_to_float16_mips64el
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_mips64el
|
||||
#define int32_to_float32 int32_to_float32_mips64el
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_mips64el
|
||||
#define int32_to_float64 int32_to_float64_mips64el
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_mips64el
|
||||
#define int32_to_floatx80 int32_to_floatx80_mips64el
|
||||
#define int64_to_float128 int64_to_float128_mips64el
|
||||
#define int64_to_float16 int64_to_float16_mips64el
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_mips64el
|
||||
#define int64_to_float32 int64_to_float32_mips64el
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_mips64el
|
||||
#define int64_to_float64 int64_to_float64_mips64el
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_mips64el
|
||||
#define int64_to_floatx80 int64_to_floatx80_mips64el
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_mips64el
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_mips64el
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_mips64el
|
||||
#define type_table_lookup type_table_lookup_mips64el
|
||||
#define uint16_to_float16 uint16_to_float16_mips64el
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_mips64el
|
||||
#define uint16_to_float32 uint16_to_float32_mips64el
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_mips64el
|
||||
#define uint16_to_float64 uint16_to_float64_mips64el
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_mips64el
|
||||
#define uint32_to_float16 uint32_to_float16_mips64el
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_mips64el
|
||||
#define uint32_to_float32 uint32_to_float32_mips64el
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_mips64el
|
||||
#define uint32_to_float64 uint32_to_float64_mips64el
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_mips64el
|
||||
#define uint64_to_float128 uint64_to_float128_mips64el
|
||||
#define uint64_to_float16 uint64_to_float16_mips64el
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_mips64el
|
||||
#define uint64_to_float32 uint64_to_float32_mips64el
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_mips64el
|
||||
#define uint64_to_float64 uint64_to_float64_mips64el
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_mips64el
|
||||
#define unassigned_io_ops unassigned_io_ops_mips64el
|
||||
#define unassigned_io_read unassigned_io_read_mips64el
|
||||
#define unassigned_io_write unassigned_io_write_mips64el
|
||||
|
|
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_mipsel
|
||||
#define int128_zero int128_zero_mipsel
|
||||
#define int16_to_float16 int16_to_float16_mipsel
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_mipsel
|
||||
#define int16_to_float32 int16_to_float32_mipsel
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_mipsel
|
||||
#define int16_to_float64 int16_to_float64_mipsel
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_mipsel
|
||||
#define int32_to_float128 int32_to_float128_mipsel
|
||||
#define int32_to_float16 int32_to_float16_mipsel
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_mipsel
|
||||
#define int32_to_float32 int32_to_float32_mipsel
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_mipsel
|
||||
#define int32_to_float64 int32_to_float64_mipsel
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_mipsel
|
||||
#define int32_to_floatx80 int32_to_floatx80_mipsel
|
||||
#define int64_to_float128 int64_to_float128_mipsel
|
||||
#define int64_to_float16 int64_to_float16_mipsel
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_mipsel
|
||||
#define int64_to_float32 int64_to_float32_mipsel
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_mipsel
|
||||
#define int64_to_float64 int64_to_float64_mipsel
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_mipsel
|
||||
#define int64_to_floatx80 int64_to_floatx80_mipsel
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_mipsel
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_mipsel
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_mipsel
|
||||
#define type_table_lookup type_table_lookup_mipsel
|
||||
#define uint16_to_float16 uint16_to_float16_mipsel
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_mipsel
|
||||
#define uint16_to_float32 uint16_to_float32_mipsel
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_mipsel
|
||||
#define uint16_to_float64 uint16_to_float64_mipsel
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_mipsel
|
||||
#define uint32_to_float16 uint32_to_float16_mipsel
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_mipsel
|
||||
#define uint32_to_float32 uint32_to_float32_mipsel
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_mipsel
|
||||
#define uint32_to_float64 uint32_to_float64_mipsel
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_mipsel
|
||||
#define uint64_to_float128 uint64_to_float128_mipsel
|
||||
#define uint64_to_float16 uint64_to_float16_mipsel
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_mipsel
|
||||
#define uint64_to_float32 uint64_to_float32_mipsel
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_mipsel
|
||||
#define uint64_to_float64 uint64_to_float64_mipsel
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_mipsel
|
||||
#define unassigned_io_ops unassigned_io_ops_mipsel
|
||||
#define unassigned_io_read unassigned_io_read_mipsel
|
||||
#define unassigned_io_write unassigned_io_write_mipsel
|
||||
|
|
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_powerpc
|
||||
#define int128_zero int128_zero_powerpc
|
||||
#define int16_to_float16 int16_to_float16_powerpc
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_powerpc
|
||||
#define int16_to_float32 int16_to_float32_powerpc
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_powerpc
|
||||
#define int16_to_float64 int16_to_float64_powerpc
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_powerpc
|
||||
#define int32_to_float128 int32_to_float128_powerpc
|
||||
#define int32_to_float16 int32_to_float16_powerpc
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_powerpc
|
||||
#define int32_to_float32 int32_to_float32_powerpc
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_powerpc
|
||||
#define int32_to_float64 int32_to_float64_powerpc
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_powerpc
|
||||
#define int32_to_floatx80 int32_to_floatx80_powerpc
|
||||
#define int64_to_float128 int64_to_float128_powerpc
|
||||
#define int64_to_float16 int64_to_float16_powerpc
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_powerpc
|
||||
#define int64_to_float32 int64_to_float32_powerpc
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_powerpc
|
||||
#define int64_to_float64 int64_to_float64_powerpc
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_powerpc
|
||||
#define int64_to_floatx80 int64_to_floatx80_powerpc
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_powerpc
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_powerpc
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_powerpc
|
||||
#define type_table_lookup type_table_lookup_powerpc
|
||||
#define uint16_to_float16 uint16_to_float16_powerpc
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_powerpc
|
||||
#define uint16_to_float32 uint16_to_float32_powerpc
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_powerpc
|
||||
#define uint16_to_float64 uint16_to_float64_powerpc
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_powerpc
|
||||
#define uint32_to_float16 uint32_to_float16_powerpc
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_powerpc
|
||||
#define uint32_to_float32 uint32_to_float32_powerpc
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_powerpc
|
||||
#define uint32_to_float64 uint32_to_float64_powerpc
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_powerpc
|
||||
#define uint64_to_float128 uint64_to_float128_powerpc
|
||||
#define uint64_to_float16 uint64_to_float16_powerpc
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_powerpc
|
||||
#define uint64_to_float32 uint64_to_float32_powerpc
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_powerpc
|
||||
#define uint64_to_float64 uint64_to_float64_powerpc
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_powerpc
|
||||
#define unassigned_io_ops unassigned_io_ops_powerpc
|
||||
#define unassigned_io_read unassigned_io_read_powerpc
|
||||
#define unassigned_io_write unassigned_io_write_powerpc
|
||||
|
|
18
qemu/sparc.h
18
qemu/sparc.h
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_sparc
|
||||
#define int128_zero int128_zero_sparc
|
||||
#define int16_to_float16 int16_to_float16_sparc
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_sparc
|
||||
#define int16_to_float32 int16_to_float32_sparc
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_sparc
|
||||
#define int16_to_float64 int16_to_float64_sparc
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_sparc
|
||||
#define int32_to_float128 int32_to_float128_sparc
|
||||
#define int32_to_float16 int32_to_float16_sparc
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_sparc
|
||||
#define int32_to_float32 int32_to_float32_sparc
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_sparc
|
||||
#define int32_to_float64 int32_to_float64_sparc
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_sparc
|
||||
#define int32_to_floatx80 int32_to_floatx80_sparc
|
||||
#define int64_to_float128 int64_to_float128_sparc
|
||||
#define int64_to_float16 int64_to_float16_sparc
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_sparc
|
||||
#define int64_to_float32 int64_to_float32_sparc
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_sparc
|
||||
#define int64_to_float64 int64_to_float64_sparc
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_sparc
|
||||
#define int64_to_floatx80 int64_to_floatx80_sparc
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_sparc
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_sparc
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_sparc
|
||||
#define type_table_lookup type_table_lookup_sparc
|
||||
#define uint16_to_float16 uint16_to_float16_sparc
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_sparc
|
||||
#define uint16_to_float32 uint16_to_float32_sparc
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_sparc
|
||||
#define uint16_to_float64 uint16_to_float64_sparc
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_sparc
|
||||
#define uint32_to_float16 uint32_to_float16_sparc
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_sparc
|
||||
#define uint32_to_float32 uint32_to_float32_sparc
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_sparc
|
||||
#define uint32_to_float64 uint32_to_float64_sparc
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_sparc
|
||||
#define uint64_to_float128 uint64_to_float128_sparc
|
||||
#define uint64_to_float16 uint64_to_float16_sparc
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_sparc
|
||||
#define uint64_to_float32 uint64_to_float32_sparc
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_sparc
|
||||
#define uint64_to_float64 uint64_to_float64_sparc
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_sparc
|
||||
#define unassigned_io_ops unassigned_io_ops_sparc
|
||||
#define unassigned_io_read unassigned_io_read_sparc
|
||||
#define unassigned_io_write unassigned_io_write_sparc
|
||||
|
|
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_sparc64
|
||||
#define int128_zero int128_zero_sparc64
|
||||
#define int16_to_float16 int16_to_float16_sparc64
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_sparc64
|
||||
#define int16_to_float32 int16_to_float32_sparc64
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_sparc64
|
||||
#define int16_to_float64 int16_to_float64_sparc64
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_sparc64
|
||||
#define int32_to_float128 int32_to_float128_sparc64
|
||||
#define int32_to_float16 int32_to_float16_sparc64
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_sparc64
|
||||
#define int32_to_float32 int32_to_float32_sparc64
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_sparc64
|
||||
#define int32_to_float64 int32_to_float64_sparc64
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_sparc64
|
||||
#define int32_to_floatx80 int32_to_floatx80_sparc64
|
||||
#define int64_to_float128 int64_to_float128_sparc64
|
||||
#define int64_to_float16 int64_to_float16_sparc64
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_sparc64
|
||||
#define int64_to_float32 int64_to_float32_sparc64
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_sparc64
|
||||
#define int64_to_float64 int64_to_float64_sparc64
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_sparc64
|
||||
#define int64_to_floatx80 int64_to_floatx80_sparc64
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_sparc64
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_sparc64
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_sparc64
|
||||
#define type_table_lookup type_table_lookup_sparc64
|
||||
#define uint16_to_float16 uint16_to_float16_sparc64
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_sparc64
|
||||
#define uint16_to_float32 uint16_to_float32_sparc64
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_sparc64
|
||||
#define uint16_to_float64 uint16_to_float64_sparc64
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_sparc64
|
||||
#define uint32_to_float16 uint32_to_float16_sparc64
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_sparc64
|
||||
#define uint32_to_float32 uint32_to_float32_sparc64
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_sparc64
|
||||
#define uint32_to_float64 uint32_to_float64_sparc64
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_sparc64
|
||||
#define uint64_to_float128 uint64_to_float128_sparc64
|
||||
#define uint64_to_float16 uint64_to_float16_sparc64
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_sparc64
|
||||
#define uint64_to_float32 uint64_to_float32_sparc64
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_sparc64
|
||||
#define uint64_to_float64 uint64_to_float64_sparc64
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_sparc64
|
||||
#define unassigned_io_ops unassigned_io_ops_sparc64
|
||||
#define unassigned_io_read unassigned_io_read_sparc64
|
||||
#define unassigned_io_write unassigned_io_write_sparc64
|
||||
|
|
|
@ -1820,17 +1820,26 @@
|
|||
#define int128_subfrom int128_subfrom_x86_64
|
||||
#define int128_zero int128_zero_x86_64
|
||||
#define int16_to_float16 int16_to_float16_x86_64
|
||||
#define int16_to_float16_scalbn int16_to_float16_scalbn_x86_64
|
||||
#define int16_to_float32 int16_to_float32_x86_64
|
||||
#define int16_to_float32_scalbn int16_to_float32_scalbn_x86_64
|
||||
#define int16_to_float64 int16_to_float64_x86_64
|
||||
#define int16_to_float64_scalbn int16_to_float64_scalbn_x86_64
|
||||
#define int32_to_float128 int32_to_float128_x86_64
|
||||
#define int32_to_float16 int32_to_float16_x86_64
|
||||
#define int32_to_float16_scalbn int32_to_float16_scalbn_x86_64
|
||||
#define int32_to_float32 int32_to_float32_x86_64
|
||||
#define int32_to_float32_scalbn int32_to_float32_scalbn_x86_64
|
||||
#define int32_to_float64 int32_to_float64_x86_64
|
||||
#define int32_to_float64_scalbn int32_to_float64_scalbn_x86_64
|
||||
#define int32_to_floatx80 int32_to_floatx80_x86_64
|
||||
#define int64_to_float128 int64_to_float128_x86_64
|
||||
#define int64_to_float16 int64_to_float16_x86_64
|
||||
#define int64_to_float16_scalbn int64_to_float16_scalbn_x86_64
|
||||
#define int64_to_float32 int64_to_float32_x86_64
|
||||
#define int64_to_float32_scalbn int64_to_float32_scalbn_x86_64
|
||||
#define int64_to_float64 int64_to_float64_x86_64
|
||||
#define int64_to_float64_scalbn int64_to_float64_scalbn_x86_64
|
||||
#define int64_to_floatx80 int64_to_floatx80_x86_64
|
||||
#define invalidate_and_set_dirty invalidate_and_set_dirty_x86_64
|
||||
#define invalidate_page_bitmap invalidate_page_bitmap_x86_64
|
||||
|
@ -3152,15 +3161,24 @@
|
|||
#define type_table_get type_table_get_x86_64
|
||||
#define type_table_lookup type_table_lookup_x86_64
|
||||
#define uint16_to_float16 uint16_to_float16_x86_64
|
||||
#define uint16_to_float16_scalbn uint16_to_float16_scalbn_x86_64
|
||||
#define uint16_to_float32 uint16_to_float32_x86_64
|
||||
#define uint16_to_float32_scalbn uint16_to_float32_scalbn_x86_64
|
||||
#define uint16_to_float64 uint16_to_float64_x86_64
|
||||
#define uint16_to_float64_scalbn uint16_to_float64_scalbn_x86_64
|
||||
#define uint32_to_float16 uint32_to_float16_x86_64
|
||||
#define uint32_to_float16_scalbn uint32_to_float16_scalbn_x86_64
|
||||
#define uint32_to_float32 uint32_to_float32_x86_64
|
||||
#define uint32_to_float32_scalbn uint32_to_float32_scalbn_x86_64
|
||||
#define uint32_to_float64 uint32_to_float64_x86_64
|
||||
#define uint32_to_float64_scalbn uint32_to_float64_scalbn_x86_64
|
||||
#define uint64_to_float128 uint64_to_float128_x86_64
|
||||
#define uint64_to_float16 uint64_to_float16_x86_64
|
||||
#define uint64_to_float16_scalbn uint64_to_float16_scalbn_x86_64
|
||||
#define uint64_to_float32 uint64_to_float32_x86_64
|
||||
#define uint64_to_float32_scalbn uint64_to_float32_scalbn_x86_64
|
||||
#define uint64_to_float64 uint64_to_float64_x86_64
|
||||
#define uint64_to_float64_scalbn uint64_to_float64_scalbn_x86_64
|
||||
#define unassigned_io_ops unassigned_io_ops_x86_64
|
||||
#define unassigned_io_read unassigned_io_read_x86_64
|
||||
#define unassigned_io_write unassigned_io_write_x86_64
|
||||
|
|
Loading…
Reference in a new issue