diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/fp-int-convert-float128-timode-2.c | 21 |
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c606a6e..b0632ff 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-06-21 Joseph Myers <joseph@codesourcery.com> + + PR other/53317 + * gcc.dg/torture/fp-int-convert-float128-timode-2.c: New test. + 2013-06-20 Uros Bizjak <ubizjak@gmail.com> PR target/57655 diff --git a/gcc/testsuite/gcc.dg/torture/fp-int-convert-float128-timode-2.c b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float128-timode-2.c new file mode 100644 index 0000000..9990e19 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float128-timode-2.c @@ -0,0 +1,21 @@ +/* Test floating-point conversions. __float128 type with TImode: bug + 53317. */ +/* Origin: Joseph Myers <joseph@codesourcery.com> */ +/* { dg-do run { target i?86-*-* x86_64-*-* ia64-*-* } } */ +/* { dg-require-effective-target int128 } */ +/* { dg-options "" } */ + +extern void abort (void); +extern void exit (int); + +int +main (void) +{ + volatile unsigned long long a = 0x1000000000000ULL; + volatile unsigned long long b = 0xffffffffffffffffULL; + unsigned __int128 c = (((unsigned __int128) a) << 64) | b; + __float128 d = c; + if (d != 0x1.000000000000ffffffffffffffffp112q) + abort (); + exit (0); +} |