Re: Method to test all sse2 calls?

2010-11-23 Thread Ian Lance Taylor
"David Mathog" writes: > What is: > > __builtin_ia32_vec_ext_v2df > > ??? It's a gcc builtin function, not to be confused with an SSE intrinsic function. > It wasn't in the original emmintrin.h, so presumably isn't actually > part of SSE2, but it is present in the testsuite, and it is not vis

Re: GCC Intermodule Analysis for Go

2010-11-23 Thread Ian Lance Taylor
Matt Davis writes: > I have been working on my PhD thesis and I want to focus on the Go > language. I know Ian Taylor has done tons of work regarding the Go > frontend for gcc. Likewise, I know gcc implements SSA and even > link-time optimization. For my specific research I will need to do > s

Re: Method to test all sse2 calls?

2010-11-23 Thread David Mathog
What is: __builtin_ia32_vec_ext_v2df ??? It wasn't in the original emmintrin.h, so presumably isn't actually part of SSE2, but it is present in the testsuite, and it is not visible to the compiler when -mno-sse2 is set. See for instance the files sse2-vec-#.c. (Randomly selected) Example: ss

gcc-4.4-20101123 is now available

2010-11-23 Thread gccadmin
Snapshot gcc-4.4-20101123 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.4-20101123/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.4 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches

Re: Method to disable code SSE2 generation but still use -msse2

2010-11-23 Thread David Mathog
The problem is specific for 64 bit environments, made these: gcc -Wall -msse -mno-sse2 -I. -lm -DSOFT_SSE2 -DEMMSOFTDBG \ -O0 -m32 -S -o gccprob_wno32.s gccprob.c gcc -Wall -msse -mno-sse2 -I. -lm -DSOFT_SSE2 -DEMMSOFTDBG \ -O0 -m32 -o gccprob_wno32 gccprob.c gcc -Wall -msse -msse2 -I.

GCC Intermodule Analysis for Go

2010-11-23 Thread Matt Davis
Hello, I have been working on my PhD thesis and I want to focus on the Go language. I know Ian Taylor has done tons of work regarding the Go frontend for gcc. Likewise, I know gcc implements SSA and even link-time optimization. For my specific research I will need to do some intermodule analysis

Re: Method to disable code SSE2 generation but still use -msse2

2010-11-23 Thread David Mathog
I renamed the test case gccprob.c and made two binaries and two assembler files: gcc -Wall -msse -mno-sse2 -I. -lm -DSOFT_SSE2 -DEMMSOFTDBG \ -O0 -o gccprob_wno gccprob.c gcc -Wall -msse -mno-sse2 -I. -lm -DSOFT_SSE2 -DEMMSOFTDBG \ -O0 -S -o gccprob_wno.s gccprob.c gcc -Wall -msse -msse

Re: Method to disable code SSE2 generation but still use -msse2

2010-11-23 Thread David Mathog
> Things I tried to force a 16 byte stack alignment that didn't work: > > 1 -mstackrealign > 2 -mpreferred-stack-boundary=4 > 3 -mincoming-stack-boundary=4 > 4 2 and 3 > 5 1 and 2 and 3 And this is why they didn't work. Change the test function to static __m128d __attribute__((noinline,al

Re: Method to disable code SSE2 generation but still use -msse2

2010-11-23 Thread David Mathog
I have found several ways to "fix" the latest issue, but they all boil down to never passing an __m128d value on the call stack. For instance change static __m128d __attribute__((noinline, unused)) test (__m128d s1, __m128d s2) to static __m128d test (__m128d s1, __m128d s2) and the program wo

Re: RFD: hookizing BITS_PER_UNIT in tree optimizers / frontends

2010-11-23 Thread Joern Rennecke
Quoting "Joseph S. Myers" : If something relates to an interface to a lower-level part of the compiler then BITS_PER_UNIT is probably right - but if somethis relates to whether a type is a variant of char, or to alignment of a non-bit-field object (you can't have smaller than char alignment), or

Re: RFD: hookizing BITS_PER_UNIT in tree optimizers / frontends

2010-11-23 Thread Joseph S. Myers
I think quite a lot of front end uses of BITS_PER_UNIT should really be TYPE_PRECISION (char_type_node) (which in general I'd consider preferred to CHAR_TYPE_SIZE in the front ends). Though it's pretty poorly defined what datastructures should look like if target "char" in the front ends is wi

Re: Method to disable code SSE2 generation but still use -msse2

2010-11-23 Thread David Mathog
The last mysterious error message went away when the same code was compiled on a machine with a more recent gcc (4.4.1). Shortly after I hit the next roadblock. Here is foo.c (a modified version of sse2-cmpsd-1.c from the version 4.5.1 testsuite): >8>8<8>8>8<8>8>8<8>8>8<8>8>8<8>8>8<8>8>8<8>8>8<8

RFD: hookizing BITS_PER_UNIT in tree optimizers / frontends

2010-11-23 Thread Joern Rennecke
If we changed BITS_PER_UNIT into an ordinary piece-of-data 'hook', this would not only cost a data load from the target vector, but would also inhibit optimizations that replace division / modulo / multiply with shift or mask operations. So maybe we should look into having a few functional hooks t

Loop-iv.c ICEs on subregs

2010-11-23 Thread Maxim Kuvyrkov
Zdenek, I'm investigating an ICE in loop-iv.c:get_biv_step(). I hope you can shed some light on what the correct fix would be. The ICE happens when processing: == (insn 111 (set (reg:SI 304) (plus (subreg:SI (reg:DI 251) 4) (const_int 1 (insn 177 (set (s

Re: Adding Leon processor to the SPARC list of processors

2010-11-23 Thread Eric Botcazou
> Following the recent comments by Eric, the patch now sketches the > following setup: > > If multi-lib is wanted: > configure --with-cpu=leon ... : creates multilib-dir soft|v8 > combinations using [-msoft-float|-mcpu=sparcleonv8] (MULTILIB_OPTIONS = > msoft-float mcpu=sparcleonv8) > > If