[compiler-rt] f157afc - [builtins] Fix __floattitf and __floatuntitf on x86

Alex Richardson via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 27 09:22:47 PDT 2023


Author: Alex Richardson
Date: 2023-06-27T09:22:25-07:00
New Revision: f157afceb0bd6910c31fcfff1321a9b93c3a2b70

URL: https://github.com/llvm/llvm-project/commit/f157afceb0bd6910c31fcfff1321a9b93c3a2b70
DIFF: https://github.com/llvm/llvm-project/commit/f157afceb0bd6910c31fcfff1321a9b93c3a2b70.diff

LOG: [builtins] Fix __floattitf and __floatuntitf on x86

These conversion functions were using LDBL_MANT_DIG (which is the 80-bit
extended float on x86) instead of the appropriate macro for the 128-bit
floating point type expected by the *tf* softfloat library calls.
This was discovered while testing D98261 (which allows building the *tf*
functions on x86).

This also changes the constants used in the two tests to use 128-bit
floating-point literals instead of long double ones to ensure that the
comparison succeeds on platforms with smaller long double (e.g. x86_64)

Reviewed By: scanon

Differential Revision: https://reviews.llvm.org/D131787

Added: 
    

Modified: 
    compiler-rt/lib/builtins/floattitf.c
    compiler-rt/lib/builtins/floatuntitf.c
    compiler-rt/lib/builtins/fp_lib.h
    compiler-rt/test/builtins/Unit/floattitf_test.c
    compiler-rt/test/builtins/Unit/floatuntitf_test.c

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/builtins/floattitf.c b/compiler-rt/lib/builtins/floattitf.c
index 196cbdae14e02..8e27373459339 100644
--- a/compiler-rt/lib/builtins/floattitf.c
+++ b/compiler-rt/lib/builtins/floattitf.c
@@ -34,7 +34,7 @@ COMPILER_RT_ABI fp_t __floattitf(ti_int a) {
   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 @@ COMPILER_RT_ABI fp_t __floattitf(ti_int a) {
     //  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
index d308d3118d03d..a8b3b4835bbca 100644
--- a/compiler-rt/lib/builtins/floatuntitf.c
+++ b/compiler-rt/lib/builtins/floatuntitf.c
@@ -32,37 +32,37 @@ COMPILER_RT_ABI fp_t __floatuntitf(tu_int a) {
   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
index 3fb13a033a14c..e0186c5681a3f 100644
--- a/compiler-rt/lib/builtins/fp_lib.h
+++ b/compiler-rt/lib/builtins/fp_lib.h
@@ -116,6 +116,7 @@ typedef long double fp_t;
 // 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
index 9a4f2eecd6526..36b409f46c5b5 100644
--- a/compiler-rt/test/builtins/Unit/floattitf_test.c
+++ b/compiler-rt/test/builtins/Unit/floattitf_test.c
@@ -76,7 +76,7 @@ int main() {
 
     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 @@ int main() {
 
     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
index fbbcb2ccfbbdd..12f74580b462d 100644
--- a/compiler-rt/test/builtins/Unit/floatuntitf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatuntitf_test.c
@@ -76,7 +76,7 @@ int main() {
 
     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 @@ int main() {
 
     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");


        


More information about the llvm-commits mailing list