diff options
author | Janis Johnson <janis187@us.ibm.com> | 2009-09-22 16:39:35 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2009-09-22 16:39:35 +0000 |
commit | a9ab39d3b4528fb63e91260369d7a8103a5a745e (patch) | |
tree | d90f82a6ce227ca65909f91da042b0cbe19c8b6b /gcc | |
parent | bcf11ab47fffbb787dcf7140f7e30e92f7751d7a (diff) | |
download | gcc-a9ab39d3b4528fb63e91260369d7a8103a5a745e.zip gcc-a9ab39d3b4528fb63e91260369d7a8103a5a745e.tar.gz gcc-a9ab39d3b4528fb63e91260369d7a8103a5a745e.tar.bz2 |
i386.c (ix86_scalar_mode_supported_p): Don't return unconditional true for decimal float modes.
* config/i386/i386.c (ix86_scalar_mode_supported_p): Don't return
unconditional true for decimal float modes.
* config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Ditto.
* config/s390/s390.c (s390_scalar_mode_supported_p): Ditto.
* lib/target-supports.exp (check_effective_target_dfp_nocache):
Check support via mode instead of C type.
(check_effective_target_dfprt_nocache): Ditto.
(check_effective_target_hard_dfp): Ditto.
From-SVN: r152030
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 2 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 8 |
6 files changed, 22 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c32bf1b..36ecde8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-09-22 Janis Johnson <janis187@us.ibm.com> + + * config/i386/i386.c (ix86_scalar_mode_supported_p): Don't return + unconditional true for decimal float modes. + * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Ditto. + * config/s390/s390.c (s390_scalar_mode_supported_p): Ditto. + 2009-09-22 Loren J. Rittle <ljrittle@acm.org> * unwind-dw2-fde-glibc.c: Define and use USE_PT_GNU_EH_FRAME. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index bda1c5f..7c21542 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -28066,7 +28066,7 @@ static bool ix86_scalar_mode_supported_p (enum machine_mode mode) { if (DECIMAL_FLOAT_MODE_P (mode)) - return true; + return default_decimal_float_supported_p (); else if (mode == TFmode) return true; else diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index a4b59c6..83d9ee8 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -25403,7 +25403,7 @@ static bool rs6000_scalar_mode_supported_p (enum machine_mode mode) { if (DECIMAL_FLOAT_MODE_P (mode)) - return true; + return default_decimal_float_supported_p (); else return default_scalar_mode_supported_p (mode); } diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 7054e45..e439b01 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -366,7 +366,7 @@ static bool s390_scalar_mode_supported_p (enum machine_mode mode) { if (DECIMAL_FLOAT_MODE_P (mode)) - return true; + return default_decimal_float_supported_p (); else return default_scalar_mode_supported_p (mode); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 981e8e3..6db9d35 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2009-09-22 Janis Johnson <janis187@us.ibm.com> + + * lib/target-supports.exp (check_effective_target_dfp_nocache): + Check support via mode instead of C type. + (check_effective_target_dfprt_nocache): Ditto. + (check_effective_target_hard_dfp): Ditto. + 2009-09-22 Richard Guenther <rguenther@suse.de> PR middle-end/41395 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 9189938..0e29668 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1295,7 +1295,7 @@ proc check_effective_target_fixed_point { } { proc check_effective_target_dfp_nocache { } { verbose "check_effective_target_dfp_nocache: compiling source" 2 set ret [check_no_compiler_messages_nocache dfp object { - _Decimal32 x; _Decimal64 y; _Decimal128 z; + float x __attribute__((mode(DD))); }] verbose "check_effective_target_dfp_nocache: returning $ret" 2 return $ret @@ -1303,7 +1303,8 @@ proc check_effective_target_dfp_nocache { } { proc check_effective_target_dfprt_nocache { } { return [check_runtime_nocache dfprt { - _Decimal32 x = 1.2df; _Decimal64 y = 2.3dd; _Decimal128 z; + typedef float d64 __attribute__((mode(DD))); + d64 x = 1.2df; y = 2.3dd; z; int main () { z = x + y; return 0; } }] } @@ -3069,7 +3070,8 @@ proc check_effective_target_pow10 { } { proc check_effective_target_hard_dfp {} { return [check_no_messages_and_pattern hard_dfp "!adddd3" assembly { - _Decimal64 x, y, z; + typedef float d64 __attribute__((mode(DD))); + d64 x, y, z; void foo (void) { z = x + y; } }] } |