diff options
author | John David Anglin <danglin@gcc.gnu.org> | 2017-03-06 22:48:53 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2017-03-06 22:48:53 +0000 |
commit | 5935a7c495162f3d03c13336492f2cc434339074 (patch) | |
tree | b099f74b43995c343fd609b419c64460cbfd5752 /gcc | |
parent | f8386dae3f234c2d285bbfbd560f9e7f80b51430 (diff) | |
download | gcc-5935a7c495162f3d03c13336492f2cc434339074.zip gcc-5935a7c495162f3d03c13336492f2cc434339074.tar.gz gcc-5935a7c495162f3d03c13336492f2cc434339074.tar.bz2 |
PR target 77850
PR target 77850
* config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
vector types.
From-SVN: r245931
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/pa/pa-64.h | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a13d73a..bd424cb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-03-06 John David Anglin <danglin@gcc.gnu.org> + + PR target 77850 + * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and + vector types. + 2017-03-06 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/79571 diff --git a/gcc/config/pa/pa-64.h b/gcc/config/pa/pa-64.h index 17f3571..1d08b28 100644 --- a/gcc/config/pa/pa-64.h +++ b/gcc/config/pa/pa-64.h @@ -83,7 +83,10 @@ along with GCC; see the file COPYING3. If not see arguments are padded down when BYTES_BIG_ENDIAN is true. We don't want aggregates padded down. */ -#define PAD_VARARGS_DOWN (!AGGREGATE_TYPE_P (type)) +#define PAD_VARARGS_DOWN \ + (!AGGREGATE_TYPE_P (type) \ + && TREE_CODE (type) != COMPLEX_TYPE \ + && TREE_CODE (type) != VECTOR_TYPE) /* In the PA architecture, it is not possible to directly move data between GENERAL_REGS and FP_REGS. On the 32-bit port, we use the |