[PATCH]: Fix PR/14915 Testsuite failure on mips-sgi-irix6.5 in gcc.dg/builtins-32.c

Roger Sayle roger@eyesopen.com
Tue Apr 13 16:54:00 GMT 2004


On Tue, 13 Apr 2004, Kaveh R. Ghazi wrote:
> As mentioned by Jim in the PR, we need to switch from checking
> BITS_BIG_ENDIAN to BYTES_BIG_ENDIAN.

Looking at the compensating code in extract_fixed_bit_field, I think
I now agree with you and Jim that this should be testing BYTES_BIG_ENDIAN
instead of BITS_BIG_ENDIAN.

However, I'd like to ask Ulrich and Joern to test this patch on s390
and big-endian/little-endian SH respectively.  For this kind of change
affecting bit vs. byte endianness issues, I think we need to test on
more than just a single platform.  I'll try on a few platforms here.

Thanks for fixing this!


> 2004-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
>
> 	PR/target 14915
> 	* builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not
> 	BITS_BIG_ENDIAN.
>
> diff -rup orig/egcc-CVS20040411/gcc/builtins.c egcc-CVS20040411/gcc/builtins.c
> --- orig/egcc-CVS20040411/gcc/builtins.c	2004-04-09 17:03:58.000000000 -0400
> +++ egcc-CVS20040411/gcc/builtins.c	2004-04-12 19:14:14.234793426 -0400
> @@ -5036,7 +5036,7 @@ expand_builtin_signbit (tree exp, rtx ta
>
>    if (GET_MODE_BITSIZE (imode) > GET_MODE_BITSIZE (rmode))
>      {
> -      if (BITS_BIG_ENDIAN)
> +      if (BYTES_BIG_ENDIAN)
>  	bitpos = GET_MODE_BITSIZE (imode) - 1 - bitpos;
>        temp = copy_to_mode_reg (imode, temp);
>        temp = extract_bit_field (temp, 1, bitpos, 1,
>

Roger
--



More information about the Gcc-patches mailing list