ppc-linux and s390-linux compilers requiring 64-bit HWI?

2005-11-26 Thread Jakub Jelinek
Hi!

What's the reason why ppc-linux and s390-linux targetted GCC
requires 64-bit HWI these days?
If it is a native compiler, this means using long long in a huge part
of the compiler and therefore slower compile times and bigger memory
consumption.
ppc-linux configured compiler (nor s390-linux) isn't multilibbed and
ppc-linux only supports -m32 (s390-linux one apparently supports
both -m31 and -m64 on the GCC side, but without multilibs it isn't very
helpful).
Say i386 or sparc-linux which also only support -m32 don't require 64-bit
HWI, while if you target x86_64 or sparc64-linux which support both -m32
and -m64 obviously 64-bit HWI is required.

--- libcpp/configure.ac.jj  2005-10-28 23:13:40.0 +0200
+++ libcpp/configure.ac 2005-11-25 14:34:31.0 +0100
@@ -112,6 +112,8 @@ fi
 
 m4_changequote(,)
 case $target in
+   powerpc-*-linux*)
+   need_64bit_hwint=no ;;
alpha*-*-* | \
arm*-*-*eabi* | \
arm*-*-symbianelf* | \
@@ -123,7 +125,7 @@ case $target in
mmix-*-* | \
powerpc*-*-* | \
rs6000*-*-* | \
-   s390*-*-* | \
+   s390x-*-* | \
sparc64*-*-* | ultrasparc-*-freebsd* | \
sparcv9-*-solaris2* | \
sparc-*-solaris2.[789] | sparc-*-solaris2.1[0-9]* | \
--- libcpp/configure.jj 2005-10-28 23:13:40.0 +0200
+++ libcpp/configure2005-11-25 14:34:40.0 +0100
@@ -8217,6 +8217,8 @@ fi
 
 
 case $target in
+   powerpc-*-linux*)
+   need_64bit_hwint=no ;;
alpha*-*-* | \
arm*-*-*eabi* | \
arm*-*-symbianelf* | \
@@ -8228,7 +8230,7 @@ case $target in
mmix-*-* | \
powerpc*-*-* | \
rs6000*-*-* | \
-   s390*-*-* | \
+   s390x-*-* | \
sparc64*-*-* | ultrasparc-*-freebsd* | \
sparcv9-*-solaris2* | \
sparc-*-solaris2.[789] | sparc-*-solaris2.1[0-9]* | \
--- gcc/config.gcc.jj   2005-11-19 09:27:16.0 +0100
+++ gcc/config.gcc  2005-11-25 14:29:30.0 +0100
@@ -294,7 +294,10 @@ mips*-*-*)
 powerpc*-*-*)
cpu_type=rs6000
extra_headers="ppc-asm.h altivec.h spe.h"
-   need_64bit_hwint=yes
+   case ${target} in
+   powerpc-*-linux*) ;;
+   *) need_64bit_hwint=yes ;;
+   esac
case x$with_cpu in
xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345]|xrs64a)
cpu_is_64bit=yes
@@ -311,10 +314,13 @@ sparc64*-*-*)
 sparc*-*-*)
cpu_type=sparc
;;
-s390*-*-*)
+s390x-*-*)
cpu_type=s390
need_64bit_hwint=yes
;;
+s390*-*-*)
+   cpu_type=s390
+   ;;
 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
 sh[123456789lbe]*-*-*)
cpu_type=sh

Jakub


Re: ppc-linux and s390-linux compilers requiring 64-bit HWI?

2005-11-26 Thread Andrew Pinski
> 
> Hi!
> 
> What's the reason why ppc-linux and s390-linux targetted GCC
> requires 64-bit HWI these days?
> If it is a native compiler, this means using long long in a huge part
> of the compiler and therefore slower compile times and bigger memory
> consumption.

powerpc-linux supports -mpowerpc64 (or at least will once the kernel
is fixed).

I think you should do timings and show mememory uage because I and others
have fixed almost all of these issues.


Thanks,
Andrew Pinski


Re: ppc-linux and s390-linux compilers requiring 64-bit HWI?

2005-11-26 Thread Richard Henderson
On Sat, Nov 26, 2005 at 03:38:18AM -0500, Jakub Jelinek wrote:
> What's the reason why ppc-linux and s390-linux targetted GCC
> requires 64-bit HWI these days?

Be careful with ppc; altivec may need hwi 64bit.


r~


Re: Why doesn't combine like volatiles? (volatile_ok again, sorry!)

2005-11-26 Thread Mike Stump

On Nov 22, 2005, at 7:52 AM, Richard Earnshaw wrote:

3) A volatile load isn't moved across any store that may alias (though
I'd expect that to be volatile if there's a real risk of aliasning, so
maybe we could have another dimension in the 'may-alias' test here).


?  Is this just a restatement of the general rule that one cannot  
move a load across a store that may alias?  If so, we don't need to  
list it here, as it comes under the normal rules of what one may not  
do, and sense we don't relist all of them, there isn't any point in  
listing any of them.


Re: Why doesn't combine like volatiles? (volatile_ok again, sorry!)

2005-11-26 Thread Mike Stump

On Nov 22, 2005, at 8:10 AM, Robert Dewar wrote:

I think this is a bad idea in practice, since volatile will be used
to describe memory mapped devices, and combining can completely
mess up the access.


Only if one missed a restriction.


Re: Would Like to Contribute, Where to Start?

2005-11-26 Thread Mike Stump

On Nov 25, 2005, at 9:49 AM, Michael Garvin wrote:

I would like to jump in and start contributing,


Welcome aboard.

but I'm wondering if I need to create a designer account anywhere,  
or join the project electronicly?


Things you need to do, file paper work if you want to contribute  
anything more than a few lines and send patches to gcc-patches.  :-)   
Most everything else is optional.  I wouldn't know what a designer  
account is if it hit me, is it anything like a designer handbag?  As  
far as joining, there isn't anything to join, unless you want to  
subscribe to the mainling lists (gcc, gcc-patches come to mind).



Is there a more current list of beginner projects?


Nope.  The web site and wiki pages are updated all the time.

I was just thinking the beginner stuff would be a good way to get  
started.



Anyways, if there is still some of that work left to do, let me know
what I should do procedure wise before jumping in.


http://gcc.gnu.org/contribute.html

Just pick something and jump in.


Re: Thoughts on LLVM and LTO

2005-11-26 Thread Mike Stump

On Nov 23, 2005, at 10:30 AM, Diego Novillo wrote:
I'll keep an eye on the apple branch.  Will gfortran work on the  
branch?


I generally like to keep Java and Fortran working on it.  For moments  
in time, it can have various breakages, though, they tend to be  
obvious/trivial to fix.  For some reason, I think it is currently  
broken, but, I could just be misremembering.