diff options
author | Steve Ellcey <sje@cup.hp.com> | 2007-08-06 18:04:33 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2007-08-06 18:04:33 +0000 |
commit | a31fa2e0d3cab234ccb56fe5fdcfcf0efd3dee31 (patch) | |
tree | e151c60b4ea5b1cbb2251873802f3a9be0d5c1de /gcc | |
parent | b441fbb053733e4c2d48d91a688b2f56cbd36359 (diff) | |
download | gcc-a31fa2e0d3cab234ccb56fe5fdcfcf0efd3dee31.zip gcc-a31fa2e0d3cab234ccb56fe5fdcfcf0efd3dee31.tar.gz gcc-a31fa2e0d3cab234ccb56fe5fdcfcf0efd3dee31.tar.bz2 |
ia64.c (ia64_c_mode_for_suffix): New.
* config/ia64/ia64.c (ia64_c_mode_for_suffix): New.
(TARGET_C_MODE_FOR_SUFFIX): New.
From-SVN: r127247
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 17 |
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b91b36b..c47c658 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2007-08-06 Steve Ellcey <sje@cup.hp.com> + * config/ia64/ia64.c (ia64_c_mode_for_suffix): New. + (TARGET_C_MODE_FOR_SUFFIX): New. + +2007-08-06 Steve Ellcey <sje@cup.hp.com> + * config/ia64/div.md (m2subrf4_cond): Change 'g' to 'G'. 2007-08-06 Steve Ellcey <sje@cup.hp.com> diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index cf70493..a556673 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -282,6 +282,7 @@ static const char *ia64_mangle_type (tree); static const char *ia64_invalid_conversion (tree, tree); static const char *ia64_invalid_unary_op (int, tree); static const char *ia64_invalid_binary_op (int, tree, tree); +static enum machine_mode ia64_c_mode_for_suffix (char); /* Table of valid machine attributes. */ static const struct attribute_spec ia64_attribute_table[] = @@ -485,6 +486,9 @@ static const struct attribute_spec ia64_attribute_table[] = #undef TARGET_INVALID_BINARY_OP #define TARGET_INVALID_BINARY_OP ia64_invalid_binary_op +#undef TARGET_C_MODE_FOR_SUFFIX +#define TARGET_C_MODE_FOR_SUFFIX ia64_c_mode_for_suffix + struct gcc_target targetm = TARGET_INITIALIZER; typedef enum @@ -9849,4 +9853,17 @@ ia64_handle_version_id_attribute (tree *node ATTRIBUTE_UNUSED, return NULL_TREE; } +/* Target hook for c_mode_for_suffix. */ + +static enum machine_mode +ia64_c_mode_for_suffix (char suffix) +{ + if (suffix == 'q') + return TFmode; + if (suffix == 'w') + return XFmode; + + return VOIDmode; +} + #include "gt-ia64.h" |