softfloat: Add scaling float-to-int routines

Backports commit 2f6c74be593ec5219e54d7b4abd4e5a98d7f3efc from qemu
This commit is contained in:
Richard Henderson 2018-08-25 03:56:48 -04:00 committed by Lioncash
parent ee0d8aff72
commit 0d69492b64
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7
16 changed files with 631 additions and 97 deletions

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_aarch64
#define float16_to_int16 float16_to_int16_aarch64
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_aarch64
#define float16_to_int16_scalbn float16_to_int16_scalbn_aarch64
#define float16_to_int32 float16_to_int32_aarch64
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_aarch64
#define float16_to_int32_scalbn float16_to_int32_scalbn_aarch64
#define float16_to_int64 float16_to_int64_aarch64
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_aarch64
#define float16_to_int64_scalbn float16_to_int64_scalbn_aarch64
#define float16_to_float32 float16_to_float32_aarch64
#define float16_to_float64 float16_to_float64_aarch64
#define float16_to_uint16 float16_to_uint16_aarch64
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_aarch64
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_aarch64
#define float16_to_uint32 float16_to_uint32_aarch64
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_aarch64
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_aarch64
#define float16_to_uint64 float16_to_uint64_aarch64
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_aarch64
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_aarch64
#define float32ToCommonNaN float32ToCommonNaN_aarch64
#define float32_abs float32_abs_aarch64
#define float32_add float32_add_aarch64
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_aarch64
#define float32_to_int16 float32_to_int16_aarch64
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_aarch64
#define float32_to_int16_scalbn float32_to_int16_scalbn_aarch64
#define float32_to_int32 float32_to_int32_aarch64
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_aarch64
#define float32_to_int32_scalbn float32_to_int32_scalbn_aarch64
#define float32_to_int64 float32_to_int64_aarch64
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_aarch64
#define float32_to_int64_scalbn float32_to_int64_scalbn_aarch64
#define float32_to_uint16 float32_to_uint16_aarch64
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_aarch64
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_aarch64
#define float32_to_uint32 float32_to_uint32_aarch64
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_aarch64
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_aarch64
#define float32_to_uint64 float32_to_uint64_aarch64
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_aarch64
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_aarch64
#define float32_unordered float32_unordered_aarch64
#define float32_unordered_quiet float32_unordered_quiet_aarch64
#define float64ToCommonNaN float64ToCommonNaN_aarch64
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_aarch64
#define float64_to_int16 float64_to_int16_aarch64
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_aarch64
#define float64_to_int16_scalbn float64_to_int16_scalbn_aarch64
#define float64_to_int32 float64_to_int32_aarch64
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_aarch64
#define float64_to_int32_scalbn float64_to_int32_scalbn_aarch64
#define float64_to_int64 float64_to_int64_aarch64
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_aarch64
#define float64_to_int64_scalbn float64_to_int64_scalbn_aarch64
#define float64_to_uint16 float64_to_uint16_aarch64
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_aarch64
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_aarch64
#define float64_to_uint32 float64_to_uint32_aarch64
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_aarch64
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_aarch64
#define float64_to_uint64 float64_to_uint64_aarch64
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_aarch64
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_aarch64
#define float64_trunc_to_int float64_trunc_to_int_aarch64
#define float64_unordered float64_unordered_aarch64
#define float64_unordered_quiet float64_unordered_quiet_aarch64

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_aarch64eb
#define float16_to_int16 float16_to_int16_aarch64eb
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_aarch64eb
#define float16_to_int16_scalbn float16_to_int16_scalbn_aarch64eb
#define float16_to_int32 float16_to_int32_aarch64eb
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_aarch64eb
#define float16_to_int32_scalbn float16_to_int32_scalbn_aarch64eb
#define float16_to_int64 float16_to_int64_aarch64eb
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_aarch64eb
#define float16_to_int64_scalbn float16_to_int64_scalbn_aarch64eb
#define float16_to_float32 float16_to_float32_aarch64eb
#define float16_to_float64 float16_to_float64_aarch64eb
#define float16_to_uint16 float16_to_uint16_aarch64eb
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_aarch64eb
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_aarch64eb
#define float16_to_uint32 float16_to_uint32_aarch64eb
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_aarch64eb
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_aarch64eb
#define float16_to_uint64 float16_to_uint64_aarch64eb
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_aarch64eb
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_aarch64eb
#define float32ToCommonNaN float32ToCommonNaN_aarch64eb
#define float32_abs float32_abs_aarch64eb
#define float32_add float32_add_aarch64eb
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_aarch64eb
#define float32_to_int16 float32_to_int16_aarch64eb
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_aarch64eb
#define float32_to_int16_scalbn float32_to_int16_scalbn_aarch64eb
#define float32_to_int32 float32_to_int32_aarch64eb
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_aarch64eb
#define float32_to_int32_scalbn float32_to_int32_scalbn_aarch64eb
#define float32_to_int64 float32_to_int64_aarch64eb
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_aarch64eb
#define float32_to_int64_scalbn float32_to_int64_scalbn_aarch64eb
#define float32_to_uint16 float32_to_uint16_aarch64eb
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_aarch64eb
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_aarch64eb
#define float32_to_uint32 float32_to_uint32_aarch64eb
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_aarch64eb
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_aarch64eb
#define float32_to_uint64 float32_to_uint64_aarch64eb
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_aarch64eb
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_aarch64eb
#define float32_unordered float32_unordered_aarch64eb
#define float32_unordered_quiet float32_unordered_quiet_aarch64eb
#define float64ToCommonNaN float64ToCommonNaN_aarch64eb
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_aarch64eb
#define float64_to_int16 float64_to_int16_aarch64eb
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_aarch64eb
#define float64_to_int16_scalbn float64_to_int16_scalbn_aarch64eb
#define float64_to_int32 float64_to_int32_aarch64eb
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_aarch64eb
#define float64_to_int32_scalbn float64_to_int32_scalbn_aarch64eb
#define float64_to_int64 float64_to_int64_aarch64eb
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_aarch64eb
#define float64_to_int64_scalbn float64_to_int64_scalbn_aarch64eb
#define float64_to_uint16 float64_to_uint16_aarch64eb
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_aarch64eb
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_aarch64eb
#define float64_to_uint32 float64_to_uint32_aarch64eb
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_aarch64eb
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_aarch64eb
#define float64_to_uint64 float64_to_uint64_aarch64eb
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_aarch64eb
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_aarch64eb
#define float64_trunc_to_int float64_trunc_to_int_aarch64eb
#define float64_unordered float64_unordered_aarch64eb
#define float64_unordered_quiet float64_unordered_quiet_aarch64eb

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_arm
#define float16_to_int16 float16_to_int16_arm
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_arm
#define float16_to_int16_scalbn float16_to_int16_scalbn_arm
#define float16_to_int32 float16_to_int32_arm
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_arm
#define float16_to_int32_scalbn float16_to_int32_scalbn_arm
#define float16_to_int64 float16_to_int64_arm
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_arm
#define float16_to_int64_scalbn float16_to_int64_scalbn_arm
#define float16_to_float32 float16_to_float32_arm
#define float16_to_float64 float16_to_float64_arm
#define float16_to_uint16 float16_to_uint16_arm
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_arm
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_arm
#define float16_to_uint32 float16_to_uint32_arm
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_arm
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_arm
#define float16_to_uint64 float16_to_uint64_arm
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_arm
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_arm
#define float32ToCommonNaN float32ToCommonNaN_arm
#define float32_abs float32_abs_arm
#define float32_add float32_add_arm
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_arm
#define float32_to_int16 float32_to_int16_arm
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_arm
#define float32_to_int16_scalbn float32_to_int16_scalbn_arm
#define float32_to_int32 float32_to_int32_arm
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_arm
#define float32_to_int32_scalbn float32_to_int32_scalbn_arm
#define float32_to_int64 float32_to_int64_arm
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_arm
#define float32_to_int64_scalbn float32_to_int64_scalbn_arm
#define float32_to_uint16 float32_to_uint16_arm
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_arm
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_arm
#define float32_to_uint32 float32_to_uint32_arm
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_arm
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_arm
#define float32_to_uint64 float32_to_uint64_arm
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_arm
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_arm
#define float32_unordered float32_unordered_arm
#define float32_unordered_quiet float32_unordered_quiet_arm
#define float64ToCommonNaN float64ToCommonNaN_arm
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_arm
#define float64_to_int16 float64_to_int16_arm
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_arm
#define float64_to_int16_scalbn float64_to_int16_scalbn_arm
#define float64_to_int32 float64_to_int32_arm
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_arm
#define float64_to_int32_scalbn float64_to_int32_scalbn_arm
#define float64_to_int64 float64_to_int64_arm
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_arm
#define float64_to_int64_scalbn float64_to_int64_scalbn_arm
#define float64_to_uint16 float64_to_uint16_arm
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_arm
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_arm
#define float64_to_uint32 float64_to_uint32_arm
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_arm
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_arm
#define float64_to_uint64 float64_to_uint64_arm
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_arm
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_arm
#define float64_trunc_to_int float64_trunc_to_int_arm
#define float64_unordered float64_unordered_arm
#define float64_unordered_quiet float64_unordered_quiet_arm

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_armeb
#define float16_to_int16 float16_to_int16_armeb
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_armeb
#define float16_to_int16_scalbn float16_to_int16_scalbn_armeb
#define float16_to_int32 float16_to_int32_armeb
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_armeb
#define float16_to_int32_scalbn float16_to_int32_scalbn_armeb
#define float16_to_int64 float16_to_int64_armeb
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_armeb
#define float16_to_int64_scalbn float16_to_int64_scalbn_armeb
#define float16_to_float32 float16_to_float32_armeb
#define float16_to_float64 float16_to_float64_armeb
#define float16_to_uint16 float16_to_uint16_armeb
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_armeb
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_armeb
#define float16_to_uint32 float16_to_uint32_armeb
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_armeb
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_armeb
#define float16_to_uint64 float16_to_uint64_armeb
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_armeb
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_armeb
#define float32ToCommonNaN float32ToCommonNaN_armeb
#define float32_abs float32_abs_armeb
#define float32_add float32_add_armeb
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_armeb
#define float32_to_int16 float32_to_int16_armeb
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_armeb
#define float32_to_int16_scalbn float32_to_int16_scalbn_armeb
#define float32_to_int32 float32_to_int32_armeb
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_armeb
#define float32_to_int32_scalbn float32_to_int32_scalbn_armeb
#define float32_to_int64 float32_to_int64_armeb
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_armeb
#define float32_to_int64_scalbn float32_to_int64_scalbn_armeb
#define float32_to_uint16 float32_to_uint16_armeb
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_armeb
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_armeb
#define float32_to_uint32 float32_to_uint32_armeb
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_armeb
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_armeb
#define float32_to_uint64 float32_to_uint64_armeb
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_armeb
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_armeb
#define float32_unordered float32_unordered_armeb
#define float32_unordered_quiet float32_unordered_quiet_armeb
#define float64ToCommonNaN float64ToCommonNaN_armeb
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_armeb
#define float64_to_int16 float64_to_int16_armeb
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_armeb
#define float64_to_int16_scalbn float64_to_int16_scalbn_armeb
#define float64_to_int32 float64_to_int32_armeb
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_armeb
#define float64_to_int32_scalbn float64_to_int32_scalbn_armeb
#define float64_to_int64 float64_to_int64_armeb
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_armeb
#define float64_to_int64_scalbn float64_to_int64_scalbn_armeb
#define float64_to_uint16 float64_to_uint16_armeb
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_armeb
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_armeb
#define float64_to_uint32 float64_to_uint32_armeb
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_armeb
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_armeb
#define float64_to_uint64 float64_to_uint64_armeb
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_armeb
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_armeb
#define float64_trunc_to_int float64_trunc_to_int_armeb
#define float64_unordered float64_unordered_armeb
#define float64_unordered_quiet float64_unordered_quiet_armeb

