[Bug c/32751] New: Missed optimization with function ptrs even when inline

2007-07-12 Thread rusty at rustcorp dot com dot au
I expect "one" not to be emitted when compiling this with -O3: === cut here === static inline unsigned long one(void) { return 1; } static inline unsigned long call(unsigned long (*fn)(void)) { return fn(); } int test_call(void) { return call(one); } === cut here ===

[Bug libfortran/32752] Segfault on WRITE with modified unix_stream structure

2007-07-12 Thread jvdelisle at gcc dot gnu dot org
--- Comment #1 from jvdelisle at gcc dot gnu dot org 2007-07-13 05:21 --- (gdb) bt #0 0x0035e2a767f8 in memset () from /lib64/libc.so.6 #1 0x2ab4759c in *_gfortrani_write_i (dtp=0x7fff5aafee10, f=, p=, len=) at ../../../gcc43/libgfortran/io/write.c:1150 #2 0x000

[Bug libfortran/32752] New: Segfault on WRITE with modified unix_stream structure

2007-07-12 Thread jvdelisle at gcc dot gnu dot org
While exploring an unrelated bug (32702) I rearranged the unix_stream structure in libgfortran/io/unix.c as shown below. This results in a segfault with streamio_3.f90. Valgrind reports and invalid write of 1. With further experimentation I can add 1 to the pointer returned by fd_alloc_w_at and

[Bug target/32661] __builtin_ia32_vec_ext suboptimal for pointer/ref args

2007-07-12 Thread ubizjak at gmail dot com
--- Comment #7 from ubizjak at gmail dot com 2007-07-13 06:08 --- I have following patch that solves nested VEC_SELECT insn. However, I would like to enhance it for nested VEC_SELECT (VEC_SELECT (VEC_DUPLICATE (...))) that is generated i.e. for __builtin_ia32_vec_ext_v4si(*val, 2); Inde

<    1   2