diff options
author | sje <sje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-13 20:34:55 +0000 |
---|---|---|
committer | sje <sje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-13 20:34:55 +0000 |
commit | e64e1ea15adfb8f98a4ea44c2e000b6d92fe60f5 (patch) | |
tree | c3587db1a9b80338e49aed01374d9729a5a1a2d0 | |
parent | 2bd342e5980385088967ed4b0f0ece2987eaaec5 (diff) | |
download | gcc-e64e1ea15adfb8f98a4ea44c2e000b6d92fe60f5.tar.gz |
* config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
(TARGET_SCALAR_MODE_SUPPORTED_P): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87448 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 29 |
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fa5832f1038..31e7739384f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-09-13 Steve Ellcey <sje@cup.hp.com> + + * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New. + (TARGET_SCALAR_MODE_SUPPORTED_P): New. + 2004-09-13 Richard Henderson <rth@redhat.com> PR 17436 diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index df4487ab513..b85e1c2be11 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -276,6 +276,7 @@ static tree ia64_handle_model_attribute (tree *, tree, tree, int, bool *); static void ia64_encode_section_info (tree, rtx, int); static rtx ia64_struct_value_rtx (tree, int); static tree ia64_gimplify_va_arg (tree, tree, tree *, tree *); +static bool ia64_scalar_mode_supported_p (enum machine_mode mode); /* Table of valid machine attributes. */ @@ -416,6 +417,9 @@ static const struct attribute_spec ia64_attribute_table[] = #undef TARGET_UNWIND_EMIT #define TARGET_UNWIND_EMIT process_for_unwind_directive +#undef TARGET_SCALAR_MODE_SUPPORTED_P +#define TARGET_SCALAR_MODE_SUPPORTED_P ia64_scalar_mode_supported_p + struct gcc_target targetm = TARGET_INITIALIZER; typedef enum @@ -8478,4 +8482,29 @@ ia64_struct_value_rtx (tree fntype, return gen_rtx_REG (Pmode, GR_REG (8)); } +static bool +ia64_scalar_mode_supported_p (enum machine_mode mode) +{ + switch (mode) + { + case QImode: + case HImode: + case SImode: + case DImode: + case TImode: + return true; + + case SFmode: + case DFmode: + case XFmode: + return true; + + case TFmode: + return TARGET_HPUX; + + default: + return false; + } +} + #include "gt-ia64.h" |