View file

@ -1294,19 +1294,23 @@ float32 float64_to_float32(float64 a, float_status *s)
* Arithmetic.
*/
static FloatParts round_to_int(FloatParts a, int rounding_mode, float_status *s)
static FloatParts round_to_int(FloatParts a, int rmode,
int scale, float_status *s)
{
if (is_nan(a.cls)) {
return return_nan(a, s);
}
switch (a.cls) {
case float_class_qnan:
case float_class_snan:
return return_nan(a, s);
case float_class_zero:
case float_class_inf:
case float_class_qnan:
/* already "integral" */
break;
case float_class_normal:
scale = MIN(MAX(scale, -0x10000), 0x10000);
a.exp += scale;
if (a.exp >= DECOMPOSED_BINARY_POINT) {
/* already integral */
break;
@ -1315,7 +1319,7 @@ static FloatParts round_to_int(FloatParts a, int rounding_mode, float_status *s)
bool one;
/* all fractional */
s->float_exception_flags |= float_flag_inexact;
switch (rounding_mode) {
switch (rmode) {
case float_round_nearest_even:
one = a.exp == -1 && a.frac > DECOMPOSED_IMPLICIT_BIT;
break;
@ -1348,7 +1352,7 @@ static FloatParts round_to_int(FloatParts a, int rounding_mode, float_status *s)
uint64_t rnd_mask = rnd_even_mask >> 1;
uint64_t inc;
switch (rounding_mode) {
switch (rmode) {
case float_round_nearest_even:
inc = ((a.frac & rnd_even_mask) != frac_lsbm1 ? frac_lsbm1 : 0);
break;
@ -1388,28 +1392,28 @@ static FloatParts round_to_int(FloatParts a, int rounding_mode, float_status *s)
float16 float16_round_to_int(float16 a, float_status *s)
{
FloatParts pa = float16_unpack_canonical(a, s);
FloatParts pr = round_to_int(pa, s->float_rounding_mode, s);
FloatParts pr = round_to_int(pa, s->float_rounding_mode, 0, s);
return float16_round_pack_canonical(pr, s);
}
float32 float32_round_to_int(float32 a, float_status *s)
{
FloatParts pa = float32_unpack_canonical(a, s);
FloatParts pr = round_to_int(pa, s->float_rounding_mode, s);
FloatParts pr = round_to_int(pa, s->float_rounding_mode, 0, s);
return float32_round_pack_canonical(pr, s);
}
float64 float64_round_to_int(float64 a, float_status *s)
{
FloatParts pa = float64_unpack_canonical(a, s);
FloatParts pr = round_to_int(pa, s->float_rounding_mode, s);
FloatParts pr = round_to_int(pa, s->float_rounding_mode, 0, s);
return float64_round_pack_canonical(pr, s);
}
float64 float64_trunc_to_int(float64 a, float_status *s)
{
FloatParts pa = float64_unpack_canonical(a, s);
FloatParts pr = round_to_int(pa, float_round_to_zero, s);
FloatParts pr = round_to_int(pa, float_round_to_zero, 0, s);
return float64_round_pack_canonical(pr, s);
}
@ -1424,13 +1428,13 @@ float64 float64_trunc_to_int(float64 a, float_status *s)
* is returned.
*/
static int64_t round_to_int_and_pack(FloatParts in, int rmode,
static int64_t round_to_int_and_pack(FloatParts in, int rmode, int scale,
int64_t min, int64_t max,
float_status *s)
{
uint64_t r;
int orig_flags = get_float_exception_flags(s);
FloatParts p = round_to_int(in, rmode, s);
FloatParts p = round_to_int(in, rmode, scale, s);
switch (p.cls) {
case float_class_snan:
@ -1470,38 +1474,158 @@ static int64_t round_to_int_and_pack(FloatParts in, int rmode,
}
}
#define FLOAT_TO_INT(fsz, isz) \
int ## isz ## _t float ## fsz ## _to_int ## isz(float ## fsz a, \
float_status *s) \
{ \
FloatParts p = float ## fsz ## _unpack_canonical(a, s); \
return round_to_int_and_pack(p, s->float_rounding_mode, \
INT ## isz ## _MIN, INT ## isz ## _MAX,\
s); \
} \
\
int ## isz ## _t float ## fsz ## _to_int ## isz ## _round_to_zero \
(float ## fsz a, float_status *s) \
{ \
FloatParts p = float ## fsz ## _unpack_canonical(a, s); \
return round_to_int_and_pack(p, float_round_to_zero, \
INT ## isz ## _MIN, INT ## isz ## _MAX,\
s); \
int16_t float16_to_int16_scalbn(float16 a, int rmode, int scale,
float_status *s)
{
return round_to_int_and_pack(float16_unpack_canonical(a, s),
rmode, scale, INT16_MIN, INT16_MAX, s);
}
FLOAT_TO_INT(16, 16)
FLOAT_TO_INT(16, 32)
FLOAT_TO_INT(16, 64)
int32_t float16_to_int32_scalbn(float16 a, int rmode, int scale,
float_status *s)
{
return round_to_int_and_pack(float16_unpack_canonical(a, s),
rmode, scale, INT32_MIN, INT32_MAX, s);
}
FLOAT_TO_INT(32, 16)
FLOAT_TO_INT(32, 32)
FLOAT_TO_INT(32, 64)
int64_t float16_to_int64_scalbn(float16 a, int rmode, int scale,
float_status *s)
{
return round_to_int_and_pack(float16_unpack_canonical(a, s),
rmode, scale, INT64_MIN, INT64_MAX, s);
}
FLOAT_TO_INT(64, 16)
FLOAT_TO_INT(64, 32)
FLOAT_TO_INT(64, 64)
int16_t float32_to_int16_scalbn(float32 a, int rmode, int scale,
float_status *s)
{
return round_to_int_and_pack(float32_unpack_canonical(a, s),
rmode, scale, INT16_MIN, INT16_MAX, s);
}
#undef FLOAT_TO_INT
int32_t float32_to_int32_scalbn(float32 a, int rmode, int scale,
float_status *s)
{
return round_to_int_and_pack(float32_unpack_canonical(a, s),
rmode, scale, INT32_MIN, INT32_MAX, s);
}
int64_t float32_to_int64_scalbn(float32 a, int rmode, int scale,
float_status *s)
{
return round_to_int_and_pack(float32_unpack_canonical(a, s),
rmode, scale, INT64_MIN, INT64_MAX, s);
}
int16_t float64_to_int16_scalbn(float64 a, int rmode, int scale,
float_status *s)
{
return round_to_int_and_pack(float64_unpack_canonical(a, s),
rmode, scale, INT16_MIN, INT16_MAX, s);
}
int32_t float64_to_int32_scalbn(float64 a, int rmode, int scale,
float_status *s)
{
return round_to_int_and_pack(float64_unpack_canonical(a, s),
rmode, scale, INT32_MIN, INT32_MAX, s);
}
int64_t float64_to_int64_scalbn(float64 a, int rmode, int scale,
float_status *s)
{
return round_to_int_and_pack(float64_unpack_canonical(a, s),
rmode, scale, INT64_MIN, INT64_MAX, s);
}
int16_t float16_to_int16(float16 a, float_status *s)
{
return float16_to_int16_scalbn(a, s->float_rounding_mode, 0, s);
}
int32_t float16_to_int32(float16 a, float_status *s)
{
return float16_to_int32_scalbn(a, s->float_rounding_mode, 0, s);
}
int64_t float16_to_int64(float16 a, float_status *s)
{
return float16_to_int64_scalbn(a, s->float_rounding_mode, 0, s);
}
int16_t float32_to_int16(float32 a, float_status *s)
{
return float32_to_int16_scalbn(a, s->float_rounding_mode, 0, s);
}
int32_t float32_to_int32(float32 a, float_status *s)
{
return float32_to_int32_scalbn(a, s->float_rounding_mode, 0, s);
}
int64_t float32_to_int64(float32 a, float_status *s)
{
return float32_to_int64_scalbn(a, s->float_rounding_mode, 0, s);
}
int16_t float64_to_int16(float64 a, float_status *s)
{
return float64_to_int16_scalbn(a, s->float_rounding_mode, 0, s);
}
int32_t float64_to_int32(float64 a, float_status *s)
{
return float64_to_int32_scalbn(a, s->float_rounding_mode, 0, s);
}
int64_t float64_to_int64(float64 a, float_status *s)
{
return float64_to_int64_scalbn(a, s->float_rounding_mode, 0, s);
}
int16_t float16_to_int16_round_to_zero(float16 a, float_status *s)
{
return float16_to_int16_scalbn(a, float_round_to_zero, 0, s);
}
int32_t float16_to_int32_round_to_zero(float16 a, float_status *s)
{
return float16_to_int32_scalbn(a, float_round_to_zero, 0, s);
}
int64_t float16_to_int64_round_to_zero(float16 a, float_status *s)
{
return float16_to_int64_scalbn(a, float_round_to_zero, 0, s);
}
int16_t float32_to_int16_round_to_zero(float32 a, float_status *s)
{
return float32_to_int16_scalbn(a, float_round_to_zero, 0, s);
}
int32_t float32_to_int32_round_to_zero(float32 a, float_status *s)
{
return float32_to_int32_scalbn(a, float_round_to_zero, 0, s);
}
int64_t float32_to_int64_round_to_zero(float32 a, float_status *s)
{
return float32_to_int64_scalbn(a, float_round_to_zero, 0, s);
}
int16_t float64_to_int16_round_to_zero(float64 a, float_status *s)
{
return float64_to_int16_scalbn(a, float_round_to_zero, 0, s);
}
int32_t float64_to_int32_round_to_zero(float64 a, float_status *s)
{
return float64_to_int32_scalbn(a, float_round_to_zero, 0, s);
}
int64_t float64_to_int64_round_to_zero(float64 a, float_status *s)
{
return float64_to_int64_scalbn(a, float_round_to_zero, 0, s);
}
/*
* Returns the result of converting the floating-point value `a' to
@ -1516,11 +1640,12 @@ FLOAT_TO_INT(64, 64)
* flag.
*/
static uint64_t round_to_uint_and_pack(FloatParts in, int rmode, uint64_t max,
float_status *s)
static uint64_t round_to_uint_and_pack(FloatParts in, int rmode, int scale,
uint64_t max, float_status *s)
{
int orig_flags = get_float_exception_flags(s);
FloatParts p = round_to_int(in, rmode, s);
FloatParts p = round_to_int(in, rmode, scale, s);
uint64_t r;
switch (p.cls) {
case float_class_snan:
@ -1533,8 +1658,6 @@ static uint64_t round_to_uint_and_pack(FloatParts in, int rmode, uint64_t max,
case float_class_zero:
return 0;
case float_class_normal:
{
uint64_t r;
if (p.sign) {
s->float_exception_flags = orig_flags | float_flag_invalid;
return 0;
@ -1556,45 +1679,165 @@ static uint64_t round_to_uint_and_pack(FloatParts in, int rmode, uint64_t max,
if (r > max) {
s->float_exception_flags = orig_flags | float_flag_invalid;
return max;
} else {
return r;
}
}
return r;
default:
g_assert_not_reached();
}
}
#define FLOAT_TO_UINT(fsz, isz) \
uint ## isz ## _t float ## fsz ## _to_uint ## isz(float ## fsz a, \
float_status *s) \
{ \
FloatParts p = float ## fsz ## _unpack_canonical(a, s); \
return round_to_uint_and_pack(p, s->float_rounding_mode, \
UINT ## isz ## _MAX, s); \
} \
\
uint ## isz ## _t float ## fsz ## _to_uint ## isz ## _round_to_zero \
(float ## fsz a, float_status *s) \
{ \
FloatParts p = float ## fsz ## _unpack_canonical(a, s); \
return round_to_uint_and_pack(p, float_round_to_zero, \
UINT ## isz ## _MAX, s); \
uint16_t float16_to_uint16_scalbn(float16 a, int rmode, int scale,
float_status *s)
{
return round_to_uint_and_pack(float16_unpack_canonical(a, s),
rmode, scale, UINT16_MAX, s);
}
FLOAT_TO_UINT(16, 16)
FLOAT_TO_UINT(16, 32)
FLOAT_TO_UINT(16, 64)
uint32_t float16_to_uint32_scalbn(float16 a, int rmode, int scale,
float_status *s)
{
return round_to_uint_and_pack(float16_unpack_canonical(a, s),
rmode, scale, UINT32_MAX, s);
}
FLOAT_TO_UINT(32, 16)
FLOAT_TO_UINT(32, 32)
FLOAT_TO_UINT(32, 64)
uint64_t float16_to_uint64_scalbn(float16 a, int rmode, int scale,
float_status *s)
{
return round_to_uint_and_pack(float16_unpack_canonical(a, s),
rmode, scale, UINT64_MAX, s);
}
FLOAT_TO_UINT(64, 16)
FLOAT_TO_UINT(64, 32)
FLOAT_TO_UINT(64, 64)
uint16_t float32_to_uint16_scalbn(float32 a, int rmode, int scale,
float_status *s)
{
return round_to_uint_and_pack(float32_unpack_canonical(a, s),
rmode, scale, UINT16_MAX, s);
}
#undef FLOAT_TO_UINT
uint32_t float32_to_uint32_scalbn(float32 a, int rmode, int scale,
float_status *s)
{
return round_to_uint_and_pack(float32_unpack_canonical(a, s),
rmode, scale, UINT32_MAX, s);
}
uint64_t float32_to_uint64_scalbn(float32 a, int rmode, int scale,
float_status *s)
{
return round_to_uint_and_pack(float32_unpack_canonical(a, s),
rmode, scale, UINT64_MAX, s);
}
uint16_t float64_to_uint16_scalbn(float64 a, int rmode, int scale,
float_status *s)
{
return round_to_uint_and_pack(float64_unpack_canonical(a, s),
rmode, scale, UINT16_MAX, s);
}
uint32_t float64_to_uint32_scalbn(float64 a, int rmode, int scale,
float_status *s)
{
return round_to_uint_and_pack(float64_unpack_canonical(a, s),
rmode, scale, UINT32_MAX, s);
}
uint64_t float64_to_uint64_scalbn(float64 a, int rmode, int scale,
float_status *s)
{
return round_to_uint_and_pack(float64_unpack_canonical(a, s),
rmode, scale, UINT64_MAX, s);
}
uint16_t float16_to_uint16(float16 a, float_status *s)
{
return float16_to_uint16_scalbn(a, s->float_rounding_mode, 0, s);
}
uint32_t float16_to_uint32(float16 a, float_status *s)
{
return float16_to_uint32_scalbn(a, s->float_rounding_mode, 0, s);
}
uint64_t float16_to_uint64(float16 a, float_status *s)
{
return float16_to_uint64_scalbn(a, s->float_rounding_mode, 0, s);
}
uint16_t float32_to_uint16(float32 a, float_status *s)
{
return float32_to_uint16_scalbn(a, s->float_rounding_mode, 0, s);
}
uint32_t float32_to_uint32(float32 a, float_status *s)
{
return float32_to_uint32_scalbn(a, s->float_rounding_mode, 0, s);
}
uint64_t float32_to_uint64(float32 a, float_status *s)
{
return float32_to_uint64_scalbn(a, s->float_rounding_mode, 0, s);
}
uint16_t float64_to_uint16(float64 a, float_status *s)
{
return float64_to_uint16_scalbn(a, s->float_rounding_mode, 0, s);
}
uint32_t float64_to_uint32(float64 a, float_status *s)
{
return float64_to_uint32_scalbn(a, s->float_rounding_mode, 0, s);
}
uint64_t float64_to_uint64(float64 a, float_status *s)
{
return float64_to_uint64_scalbn(a, s->float_rounding_mode, 0, s);
}
uint16_t float16_to_uint16_round_to_zero(float16 a, float_status *s)
{
return float16_to_uint16_scalbn(a, float_round_to_zero, 0, s);
}
uint32_t float16_to_uint32_round_to_zero(float16 a, float_status *s)
{
return float16_to_uint32_scalbn(a, float_round_to_zero, 0, s);
}
uint64_t float16_to_uint64_round_to_zero(float16 a, float_status *s)
{
return float16_to_uint64_scalbn(a, float_round_to_zero, 0, s);
}
uint16_t float32_to_uint16_round_to_zero(float32 a, float_status *s)
{
return float32_to_uint16_scalbn(a, float_round_to_zero, 0, s);
}
uint32_t float32_to_uint32_round_to_zero(float32 a, float_status *s)
{
return float32_to_uint32_scalbn(a, float_round_to_zero, 0, s);
}
uint64_t float32_to_uint64_round_to_zero(float32 a, float_status *s)
{
return float32_to_uint64_scalbn(a, float_round_to_zero, 0, s);
}
uint16_t float64_to_uint16_round_to_zero(float64 a, float_status *s)
{
return float64_to_uint16_scalbn(a, float_round_to_zero, 0, s);
}
uint32_t float64_to_uint32_round_to_zero(float64 a, float_status *s)
{
return float64_to_uint32_scalbn(a, float_round_to_zero, 0, s);
}
uint64_t float64_to_uint64_round_to_zero(float64 a, float_status *s)
{
return float64_to_uint64_scalbn(a, float_round_to_zero, 0, s);
}
/*
* Integer to float conversions

View file

@ -518,18 +518,24 @@ symbols = (
'float16_sub',
'float16_to_int16',
'float16_to_int16_round_to_zero',
'float16_to_int16_scalbn',
'float16_to_int32',
'float16_to_int32_round_to_zero',
'float16_to_int32_scalbn',
'float16_to_int64',
'float16_to_int64_round_to_zero',
'float16_to_int64_scalbn',
'float16_to_float32',
'float16_to_float64',
'float16_to_uint16',
'float16_to_uint16_round_to_zero',
'float16_to_uint16_scalbn',
'float16_to_uint32',
'float16_to_uint32_round_to_zero',
'float16_to_uint32_scalbn',
'float16_to_uint64',
'float16_to_uint64_round_to_zero',
'float16_to_uint64_scalbn',
'float32ToCommonNaN',
'float32_abs',
'float32_add',
@ -579,16 +585,22 @@ symbols = (
'float32_to_floatx80',
'float32_to_int16',
'float32_to_int16_round_to_zero',
'float32_to_int16_scalbn',
'float32_to_int32',
'float32_to_int32_round_to_zero',
'float32_to_int32_scalbn',
'float32_to_int64',
'float32_to_int64_round_to_zero',
'float32_to_int64_scalbn',
'float32_to_uint16',
'float32_to_uint16_round_to_zero',
'float32_to_uint16_scalbn',
'float32_to_uint32',
'float32_to_uint32_round_to_zero',
'float32_to_uint32_scalbn',
'float32_to_uint64',
'float32_to_uint64_round_to_zero',
'float32_to_uint64_scalbn',
'float32_unordered',
'float32_unordered_quiet',
'float64ToCommonNaN',
@ -637,16 +649,22 @@ symbols = (
'float64_to_floatx80',
'float64_to_int16',
'float64_to_int16_round_to_zero',
'float64_to_int16_scalbn',
'float64_to_int32',
'float64_to_int32_round_to_zero',
'float64_to_int32_scalbn',
'float64_to_int64',
'float64_to_int64_round_to_zero',
'float64_to_int64_scalbn',
'float64_to_uint16',
'float64_to_uint16_round_to_zero',
'float64_to_uint16_scalbn',
'float64_to_uint32',
'float64_to_uint32_round_to_zero',
'float64_to_uint32_scalbn',
'float64_to_uint64',
'float64_to_uint64_round_to_zero',
'float64_to_uint64_scalbn',
'float64_trunc_to_int',
'float64_unordered',
'float64_unordered_quiet',

View file

@ -246,21 +246,34 @@ float128 uint64_to_float128(uint64_t, float_status *status);
/*----------------------------------------------------------------------------
| Software half-precision conversion routines.
*----------------------------------------------------------------------------*/
float16 float32_to_float16(float32, bool ieee, float_status *status);
float32 float16_to_float32(float16, bool ieee, float_status *status);
float16 float64_to_float16(float64 a, bool ieee, float_status *status);
float64 float16_to_float64(float16 a, bool ieee, float_status *status);
int16_t float16_to_int16_scalbn(float16, int, int, float_status *status);
int32_t float16_to_int32_scalbn(float16, int, int, float_status *status);
int64_t float16_to_int64_scalbn(float16, int, int, float_status *status);
int16_t float16_to_int16(float16, float_status *status);
uint16_t float16_to_uint16(float16 a, float_status *status);
int16_t float16_to_int16_round_to_zero(float16, float_status *status);
uint16_t float16_to_uint16_round_to_zero(float16 a, float_status *status);
int32_t float16_to_int32(float16, float_status *status);
uint32_t float16_to_uint32(float16 a, float_status *status);
int32_t float16_to_int32_round_to_zero(float16, float_status *status);
uint32_t float16_to_uint32_round_to_zero(float16 a, float_status *status);
int64_t float16_to_int64(float16, float_status *status);
uint64_t float16_to_uint64(float16 a, float_status *status);
int16_t float16_to_int16_round_to_zero(float16, float_status *status);
int32_t float16_to_int32_round_to_zero(float16, float_status *status);
int64_t float16_to_int64_round_to_zero(float16, float_status *status);
uint16_t float16_to_uint16_scalbn(float16 a, int, int, float_status *status);
uint32_t float16_to_uint32_scalbn(float16 a, int, int, float_status *status);
uint64_t float16_to_uint64_scalbn(float16 a, int, int, float_status *status);
uint16_t float16_to_uint16(float16 a, float_status *status);
uint32_t float16_to_uint32(float16 a, float_status *status);
uint64_t float16_to_uint64(float16 a, float_status *status);
uint16_t float16_to_uint16_round_to_zero(float16 a, float_status *status);
uint32_t float16_to_uint32_round_to_zero(float16 a, float_status *status);
uint64_t float16_to_uint64_round_to_zero(float16 a, float_status *status);
/*----------------------------------------------------------------------------
@ -351,18 +364,31 @@ float16 float16_default_nan(float_status *status);
/*----------------------------------------------------------------------------
| Software IEC/IEEE single-precision conversion routines.
*----------------------------------------------------------------------------*/
int16_t float32_to_int16_scalbn(float32, int, int, float_status *status);
int32_t float32_to_int32_scalbn(float32, int, int, float_status *status);
int64_t float32_to_int64_scalbn(float32, int, int, float_status *status);
int16_t float32_to_int16(float32, float_status *status);
uint16_t float32_to_uint16(float32, float_status *status);
int16_t float32_to_int16_round_to_zero(float32, float_status *status);
uint16_t float32_to_uint16_round_to_zero(float32, float_status *status);
int32_t float32_to_int32(float32, float_status *status);
int32_t float32_to_int32_round_to_zero(float32, float_status *status);
uint32_t float32_to_uint32(float32, float_status *status);
uint32_t float32_to_uint32_round_to_zero(float32, float_status *status);
int64_t float32_to_int64(float32, float_status *status);
uint64_t float32_to_uint64(float32, float_status *status);
uint64_t float32_to_uint64_round_to_zero(float32, float_status *status);
int16_t float32_to_int16_round_to_zero(float32, float_status *status);
int32_t float32_to_int32_round_to_zero(float32, float_status *status);
int64_t float32_to_int64_round_to_zero(float32, float_status *status);
uint16_t float32_to_uint16_scalbn(float32, int, int, float_status *status);
uint32_t float32_to_uint32_scalbn(float32, int, int, float_status *status);
uint64_t float32_to_uint64_scalbn(float32, int, int, float_status *status);
uint16_t float32_to_uint16(float32, float_status *status);
uint32_t float32_to_uint32(float32, float_status *status);
uint64_t float32_to_uint64(float32, float_status *status);
uint16_t float32_to_uint16_round_to_zero(float32, float_status *status);
uint32_t float32_to_uint32_round_to_zero(float32, float_status *status);
uint64_t float32_to_uint64_round_to_zero(float32, float_status *status);
float64 float32_to_float64(float32, float_status *status);
floatx80 float32_to_floatx80(float32, float_status *status);
float128 float32_to_float128(float32, float_status *status);
@ -481,18 +507,31 @@ float32 float32_default_nan(float_status *status);
/*----------------------------------------------------------------------------
| Software IEC/IEEE double-precision conversion routines.
*----------------------------------------------------------------------------*/
int16_t float64_to_int16_scalbn(float64, int, int, float_status *status);
int32_t float64_to_int32_scalbn(float64, int, int, float_status *status);
int64_t float64_to_int64_scalbn(float64, int, int, float_status *status);
int16_t float64_to_int16(float64, float_status *status);
uint16_t float64_to_uint16(float64, float_status *status);
int16_t float64_to_int16_round_to_zero(float64, float_status *status);
uint16_t float64_to_uint16_round_to_zero(float64, float_status *status);
int32_t float64_to_int32(float64, float_status *status);
int32_t float64_to_int32_round_to_zero(float64, float_status *status);
uint32_t float64_to_uint32(float64, float_status *status);
uint32_t float64_to_uint32_round_to_zero(float64, float_status *status);
int64_t float64_to_int64(float64, float_status *status);
int16_t float64_to_int16_round_to_zero(float64, float_status *status);
int32_t float64_to_int32_round_to_zero(float64, float_status *status);
int64_t float64_to_int64_round_to_zero(float64, float_status *status);
uint64_t float64_to_uint64(float64 a, float_status *status);
uint64_t float64_to_uint64_round_to_zero(float64 a, float_status *status);
uint16_t float64_to_uint16_scalbn(float64, int, int, float_status *status);
uint32_t float64_to_uint32_scalbn(float64, int, int, float_status *status);
uint64_t float64_to_uint64_scalbn(float64, int, int, float_status *status);
uint16_t float64_to_uint16(float64, float_status *status);
uint32_t float64_to_uint32(float64, float_status *status);
uint64_t float64_to_uint64(float64, float_status *status);
uint16_t float64_to_uint16_round_to_zero(float64, float_status *status);
uint32_t float64_to_uint32_round_to_zero(float64, float_status *status);
uint64_t float64_to_uint64_round_to_zero(float64, float_status *status);
float32 float64_to_float32(float64, float_status *status);
floatx80 float64_to_floatx80(float64, float_status *status);
float128 float64_to_float128(float64, float_status *status);

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_m68k
#define float16_to_int16 float16_to_int16_m68k
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_m68k
#define float16_to_int16_scalbn float16_to_int16_scalbn_m68k
#define float16_to_int32 float16_to_int32_m68k
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_m68k
#define float16_to_int32_scalbn float16_to_int32_scalbn_m68k
#define float16_to_int64 float16_to_int64_m68k
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_m68k
#define float16_to_int64_scalbn float16_to_int64_scalbn_m68k
#define float16_to_float32 float16_to_float32_m68k
#define float16_to_float64 float16_to_float64_m68k
#define float16_to_uint16 float16_to_uint16_m68k
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_m68k
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_m68k
#define float16_to_uint32 float16_to_uint32_m68k
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_m68k
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_m68k
#define float16_to_uint64 float16_to_uint64_m68k
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_m68k
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_m68k
#define float32ToCommonNaN float32ToCommonNaN_m68k
#define float32_abs float32_abs_m68k
#define float32_add float32_add_m68k
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_m68k
#define float32_to_int16 float32_to_int16_m68k
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_m68k
#define float32_to_int16_scalbn float32_to_int16_scalbn_m68k
#define float32_to_int32 float32_to_int32_m68k
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_m68k
#define float32_to_int32_scalbn float32_to_int32_scalbn_m68k
#define float32_to_int64 float32_to_int64_m68k
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_m68k
#define float32_to_int64_scalbn float32_to_int64_scalbn_m68k
#define float32_to_uint16 float32_to_uint16_m68k
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_m68k
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_m68k
#define float32_to_uint32 float32_to_uint32_m68k
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_m68k
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_m68k
#define float32_to_uint64 float32_to_uint64_m68k
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_m68k
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_m68k
#define float32_unordered float32_unordered_m68k
#define float32_unordered_quiet float32_unordered_quiet_m68k
#define float64ToCommonNaN float64ToCommonNaN_m68k
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_m68k
#define float64_to_int16 float64_to_int16_m68k
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_m68k
#define float64_to_int16_scalbn float64_to_int16_scalbn_m68k
#define float64_to_int32 float64_to_int32_m68k
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_m68k
#define float64_to_int32_scalbn float64_to_int32_scalbn_m68k
#define float64_to_int64 float64_to_int64_m68k
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_m68k
#define float64_to_int64_scalbn float64_to_int64_scalbn_m68k
#define float64_to_uint16 float64_to_uint16_m68k
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_m68k
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_m68k
#define float64_to_uint32 float64_to_uint32_m68k
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_m68k
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_m68k
#define float64_to_uint64 float64_to_uint64_m68k
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_m68k
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_m68k
#define float64_trunc_to_int float64_trunc_to_int_m68k
#define float64_unordered float64_unordered_m68k
#define float64_unordered_quiet float64_unordered_quiet_m68k

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_mips
#define float16_to_int16 float16_to_int16_mips
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_mips
#define float16_to_int16_scalbn float16_to_int16_scalbn_mips
#define float16_to_int32 float16_to_int32_mips
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_mips
#define float16_to_int32_scalbn float16_to_int32_scalbn_mips
#define float16_to_int64 float16_to_int64_mips
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_mips
#define float16_to_int64_scalbn float16_to_int64_scalbn_mips
#define float16_to_float32 float16_to_float32_mips
#define float16_to_float64 float16_to_float64_mips
#define float16_to_uint16 float16_to_uint16_mips
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_mips
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_mips
#define float16_to_uint32 float16_to_uint32_mips
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_mips
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_mips
#define float16_to_uint64 float16_to_uint64_mips
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_mips
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_mips
#define float32ToCommonNaN float32ToCommonNaN_mips
#define float32_abs float32_abs_mips
#define float32_add float32_add_mips
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_mips
#define float32_to_int16 float32_to_int16_mips
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_mips
#define float32_to_int16_scalbn float32_to_int16_scalbn_mips
#define float32_to_int32 float32_to_int32_mips
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_mips
#define float32_to_int32_scalbn float32_to_int32_scalbn_mips
#define float32_to_int64 float32_to_int64_mips
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_mips
#define float32_to_int64_scalbn float32_to_int64_scalbn_mips
#define float32_to_uint16 float32_to_uint16_mips
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_mips
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_mips
#define float32_to_uint32 float32_to_uint32_mips
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_mips
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_mips
#define float32_to_uint64 float32_to_uint64_mips
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_mips
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_mips
#define float32_unordered float32_unordered_mips
#define float32_unordered_quiet float32_unordered_quiet_mips
#define float64ToCommonNaN float64ToCommonNaN_mips
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_mips
#define float64_to_int16 float64_to_int16_mips
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_mips
#define float64_to_int16_scalbn float64_to_int16_scalbn_mips
#define float64_to_int32 float64_to_int32_mips
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_mips
#define float64_to_int32_scalbn float64_to_int32_scalbn_mips
#define float64_to_int64 float64_to_int64_mips
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_mips
#define float64_to_int64_scalbn float64_to_int64_scalbn_mips
#define float64_to_uint16 float64_to_uint16_mips
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_mips
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_mips
#define float64_to_uint32 float64_to_uint32_mips
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_mips
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_mips
#define float64_to_uint64 float64_to_uint64_mips
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_mips
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_mips
#define float64_trunc_to_int float64_trunc_to_int_mips
#define float64_unordered float64_unordered_mips
#define float64_unordered_quiet float64_unordered_quiet_mips

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_mips64
#define float16_to_int16 float16_to_int16_mips64
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_mips64
#define float16_to_int16_scalbn float16_to_int16_scalbn_mips64
#define float16_to_int32 float16_to_int32_mips64
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_mips64
#define float16_to_int32_scalbn float16_to_int32_scalbn_mips64
#define float16_to_int64 float16_to_int64_mips64
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_mips64
#define float16_to_int64_scalbn float16_to_int64_scalbn_mips64
#define float16_to_float32 float16_to_float32_mips64
#define float16_to_float64 float16_to_float64_mips64
#define float16_to_uint16 float16_to_uint16_mips64
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_mips64
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_mips64
#define float16_to_uint32 float16_to_uint32_mips64
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_mips64
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_mips64
#define float16_to_uint64 float16_to_uint64_mips64
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_mips64
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_mips64
#define float32ToCommonNaN float32ToCommonNaN_mips64
#define float32_abs float32_abs_mips64
#define float32_add float32_add_mips64
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_mips64
#define float32_to_int16 float32_to_int16_mips64
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_mips64
#define float32_to_int16_scalbn float32_to_int16_scalbn_mips64
#define float32_to_int32 float32_to_int32_mips64
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_mips64
#define float32_to_int32_scalbn float32_to_int32_scalbn_mips64
#define float32_to_int64 float32_to_int64_mips64
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_mips64
#define float32_to_int64_scalbn float32_to_int64_scalbn_mips64
#define float32_to_uint16 float32_to_uint16_mips64
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_mips64
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_mips64
#define float32_to_uint32 float32_to_uint32_mips64
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_mips64
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_mips64
#define float32_to_uint64 float32_to_uint64_mips64
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_mips64
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_mips64
#define float32_unordered float32_unordered_mips64
#define float32_unordered_quiet float32_unordered_quiet_mips64
#define float64ToCommonNaN float64ToCommonNaN_mips64
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_mips64
#define float64_to_int16 float64_to_int16_mips64
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_mips64
#define float64_to_int16_scalbn float64_to_int16_scalbn_mips64
#define float64_to_int32 float64_to_int32_mips64
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_mips64
#define float64_to_int32_scalbn float64_to_int32_scalbn_mips64
#define float64_to_int64 float64_to_int64_mips64
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_mips64
#define float64_to_int64_scalbn float64_to_int64_scalbn_mips64
#define float64_to_uint16 float64_to_uint16_mips64
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_mips64
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_mips64
#define float64_to_uint32 float64_to_uint32_mips64
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_mips64
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_mips64
#define float64_to_uint64 float64_to_uint64_mips64
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_mips64
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_mips64
#define float64_trunc_to_int float64_trunc_to_int_mips64
#define float64_unordered float64_unordered_mips64
#define float64_unordered_quiet float64_unordered_quiet_mips64

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_mips64el
#define float16_to_int16 float16_to_int16_mips64el
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_mips64el
#define float16_to_int16_scalbn float16_to_int16_scalbn_mips64el
#define float16_to_int32 float16_to_int32_mips64el
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_mips64el
#define float16_to_int32_scalbn float16_to_int32_scalbn_mips64el
#define float16_to_int64 float16_to_int64_mips64el
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_mips64el
#define float16_to_int64_scalbn float16_to_int64_scalbn_mips64el
#define float16_to_float32 float16_to_float32_mips64el
#define float16_to_float64 float16_to_float64_mips64el
#define float16_to_uint16 float16_to_uint16_mips64el
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_mips64el
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_mips64el
#define float16_to_uint32 float16_to_uint32_mips64el
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_mips64el
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_mips64el
#define float16_to_uint64 float16_to_uint64_mips64el
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_mips64el
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_mips64el
#define float32ToCommonNaN float32ToCommonNaN_mips64el
#define float32_abs float32_abs_mips64el
#define float32_add float32_add_mips64el
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_mips64el
#define float32_to_int16 float32_to_int16_mips64el
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_mips64el
#define float32_to_int16_scalbn float32_to_int16_scalbn_mips64el
#define float32_to_int32 float32_to_int32_mips64el
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_mips64el
#define float32_to_int32_scalbn float32_to_int32_scalbn_mips64el
#define float32_to_int64 float32_to_int64_mips64el
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_mips64el
#define float32_to_int64_scalbn float32_to_int64_scalbn_mips64el
#define float32_to_uint16 float32_to_uint16_mips64el
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_mips64el
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_mips64el
#define float32_to_uint32 float32_to_uint32_mips64el
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_mips64el
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_mips64el
#define float32_to_uint64 float32_to_uint64_mips64el
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_mips64el
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_mips64el
#define float32_unordered float32_unordered_mips64el
#define float32_unordered_quiet float32_unordered_quiet_mips64el
#define float64ToCommonNaN float64ToCommonNaN_mips64el
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_mips64el
#define float64_to_int16 float64_to_int16_mips64el
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_mips64el
#define float64_to_int16_scalbn float64_to_int16_scalbn_mips64el
#define float64_to_int32 float64_to_int32_mips64el
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_mips64el
#define float64_to_int32_scalbn float64_to_int32_scalbn_mips64el
#define float64_to_int64 float64_to_int64_mips64el
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_mips64el
#define float64_to_int64_scalbn float64_to_int64_scalbn_mips64el
#define float64_to_uint16 float64_to_uint16_mips64el
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_mips64el
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_mips64el
#define float64_to_uint32 float64_to_uint32_mips64el
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_mips64el
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_mips64el
#define float64_to_uint64 float64_to_uint64_mips64el
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_mips64el
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_mips64el
#define float64_trunc_to_int float64_trunc_to_int_mips64el
#define float64_unordered float64_unordered_mips64el
#define float64_unordered_quiet float64_unordered_quiet_mips64el

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_mipsel
#define float16_to_int16 float16_to_int16_mipsel
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_mipsel
#define float16_to_int16_scalbn float16_to_int16_scalbn_mipsel
#define float16_to_int32 float16_to_int32_mipsel
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_mipsel
#define float16_to_int32_scalbn float16_to_int32_scalbn_mipsel
#define float16_to_int64 float16_to_int64_mipsel
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_mipsel
#define float16_to_int64_scalbn float16_to_int64_scalbn_mipsel
#define float16_to_float32 float16_to_float32_mipsel
#define float16_to_float64 float16_to_float64_mipsel
#define float16_to_uint16 float16_to_uint16_mipsel
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_mipsel
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_mipsel
#define float16_to_uint32 float16_to_uint32_mipsel
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_mipsel
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_mipsel
#define float16_to_uint64 float16_to_uint64_mipsel
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_mipsel
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_mipsel
#define float32ToCommonNaN float32ToCommonNaN_mipsel
#define float32_abs float32_abs_mipsel
#define float32_add float32_add_mipsel
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_mipsel
#define float32_to_int16 float32_to_int16_mipsel
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_mipsel
#define float32_to_int16_scalbn float32_to_int16_scalbn_mipsel
#define float32_to_int32 float32_to_int32_mipsel
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_mipsel
#define float32_to_int32_scalbn float32_to_int32_scalbn_mipsel
#define float32_to_int64 float32_to_int64_mipsel
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_mipsel
#define float32_to_int64_scalbn float32_to_int64_scalbn_mipsel
#define float32_to_uint16 float32_to_uint16_mipsel
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_mipsel
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_mipsel
#define float32_to_uint32 float32_to_uint32_mipsel
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_mipsel
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_mipsel
#define float32_to_uint64 float32_to_uint64_mipsel
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_mipsel
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_mipsel
#define float32_unordered float32_unordered_mipsel
#define float32_unordered_quiet float32_unordered_quiet_mipsel
#define float64ToCommonNaN float64ToCommonNaN_mipsel
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_mipsel
#define float64_to_int16 float64_to_int16_mipsel
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_mipsel
#define float64_to_int16_scalbn float64_to_int16_scalbn_mipsel
#define float64_to_int32 float64_to_int32_mipsel
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_mipsel
#define float64_to_int32_scalbn float64_to_int32_scalbn_mipsel
#define float64_to_int64 float64_to_int64_mipsel
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_mipsel
#define float64_to_int64_scalbn float64_to_int64_scalbn_mipsel
#define float64_to_uint16 float64_to_uint16_mipsel
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_mipsel
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_mipsel
#define float64_to_uint32 float64_to_uint32_mipsel
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_mipsel
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_mipsel
#define float64_to_uint64 float64_to_uint64_mipsel
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_mipsel
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_mipsel
#define float64_trunc_to_int float64_trunc_to_int_mipsel
#define float64_unordered float64_unordered_mipsel
#define float64_unordered_quiet float64_unordered_quiet_mipsel

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_powerpc
#define float16_to_int16 float16_to_int16_powerpc
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_powerpc
#define float16_to_int16_scalbn float16_to_int16_scalbn_powerpc
#define float16_to_int32 float16_to_int32_powerpc
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_powerpc
#define float16_to_int32_scalbn float16_to_int32_scalbn_powerpc
#define float16_to_int64 float16_to_int64_powerpc
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_powerpc
#define float16_to_int64_scalbn float16_to_int64_scalbn_powerpc
#define float16_to_float32 float16_to_float32_powerpc
#define float16_to_float64 float16_to_float64_powerpc
#define float16_to_uint16 float16_to_uint16_powerpc
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_powerpc
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_powerpc
#define float16_to_uint32 float16_to_uint32_powerpc
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_powerpc
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_powerpc
#define float16_to_uint64 float16_to_uint64_powerpc
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_powerpc
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_powerpc
#define float32ToCommonNaN float32ToCommonNaN_powerpc
#define float32_abs float32_abs_powerpc
#define float32_add float32_add_powerpc
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_powerpc
#define float32_to_int16 float32_to_int16_powerpc
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_powerpc
#define float32_to_int16_scalbn float32_to_int16_scalbn_powerpc
#define float32_to_int32 float32_to_int32_powerpc
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_powerpc
#define float32_to_int32_scalbn float32_to_int32_scalbn_powerpc
#define float32_to_int64 float32_to_int64_powerpc
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_powerpc
#define float32_to_int64_scalbn float32_to_int64_scalbn_powerpc
#define float32_to_uint16 float32_to_uint16_powerpc
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_powerpc
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_powerpc
#define float32_to_uint32 float32_to_uint32_powerpc
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_powerpc
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_powerpc
#define float32_to_uint64 float32_to_uint64_powerpc
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_powerpc
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_powerpc
#define float32_unordered float32_unordered_powerpc
#define float32_unordered_quiet float32_unordered_quiet_powerpc
#define float64ToCommonNaN float64ToCommonNaN_powerpc
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_powerpc
#define float64_to_int16 float64_to_int16_powerpc
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_powerpc
#define float64_to_int16_scalbn float64_to_int16_scalbn_powerpc
#define float64_to_int32 float64_to_int32_powerpc
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_powerpc
#define float64_to_int32_scalbn float64_to_int32_scalbn_powerpc
#define float64_to_int64 float64_to_int64_powerpc
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_powerpc
#define float64_to_int64_scalbn float64_to_int64_scalbn_powerpc
#define float64_to_uint16 float64_to_uint16_powerpc
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_powerpc
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_powerpc
#define float64_to_uint32 float64_to_uint32_powerpc
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_powerpc
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_powerpc
#define float64_to_uint64 float64_to_uint64_powerpc
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_powerpc
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_powerpc
#define float64_trunc_to_int float64_trunc_to_int_powerpc
#define float64_unordered float64_unordered_powerpc
#define float64_unordered_quiet float64_unordered_quiet_powerpc

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_sparc
#define float16_to_int16 float16_to_int16_sparc
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_sparc
#define float16_to_int16_scalbn float16_to_int16_scalbn_sparc
#define float16_to_int32 float16_to_int32_sparc
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_sparc
#define float16_to_int32_scalbn float16_to_int32_scalbn_sparc
#define float16_to_int64 float16_to_int64_sparc
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_sparc
#define float16_to_int64_scalbn float16_to_int64_scalbn_sparc
#define float16_to_float32 float16_to_float32_sparc
#define float16_to_float64 float16_to_float64_sparc
#define float16_to_uint16 float16_to_uint16_sparc
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_sparc
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_sparc
#define float16_to_uint32 float16_to_uint32_sparc
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_sparc
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_sparc
#define float16_to_uint64 float16_to_uint64_sparc
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_sparc
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_sparc
#define float32ToCommonNaN float32ToCommonNaN_sparc
#define float32_abs float32_abs_sparc
#define float32_add float32_add_sparc
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_sparc
#define float32_to_int16 float32_to_int16_sparc
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_sparc
#define float32_to_int16_scalbn float32_to_int16_scalbn_sparc
#define float32_to_int32 float32_to_int32_sparc
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_sparc
#define float32_to_int32_scalbn float32_to_int32_scalbn_sparc
#define float32_to_int64 float32_to_int64_sparc
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_sparc
#define float32_to_int64_scalbn float32_to_int64_scalbn_sparc
#define float32_to_uint16 float32_to_uint16_sparc
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_sparc
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_sparc
#define float32_to_uint32 float32_to_uint32_sparc
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_sparc
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_sparc
#define float32_to_uint64 float32_to_uint64_sparc
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_sparc
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_sparc
#define float32_unordered float32_unordered_sparc
#define float32_unordered_quiet float32_unordered_quiet_sparc
#define float64ToCommonNaN float64ToCommonNaN_sparc
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_sparc
#define float64_to_int16 float64_to_int16_sparc
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_sparc
#define float64_to_int16_scalbn float64_to_int16_scalbn_sparc
#define float64_to_int32 float64_to_int32_sparc
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_sparc
#define float64_to_int32_scalbn float64_to_int32_scalbn_sparc
#define float64_to_int64 float64_to_int64_sparc
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_sparc
#define float64_to_int64_scalbn float64_to_int64_scalbn_sparc
#define float64_to_uint16 float64_to_uint16_sparc
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_sparc
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_sparc
#define float64_to_uint32 float64_to_uint32_sparc
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_sparc
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_sparc
#define float64_to_uint64 float64_to_uint64_sparc
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_sparc
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_sparc
#define float64_trunc_to_int float64_trunc_to_int_sparc
#define float64_unordered float64_unordered_sparc
#define float64_unordered_quiet float64_unordered_quiet_sparc

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_sparc64
#define float16_to_int16 float16_to_int16_sparc64
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_sparc64
#define float16_to_int16_scalbn float16_to_int16_scalbn_sparc64
#define float16_to_int32 float16_to_int32_sparc64
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_sparc64
#define float16_to_int32_scalbn float16_to_int32_scalbn_sparc64
#define float16_to_int64 float16_to_int64_sparc64
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_sparc64
#define float16_to_int64_scalbn float16_to_int64_scalbn_sparc64
#define float16_to_float32 float16_to_float32_sparc64
#define float16_to_float64 float16_to_float64_sparc64
#define float16_to_uint16 float16_to_uint16_sparc64
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_sparc64
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_sparc64
#define float16_to_uint32 float16_to_uint32_sparc64
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_sparc64
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_sparc64
#define float16_to_uint64 float16_to_uint64_sparc64
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_sparc64
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_sparc64
#define float32ToCommonNaN float32ToCommonNaN_sparc64
#define float32_abs float32_abs_sparc64
#define float32_add float32_add_sparc64
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_sparc64
#define float32_to_int16 float32_to_int16_sparc64
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_sparc64
#define float32_to_int16_scalbn float32_to_int16_scalbn_sparc64
#define float32_to_int32 float32_to_int32_sparc64
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_sparc64
#define float32_to_int32_scalbn float32_to_int32_scalbn_sparc64
#define float32_to_int64 float32_to_int64_sparc64
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_sparc64
#define float32_to_int64_scalbn float32_to_int64_scalbn_sparc64
#define float32_to_uint16 float32_to_uint16_sparc64
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_sparc64
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_sparc64
#define float32_to_uint32 float32_to_uint32_sparc64
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_sparc64
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_sparc64
#define float32_to_uint64 float32_to_uint64_sparc64
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_sparc64
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_sparc64
#define float32_unordered float32_unordered_sparc64
#define float32_unordered_quiet float32_unordered_quiet_sparc64
#define float64ToCommonNaN float64ToCommonNaN_sparc64
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_sparc64
#define float64_to_int16 float64_to_int16_sparc64
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_sparc64
#define float64_to_int16_scalbn float64_to_int16_scalbn_sparc64
#define float64_to_int32 float64_to_int32_sparc64
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_sparc64
#define float64_to_int32_scalbn float64_to_int32_scalbn_sparc64
#define float64_to_int64 float64_to_int64_sparc64
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_sparc64
#define float64_to_int64_scalbn float64_to_int64_scalbn_sparc64
#define float64_to_uint16 float64_to_uint16_sparc64
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_sparc64
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_sparc64
#define float64_to_uint32 float64_to_uint32_sparc64
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_sparc64
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_sparc64
#define float64_to_uint64 float64_to_uint64_sparc64
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_sparc64
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_sparc64
#define float64_trunc_to_int float64_trunc_to_int_sparc64
#define float64_unordered float64_unordered_sparc64
#define float64_unordered_quiet float64_unordered_quiet_sparc64

View file

@ -512,18 +512,24 @@
#define float16_sub float16_sub_x86_64
#define float16_to_int16 float16_to_int16_x86_64
#define float16_to_int16_round_to_zero float16_to_int16_round_to_zero_x86_64
#define float16_to_int16_scalbn float16_to_int16_scalbn_x86_64
#define float16_to_int32 float16_to_int32_x86_64
#define float16_to_int32_round_to_zero float16_to_int32_round_to_zero_x86_64
#define float16_to_int32_scalbn float16_to_int32_scalbn_x86_64
#define float16_to_int64 float16_to_int64_x86_64
#define float16_to_int64_round_to_zero float16_to_int64_round_to_zero_x86_64
#define float16_to_int64_scalbn float16_to_int64_scalbn_x86_64
#define float16_to_float32 float16_to_float32_x86_64
#define float16_to_float64 float16_to_float64_x86_64
#define float16_to_uint16 float16_to_uint16_x86_64
#define float16_to_uint16_round_to_zero float16_to_uint16_round_to_zero_x86_64
#define float16_to_uint16_scalbn float16_to_uint16_scalbn_x86_64
#define float16_to_uint32 float16_to_uint32_x86_64
#define float16_to_uint32_round_to_zero float16_to_uint32_round_to_zero_x86_64
#define float16_to_uint32_scalbn float16_to_uint32_scalbn_x86_64
#define float16_to_uint64 float16_to_uint64_x86_64
#define float16_to_uint64_round_to_zero float16_to_uint64_round_to_zero_x86_64
#define float16_to_uint64_scalbn float16_to_uint64_scalbn_x86_64
#define float32ToCommonNaN float32ToCommonNaN_x86_64
#define float32_abs float32_abs_x86_64
#define float32_add float32_add_x86_64
@ -573,16 +579,22 @@
#define float32_to_floatx80 float32_to_floatx80_x86_64
#define float32_to_int16 float32_to_int16_x86_64
#define float32_to_int16_round_to_zero float32_to_int16_round_to_zero_x86_64
#define float32_to_int16_scalbn float32_to_int16_scalbn_x86_64
#define float32_to_int32 float32_to_int32_x86_64
#define float32_to_int32_round_to_zero float32_to_int32_round_to_zero_x86_64
#define float32_to_int32_scalbn float32_to_int32_scalbn_x86_64
#define float32_to_int64 float32_to_int64_x86_64
#define float32_to_int64_round_to_zero float32_to_int64_round_to_zero_x86_64
#define float32_to_int64_scalbn float32_to_int64_scalbn_x86_64
#define float32_to_uint16 float32_to_uint16_x86_64
#define float32_to_uint16_round_to_zero float32_to_uint16_round_to_zero_x86_64
#define float32_to_uint16_scalbn float32_to_uint16_scalbn_x86_64
#define float32_to_uint32 float32_to_uint32_x86_64
#define float32_to_uint32_round_to_zero float32_to_uint32_round_to_zero_x86_64
#define float32_to_uint32_scalbn float32_to_uint32_scalbn_x86_64
#define float32_to_uint64 float32_to_uint64_x86_64
#define float32_to_uint64_round_to_zero float32_to_uint64_round_to_zero_x86_64
#define float32_to_uint64_scalbn float32_to_uint64_scalbn_x86_64
#define float32_unordered float32_unordered_x86_64
#define float32_unordered_quiet float32_unordered_quiet_x86_64
#define float64ToCommonNaN float64ToCommonNaN_x86_64
@ -631,16 +643,22 @@
#define float64_to_floatx80 float64_to_floatx80_x86_64
#define float64_to_int16 float64_to_int16_x86_64
#define float64_to_int16_round_to_zero float64_to_int16_round_to_zero_x86_64
#define float64_to_int16_scalbn float64_to_int16_scalbn_x86_64
#define float64_to_int32 float64_to_int32_x86_64
#define float64_to_int32_round_to_zero float64_to_int32_round_to_zero_x86_64
#define float64_to_int32_scalbn float64_to_int32_scalbn_x86_64
#define float64_to_int64 float64_to_int64_x86_64
#define float64_to_int64_round_to_zero float64_to_int64_round_to_zero_x86_64
#define float64_to_int64_scalbn float64_to_int64_scalbn_x86_64
#define float64_to_uint16 float64_to_uint16_x86_64
#define float64_to_uint16_round_to_zero float64_to_uint16_round_to_zero_x86_64
#define float64_to_uint16_scalbn float64_to_uint16_scalbn_x86_64
#define float64_to_uint32 float64_to_uint32_x86_64
#define float64_to_uint32_round_to_zero float64_to_uint32_round_to_zero_x86_64
#define float64_to_uint32_scalbn float64_to_uint32_scalbn_x86_64
#define float64_to_uint64 float64_to_uint64_x86_64
#define float64_to_uint64_round_to_zero float64_to_uint64_round_to_zero_x86_64
#define float64_to_uint64_scalbn float64_to_uint64_scalbn_x86_64
#define float64_trunc_to_int float64_trunc_to_int_x86_64
#define float64_unordered float64_unordered_x86_64
#define float64_unordered_quiet float64_unordered_quiet_x86_64