diff mbox

[4/6] rs6000: Cleanup interleave/even_odd/vec_perm.

Message ID BD47FE75-B987-4F31-A83F-46E67B4605DE@sandoe-acoustics.co.uk
State New
Headers show

Commit Message

Iain Sandoe Dec. 11, 2011, 6:44 p.m. UTC
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.

Comments

Richard Henderson Dec. 11, 2011, 7:05 p.m. UTC | #1
On 12/11/2011 10:44 AM, Iain Sandoe wrote:
> Note that there is no default for TARGET_BIG_ENDIAN in rs600.h - it is only defined in config/rs6000/sysv4.h.

Gah.  And of course that's all I tested w/ linux.

Just change the TARGET_BIG_ENDIAN to BYTES_BIG_ENDIAN.


r~
diff mbox

Patch

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))