diff options
| author | Tristan Gingold <gingold@adacore.com> | 2011-03-28 15:46:44 +0000 |
|---|---|---|
| committer | Tristan Gingold <gingold@gcc.gnu.org> | 2011-03-28 15:46:44 +0000 |
| commit | 7450b54f8413bd7be5d0a822f42ad1a24b84582c (patch) | |
| tree | 6d75d6d4ee6d6764fd002104f7e66c278d4c380e | |
| parent | 649beb33b60f70d5b24fba06d19dc71ea042ff1e (diff) | |
| download | gcc-7450b54f8413bd7be5d0a822f42ad1a24b84582c.zip gcc-7450b54f8413bd7be5d0a822f42ad1a24b84582c.tar.gz gcc-7450b54f8413bd7be5d0a822f42ad1a24b84582c.tar.bz2 | |
ia64.c (ia64_promote_function_mode): Fix promotion when for_return is 2.
2011-03-28 Tristan Gingold <gingold@adacore.com>
* config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
when for_return is 2.
From-SVN: r171608
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/ia64/ia64.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ac86016..70b6506 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-03-28 Tristan Gingold <gingold@adacore.com> + + * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion + when for_return is 2. + 2011-03-28 Jeff Law <law@redhat.com> * var-tracking.c (canonicalize_values_mark): Delete unused diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index b86c4d8..5f22b17 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -11001,7 +11001,7 @@ ia64_promote_function_mode (const_tree type, For all other types passed in the general registers, unused bits are undefined." */ - if (!AGGREGATE_TYPE_P (type) + if (for_return != 2 && GET_MODE_CLASS (mode) == MODE_INT && GET_MODE_SIZE (mode) < UNITS_PER_WORD) { |
