aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJanis Johnson <janis187@us.ibm.com>2009-09-22 16:39:35 +0000
committerJanis Johnson <janis@gcc.gnu.org>2009-09-22 16:39:35 +0000
commita9ab39d3b4528fb63e91260369d7a8103a5a745e (patch)
treed90f82a6ce227ca65909f91da042b0cbe19c8b6b /gcc
parentbcf11ab47fffbb787dcf7140f7e30e92f7751d7a (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/config/i386/i386.c2
-rw-r--r--gcc/config/rs6000/rs6000.c2
-rw-r--r--gcc/config/s390/s390.c2
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/lib/target-supports.exp8
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; }
}]
}