diff --git a/compiler-rt/lib/builtins/floattitf.c b/compiler-rt/lib/builtins/floattitf.c --- a/compiler-rt/lib/builtins/floattitf.c +++ b/compiler-rt/lib/builtins/floattitf.c @@ -34,7 +34,7 @@ a = (a ^ s) - s; int sd = N - __clzti2(a); // number of significant digits int e = sd - 1; // exponent - if (sd > LDBL_MANT_DIG) { + if (sd > TF_MANT_DIG) { // start: 0000000000000000000001xxxxxxxxxxxxxxxxxxxxxxPQxxxxxxxxxxxxxxxxxx // finish: 000000000000000000000000000000000000001xxxxxxxxxxxxxxxxxxxxxxPQR // 12345678901234567890123456 @@ -43,27 +43,27 @@ // Q = bit LDBL_MANT_DIG bits to the right of 1 // R = "or" of all bits to the right of Q switch (sd) { - case LDBL_MANT_DIG + 1: + case TF_MANT_DIG + 1: a <<= 1; break; - case LDBL_MANT_DIG + 2: + case TF_MANT_DIG + 2: break; default: - a = ((tu_int)a >> (sd - (LDBL_MANT_DIG + 2))) | - ((a & ((tu_int)(-1) >> ((N + LDBL_MANT_DIG + 2) - sd))) != 0); + a = ((tu_int)a >> (sd - (TF_MANT_DIG + 2))) | + ((a & ((tu_int)(-1) >> ((N + TF_MANT_DIG + 2) - sd))) != 0); }; // finish: a |= (a & 4) != 0; // Or P into R ++a; // round - this step may add a significant bit a >>= 2; // dump Q and R // a is now rounded to LDBL_MANT_DIG or LDBL_MANT_DIG+1 bits - if (a & ((tu_int)1 << LDBL_MANT_DIG)) { + if (a & ((tu_int)1 << TF_MANT_DIG)) { a >>= 1; ++e; } // a is now rounded to LDBL_MANT_DIG bits } else { - a <<= (LDBL_MANT_DIG - sd); + a <<= (TF_MANT_DIG - sd); // a is now rounded to LDBL_MANT_DIG bits } diff --git a/compiler-rt/lib/builtins/floatuntitf.c b/compiler-rt/lib/builtins/floatuntitf.c --- a/compiler-rt/lib/builtins/floatuntitf.c +++ b/compiler-rt/lib/builtins/floatuntitf.c @@ -32,37 +32,37 @@ const unsigned N = sizeof(tu_int) * CHAR_BIT; int sd = N - __clzti2(a); // number of significant digits int e = sd - 1; // exponent - if (sd > LDBL_MANT_DIG) { + if (sd > TF_MANT_DIG) { // start: 0000000000000000000001xxxxxxxxxxxxxxxxxxxxxxPQxxxxxxxxxxxxxxxxxx // finish: 000000000000000000000000000000000000001xxxxxxxxxxxxxxxxxxxxxxPQR // 12345678901234567890123456 // 1 = msb 1 bit - // P = bit LDBL_MANT_DIG-1 bits to the right of 1 - // Q = bit LDBL_MANT_DIG bits to the right of 1 + // P = bit TF_MANT_DIG-1 bits to the right of 1 + // Q = bit TF_MANT_DIG bits to the right of 1 // R = "or" of all bits to the right of Q switch (sd) { - case LDBL_MANT_DIG + 1: + case TF_MANT_DIG + 1: a <<= 1; break; - case LDBL_MANT_DIG + 2: + case TF_MANT_DIG + 2: break; default: - a = (a >> (sd - (LDBL_MANT_DIG + 2))) | - ((a & ((tu_int)(-1) >> ((N + LDBL_MANT_DIG + 2) - sd))) != 0); + a = (a >> (sd - (TF_MANT_DIG + 2))) | + ((a & ((tu_int)(-1) >> ((N + TF_MANT_DIG + 2) - sd))) != 0); }; // finish: a |= (a & 4) != 0; // Or P into R ++a; // round - this step may add a significant bit a >>= 2; // dump Q and R - // a is now rounded to LDBL_MANT_DIG or LDBL_MANT_DIG+1 bits - if (a & ((tu_int)1 << LDBL_MANT_DIG)) { + // a is now rounded to TF_MANT_DIG or TF_MANT_DIG+1 bits + if (a & ((tu_int)1 << TF_MANT_DIG)) { a >>= 1; ++e; } - // a is now rounded to LDBL_MANT_DIG bits + // a is now rounded to TF_MANT_DIG bits } else { - a <<= (LDBL_MANT_DIG - sd); - // a is now rounded to LDBL_MANT_DIG bits + a <<= (TF_MANT_DIG - sd); + // a is now rounded to TF_MANT_DIG bits } long_double_bits fb; diff --git a/compiler-rt/lib/builtins/fp_lib.h b/compiler-rt/lib/builtins/fp_lib.h --- a/compiler-rt/lib/builtins/fp_lib.h +++ b/compiler-rt/lib/builtins/fp_lib.h @@ -116,6 +116,7 @@ // Note: Since there is no explicit way to tell compiler the constant is a // 128-bit integer, we let the constant be casted to 128-bit integer #define significandBits 112 +#define TF_MANT_DIG (significandBits + 1) static __inline int rep_clz(rep_t a) { const union { diff --git a/compiler-rt/test/builtins/Unit/floattitf_test.c b/compiler-rt/test/builtins/Unit/floattitf_test.c --- a/compiler-rt/test/builtins/Unit/floattitf_test.c +++ b/compiler-rt/test/builtins/Unit/floattitf_test.c @@ -76,7 +76,7 @@ if (test__floattitf(make_ti(0x8000000000000000LL, 0), -0x1.000000p+127)) return 1; - if (test__floattitf(make_ti(0x8000000000000001LL, 0), -0x1.FFFFFFFFFFFFFFFCp+126L)) + if (test__floattitf(make_ti(0x8000000000000001LL, 0), -0x1.FFFFFFFFFFFFFFFCp+126Q)) return 1; if (test__floattitf(0x0007FB72E8000000LL, 0x1.FEDCBAp+50)) @@ -106,95 +106,95 @@ if (test__floattitf(0x023479FD0E092DC0LL, 0x1.1A3CFE870496Ep+57)) return 1; - if (test__floattitf(0x023479FD0E092DA1LL, 0x1.1A3CFE870496D08p+57L)) + if (test__floattitf(0x023479FD0E092DA1LL, 0x1.1A3CFE870496D08p+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DB0LL, 0x1.1A3CFE870496D8p+57L)) + if (test__floattitf(0x023479FD0E092DB0LL, 0x1.1A3CFE870496D8p+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DB8LL, 0x1.1A3CFE870496DCp+57L)) + if (test__floattitf(0x023479FD0E092DB8LL, 0x1.1A3CFE870496DCp+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DB6LL, 0x1.1A3CFE870496DBp+57L)) + if (test__floattitf(0x023479FD0E092DB6LL, 0x1.1A3CFE870496DBp+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DBFLL, 0x1.1A3CFE870496DF8p+57L)) + if (test__floattitf(0x023479FD0E092DBFLL, 0x1.1A3CFE870496DF8p+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DC1LL, 0x1.1A3CFE870496E08p+57L)) + if (test__floattitf(0x023479FD0E092DC1LL, 0x1.1A3CFE870496E08p+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DC7LL, 0x1.1A3CFE870496E38p+57L)) + if (test__floattitf(0x023479FD0E092DC7LL, 0x1.1A3CFE870496E38p+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DC8LL, 0x1.1A3CFE870496E4p+57L)) + if (test__floattitf(0x023479FD0E092DC8LL, 0x1.1A3CFE870496E4p+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DCFLL, 0x1.1A3CFE870496E78p+57L)) + if (test__floattitf(0x023479FD0E092DCFLL, 0x1.1A3CFE870496E78p+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DD0LL, 0x1.1A3CFE870496E8p+57L)) + if (test__floattitf(0x023479FD0E092DD0LL, 0x1.1A3CFE870496E8p+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DD1LL, 0x1.1A3CFE870496E88p+57L)) + if (test__floattitf(0x023479FD0E092DD1LL, 0x1.1A3CFE870496E88p+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DD8LL, 0x1.1A3CFE870496ECp+57L)) + if (test__floattitf(0x023479FD0E092DD8LL, 0x1.1A3CFE870496ECp+57Q)) return 1; - if (test__floattitf(0x023479FD0E092DDFLL, 0x1.1A3CFE870496EF8p+57L)) + if (test__floattitf(0x023479FD0E092DDFLL, 0x1.1A3CFE870496EF8p+57Q)) return 1; if (test__floattitf(0x023479FD0E092DE0LL, 0x1.1A3CFE870496Fp+57)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DC0LL, 0), 0x1.1A3CFE870496Ep+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DC0LL, 0), 0x1.1A3CFE870496Ep+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DA1LL, 1), 0x1.1A3CFE870496D08p+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DA1LL, 1), 0x1.1A3CFE870496D08p+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DB0LL, 2), 0x1.1A3CFE870496D8p+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DB0LL, 2), 0x1.1A3CFE870496D8p+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DB8LL, 3), 0x1.1A3CFE870496DCp+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DB8LL, 3), 0x1.1A3CFE870496DCp+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DB6LL, 4), 0x1.1A3CFE870496DBp+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DB6LL, 4), 0x1.1A3CFE870496DBp+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DBFLL, 5), 0x1.1A3CFE870496DF8p+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DBFLL, 5), 0x1.1A3CFE870496DF8p+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DC1LL, 6), 0x1.1A3CFE870496E08p+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DC1LL, 6), 0x1.1A3CFE870496E08p+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DC7LL, 7), 0x1.1A3CFE870496E38p+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DC7LL, 7), 0x1.1A3CFE870496E38p+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DC8LL, 8), 0x1.1A3CFE870496E4p+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DC8LL, 8), 0x1.1A3CFE870496E4p+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DCFLL, 9), 0x1.1A3CFE870496E78p+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DCFLL, 9), 0x1.1A3CFE870496E78p+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DD0LL, 0), 0x1.1A3CFE870496E8p+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DD0LL, 0), 0x1.1A3CFE870496E8p+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DD1LL, 11), 0x1.1A3CFE870496E88p+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DD1LL, 11), 0x1.1A3CFE870496E88p+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DD8LL, 12), 0x1.1A3CFE870496ECp+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DD8LL, 12), 0x1.1A3CFE870496ECp+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DDFLL, 13), 0x1.1A3CFE870496EF8p+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DDFLL, 13), 0x1.1A3CFE870496EF8p+121Q)) return 1; - if (test__floattitf(make_ti(0x023479FD0E092DE0LL, 14), 0x1.1A3CFE870496Fp+121L)) + if (test__floattitf(make_ti(0x023479FD0E092DE0LL, 14), 0x1.1A3CFE870496Fp+121Q)) return 1; - if (test__floattitf(make_ti(0, 0xFFFFFFFFFFFFFFFFLL), 0x1.FFFFFFFFFFFFFFFEp+63L)) + if (test__floattitf(make_ti(0, 0xFFFFFFFFFFFFFFFFLL), 0x1.FFFFFFFFFFFFFFFEp+63Q)) return 1; if (test__floattitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC2801LL), - 0x1.23456789ABCDEF0123456789ABC3p+124L)) + 0x1.23456789ABCDEF0123456789ABC3p+124Q)) return 1; if (test__floattitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC3000LL), - 0x1.23456789ABCDEF0123456789ABC3p+124L)) + 0x1.23456789ABCDEF0123456789ABC3p+124Q)) return 1; if (test__floattitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC37FFLL), - 0x1.23456789ABCDEF0123456789ABC3p+124L)) + 0x1.23456789ABCDEF0123456789ABC3p+124Q)) return 1; if (test__floattitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC3800LL), - 0x1.23456789ABCDEF0123456789ABC4p+124L)) + 0x1.23456789ABCDEF0123456789ABC4p+124Q)) return 1; if (test__floattitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC4000LL), - 0x1.23456789ABCDEF0123456789ABC4p+124L)) + 0x1.23456789ABCDEF0123456789ABC4p+124Q)) return 1; if (test__floattitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC47FFLL), - 0x1.23456789ABCDEF0123456789ABC4p+124L)) + 0x1.23456789ABCDEF0123456789ABC4p+124Q)) return 1; if (test__floattitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC4800LL), - 0x1.23456789ABCDEF0123456789ABC4p+124L)) + 0x1.23456789ABCDEF0123456789ABC4p+124Q)) return 1; if (test__floattitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC4801LL), - 0x1.23456789ABCDEF0123456789ABC5p+124L)) + 0x1.23456789ABCDEF0123456789ABC5p+124Q)) return 1; if (test__floattitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC57FFLL), - 0x1.23456789ABCDEF0123456789ABC5p+124L)) + 0x1.23456789ABCDEF0123456789ABC5p+124Q)) return 1; #else printf("skipped\n"); diff --git a/compiler-rt/test/builtins/Unit/floatuntitf_test.c b/compiler-rt/test/builtins/Unit/floatuntitf_test.c --- a/compiler-rt/test/builtins/Unit/floatuntitf_test.c +++ b/compiler-rt/test/builtins/Unit/floatuntitf_test.c @@ -76,7 +76,7 @@ if (test__floatuntitf(0x8000000000000000ULL, 0x8p+60)) return 1; - if (test__floatuntitf(0x8000000000000001ULL, 0x8.000000000000001p+60L)) + if (test__floatuntitf(0x8000000000000001ULL, 0x8.000000000000001p+60Q)) return 1; if (test__floatuntitf(0x0007FB72E8000000LL, 0x1.FEDCBAp+50)) @@ -106,102 +106,102 @@ if (test__floatuntitf(0x023479FD0E092DC0LL, 0x1.1A3CFE870496Ep+57)) return 1; - if (test__floatuntitf(0x023479FD0E092DA1LL, 0x1.1A3CFE870496D08p+57L)) + if (test__floatuntitf(0x023479FD0E092DA1LL, 0x1.1A3CFE870496D08p+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DB0LL, 0x1.1A3CFE870496D8p+57L)) + if (test__floatuntitf(0x023479FD0E092DB0LL, 0x1.1A3CFE870496D8p+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DB8LL, 0x1.1A3CFE870496DCp+57L)) + if (test__floatuntitf(0x023479FD0E092DB8LL, 0x1.1A3CFE870496DCp+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DB6LL, 0x1.1A3CFE870496DBp+57L)) + if (test__floatuntitf(0x023479FD0E092DB6LL, 0x1.1A3CFE870496DBp+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DBFLL, 0x1.1A3CFE870496DF8p+57L)) + if (test__floatuntitf(0x023479FD0E092DBFLL, 0x1.1A3CFE870496DF8p+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DC1LL, 0x1.1A3CFE870496E08p+57L)) + if (test__floatuntitf(0x023479FD0E092DC1LL, 0x1.1A3CFE870496E08p+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DC7LL, 0x1.1A3CFE870496E38p+57L)) + if (test__floatuntitf(0x023479FD0E092DC7LL, 0x1.1A3CFE870496E38p+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DC8LL, 0x1.1A3CFE870496E4p+57L)) + if (test__floatuntitf(0x023479FD0E092DC8LL, 0x1.1A3CFE870496E4p+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DCFLL, 0x1.1A3CFE870496E78p+57L)) + if (test__floatuntitf(0x023479FD0E092DCFLL, 0x1.1A3CFE870496E78p+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DD0LL, 0x1.1A3CFE870496E8p+57L)) + if (test__floatuntitf(0x023479FD0E092DD0LL, 0x1.1A3CFE870496E8p+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DD1LL, 0x1.1A3CFE870496E88p+57L)) + if (test__floatuntitf(0x023479FD0E092DD1LL, 0x1.1A3CFE870496E88p+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DD8LL, 0x1.1A3CFE870496ECp+57L)) + if (test__floatuntitf(0x023479FD0E092DD8LL, 0x1.1A3CFE870496ECp+57Q)) return 1; - if (test__floatuntitf(0x023479FD0E092DDFLL, 0x1.1A3CFE870496EF8p+57L)) + if (test__floatuntitf(0x023479FD0E092DDFLL, 0x1.1A3CFE870496EF8p+57Q)) return 1; if (test__floatuntitf(0x023479FD0E092DE0LL, 0x1.1A3CFE870496Fp+57)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DC0LL, 0), 0x1.1A3CFE870496Ep+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DC0LL, 0), 0x1.1A3CFE870496Ep+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DA1LL, 1), 0x1.1A3CFE870496D08p+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DA1LL, 1), 0x1.1A3CFE870496D08p+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DB0LL, 2), 0x1.1A3CFE870496D8p+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DB0LL, 2), 0x1.1A3CFE870496D8p+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DB8LL, 3), 0x1.1A3CFE870496DCp+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DB8LL, 3), 0x1.1A3CFE870496DCp+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DB6LL, 4), 0x1.1A3CFE870496DBp+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DB6LL, 4), 0x1.1A3CFE870496DBp+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DBFLL, 5), 0x1.1A3CFE870496DF8p+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DBFLL, 5), 0x1.1A3CFE870496DF8p+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DC1LL, 6), 0x1.1A3CFE870496E08p+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DC1LL, 6), 0x1.1A3CFE870496E08p+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DC7LL, 7), 0x1.1A3CFE870496E38p+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DC7LL, 7), 0x1.1A3CFE870496E38p+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DC8LL, 8), 0x1.1A3CFE870496E4p+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DC8LL, 8), 0x1.1A3CFE870496E4p+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DCFLL, 9), 0x1.1A3CFE870496E78p+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DCFLL, 9), 0x1.1A3CFE870496E78p+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DD0LL, 0), 0x1.1A3CFE870496E8p+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DD0LL, 0), 0x1.1A3CFE870496E8p+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DD1LL, 11), 0x1.1A3CFE870496E88p+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DD1LL, 11), 0x1.1A3CFE870496E88p+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DD8LL, 12), 0x1.1A3CFE870496ECp+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DD8LL, 12), 0x1.1A3CFE870496ECp+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DDFLL, 13), 0x1.1A3CFE870496EF8p+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DDFLL, 13), 0x1.1A3CFE870496EF8p+121Q)) return 1; - if (test__floatuntitf(make_ti(0x023479FD0E092DE0LL, 14), 0x1.1A3CFE870496Fp+121L)) + if (test__floatuntitf(make_ti(0x023479FD0E092DE0LL, 14), 0x1.1A3CFE870496Fp+121Q)) return 1; - if (test__floatuntitf(make_ti(0, 0xFFFFFFFFFFFFFFFFLL), 0x1.FFFFFFFFFFFFFFFEp+63L)) + if (test__floatuntitf(make_ti(0, 0xFFFFFFFFFFFFFFFFLL), 0x1.FFFFFFFFFFFFFFFEp+63Q)) return 1; if (test__floatuntitf(make_ti(0xFFFFFFFFFFFFFFFFLL, 0x0000000000000000LL), - 0x1.FFFFFFFFFFFFFFFEp+127L)) + 0x1.FFFFFFFFFFFFFFFEp+127Q)) return 1; if (test__floatuntitf(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), - 0x1.0000000000000000p+128L)) + 0x1.0000000000000000p+128Q)) return 1; if (test__floatuntitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC2801LL), - 0x1.23456789ABCDEF0123456789ABC3p+124L)) + 0x1.23456789ABCDEF0123456789ABC3p+124Q)) return 1; if (test__floatuntitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC3000LL), - 0x1.23456789ABCDEF0123456789ABC3p+124L)) + 0x1.23456789ABCDEF0123456789ABC3p+124Q)) return 1; if (test__floatuntitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC37FFLL), - 0x1.23456789ABCDEF0123456789ABC3p+124L)) + 0x1.23456789ABCDEF0123456789ABC3p+124Q)) return 1; if (test__floatuntitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC3800LL), - 0x1.23456789ABCDEF0123456789ABC4p+124L)) + 0x1.23456789ABCDEF0123456789ABC4p+124Q)) return 1; if (test__floatuntitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC4000LL), - 0x1.23456789ABCDEF0123456789ABC4p+124L)) + 0x1.23456789ABCDEF0123456789ABC4p+124Q)) return 1; if (test__floatuntitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC47FFLL), - 0x1.23456789ABCDEF0123456789ABC4p+124L)) + 0x1.23456789ABCDEF0123456789ABC4p+124Q)) return 1; if (test__floatuntitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC4800LL), - 0x1.23456789ABCDEF0123456789ABC4p+124L)) + 0x1.23456789ABCDEF0123456789ABC4p+124Q)) return 1; if (test__floatuntitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC4801LL), - 0x1.23456789ABCDEF0123456789ABC5p+124L)) + 0x1.23456789ABCDEF0123456789ABC5p+124Q)) return 1; if (test__floatuntitf(make_ti(0x123456789ABCDEF0LL, 0x123456789ABC57FFLL), - 0x1.23456789ABCDEF0123456789ABC5p+124L)) + 0x1.23456789ABCDEF0123456789ABC5p+124Q)) return 1; #else printf("skipped\n");