This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 4/6] rs6000: Cleanup interleave/even_odd/vec_perm.
- From: Iain Sandoe <developer at sandoe-acoustics dot co dot uk>
- To: Richard Henderson <rth at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, richard dot earnshaw at arm dot com, ramana dot radhakrishnan at linaro dot org, jakub at redhat dot com, dje dot gcc at gmail dot com, sje at cup dot hp dot com, rdsandiford at googlemail dot com, mingjie dot xing at gmail dot com, meissner at linux dot vnet dot ibm dot com
- Date: Sun, 11 Dec 2011 18:44:50 +0000
- Subject: Re: [PATCH 4/6] rs6000: Cleanup interleave/even_odd/vec_perm.
- References: <1323378383-9824-1-git-send-email-rth@redhat.com> <1323378383-9824-5-git-send-email-rth@redhat.com>
On 8 Dec 2011, at 21:06, Richard Henderson wrote:
;
+
+ high = (highp == TARGET_BIG_ENDIAN ? 0 : nelt);
+
This breaks bootstrap on ppc-darwin, which came as a bit f a surprise
to me...
... however, it would appear that TARGET_BIG_ENDIAN is not used
anywhere else...
(plenty of {BYTES,WORDS}_BIG_ENDIAN).
Note that there is no default for TARGET_BIG_ENDIAN in rs600.h - it is
only defined in config/rs6000/sysv4.h.
So is the patch below the correct 'obvious' fix, or was something else
intended.
cheers
Iain
gcc:
* config/rs6000/darwin.h (TARGET_BIG_ENDIAN): Define to 1.
Index: gcc/config/rs6000/darwin.h
===================================================================
--- gcc/config/rs6000/darwin.h (revision 182204)
+++ gcc/config/rs6000/darwin.h (working copy)
@@ -39,6 +39,8 @@
#define TARGET_OBJECT_FORMAT OBJECT_MACHO
+#define TARGET_BIG_ENDIAN 1
+
/* Size of the Obj-C jump buffer. */
#define OBJC_JBLEN ((TARGET_64BIT) ? (26*2 + 18*2 + 129 + 1) : (26 +
18*2 + 129 + 1))