]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR target 77850
authorJohn David Anglin <danglin@gcc.gnu.org>
Mon, 6 Mar 2017 22:55:33 +0000 (22:55 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Mon, 6 Mar 2017 22:55:33 +0000 (22:55 +0000)
PR target 77850
* config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
vector types.

From-SVN: r245934

gcc/ChangeLog
gcc/config/pa/pa-64.h

index 40ed48354211f8e142d20433717a415be090e12a..a20f3d7f802658a263d2724d8827cd27c2e479b4 100644 (file)
@@ -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-02  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/79514
index dec8688afa623fb95598305d06d08f5c159f81b0..13771f6b46193e7ed1029fe22a193c8fcd328ff1 100644 (file)
@@ -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