Re: How to generate AVX512 instructions now (just to look at them).

2014-01-03 Thread Tim Prince
On 1/3/2014 2:58 PM, Toon Moene wrote: On 01/03/2014 07:04 PM, Jakub Jelinek wrote: On Fri, Jan 03, 2014 at 05:04:55PM +0100, Toon Moene wrote: I am trying to figure out how the top-consuming routines in our weather models will be compiled when using AVX512 instructions (and their 32 512 bi

Re: How to generate AVX512 instructions now (just to look at them).

2014-01-03 Thread Toon Moene
On 01/03/2014 07:04 PM, Jakub Jelinek wrote: On Fri, Jan 03, 2014 at 05:04:55PM +0100, Toon Moene wrote: I am trying to figure out how the top-consuming routines in our weather models will be compiled when using AVX512 instructions (and their 32 512 bit registers). I thought an up-to-date tr

Re: How to generate AVX512 instructions now (just to look at them).

2014-01-03 Thread Jakub Jelinek
On Fri, Jan 03, 2014 at 05:04:55PM +0100, Toon Moene wrote: > I am trying to figure out how the top-consuming routines in our > weather models will be compiled when using AVX512 instructions (and > their 32 512 bit registers). > > I thought an up-to-date trunk version of gcc, using the command lin

Re: How to generate AVX512 instructions now (just to look at them).

2014-01-03 Thread Tim Prince
On 1/3/2014 11:04 AM, Toon Moene wrote: I am trying to figure out how the top-consuming routines in our weather models will be compiled when using AVX512 instructions (and their 32 512 bit registers). I thought an up-to-date trunk version of gcc, using the command line: <...>/gfortran -Ofast

How to generate AVX512 instructions now (just to look at them).

2014-01-03 Thread Toon Moene
I am trying to figure out how the top-consuming routines in our weather models will be compiled when using AVX512 instructions (and their 32 512 bit registers). I thought an up-to-date trunk version of gcc, using the command line: <...>/gfortran -Ofast -S -mavx2 -mavx512f would do that. Unf

Re: LIMITS_H_TEST and Newlib

2014-01-03 Thread Joseph S. Myers
On Fri, 3 Jan 2014, Sebastian Huber wrote: > There is already a --with-newlib configure option, so maybe it makes sense to > use it for the "stmp-int-hdrs" Makefile target? The --with-newlib option is a badly named option that really means "set inhibit_libc". That is, it's for an initial bootst

LIMITS_H_TEST and Newlib

2014-01-03 Thread Sebastian Huber
Hello, in gcc/Makefile, there is a test to determine how to set up the GCC provided limits.h. Here is a collection of the relevant Makefile parts: # # Installation directories # # Common prefix for installation directories. # NOTE: This direc

Re: Undefined behavior or gcc is doing additional good job?

2014-01-03 Thread Joseph S. Myers
On Fri, 3 Jan 2014, Jakub Jelinek wrote: > I think this has been discussed in some PR, unfortunately I can't find it. Bug 57725? -- Joseph S. Myers jos...@codesourcery.com

lto testsuite may erase mathlib variable

2014-01-03 Thread BELBACHIR Selim
Hi, I noticed a problem in gcc/testsuite/g++.dg/lto/lto.exp If the target does not support LTO (check_effective_target_lto) a brutal return is performed so the mathlib variable modified in lto_init will not be restored properly by lto_finish at the end of the script. Subsequent testsuites will

Re: Why __builtin_sqrt do not totally replace sqrt in asm

2014-01-03 Thread Jakub Jelinek
On Fri, Jan 03, 2014 at 10:44:21AM +0100, BELBACHIR Selim wrote: > When the standard pattern 'sqrtm2' is defined I don't understand why calls > to sqrt or __builtin_sqrt is always followed by a comparison of the result > with itself (checking the NaN ?) and a conditional branch to sqrt symbol > (so

Why __builtin_sqrt do not totally replace sqrt in asm

2014-01-03 Thread BELBACHIR Selim
Hi, When the standard pattern 'sqrtm2' is defined I don't understand why calls to sqrt or __builtin_sqrt is always followed by a comparison of the result with itself (checking the NaN ?) and a conditional branch to sqrt symbol (so linking with libm is always mandatory). ---

Re: Undefined behavior or gcc is doing additional good job?

2014-01-03 Thread Jakub Jelinek
On Fri, Jan 03, 2014 at 04:44:48PM +0800, Bin.Cheng wrote: > >> extern uint32_t __bss_start[]; > >> extern uint32_t __data_start[]; > >> > >> void Reset_Handler(void) > >> { > >> /* Clear .bss section (initialize with zeros) */ > >> for (uint32_t* bss_ptr = __bss_start; bss_ptr != __data_start; +

Re: Undefined behavior or gcc is doing additional good job?

2014-01-03 Thread Bin.Cheng
On Fri, Jan 3, 2014 at 4:24 PM, Jakub Jelinek wrote: > On Fri, Jan 03, 2014 at 04:12:19PM +0800, Bin.Cheng wrote: >> Hi, For below simple example: >> #include >> >> extern uint32_t __bss_start[]; >> extern uint32_t __data_start[]; >> >> void Reset_Handler(void) >> { >> /* Clear .bss section (ini

Re: Undefined behavior or gcc is doing additional good job?

2014-01-03 Thread Jakub Jelinek
On Fri, Jan 03, 2014 at 04:12:19PM +0800, Bin.Cheng wrote: > Hi, For below simple example: > #include > > extern uint32_t __bss_start[]; > extern uint32_t __data_start[]; > > void Reset_Handler(void) > { > /* Clear .bss section (initialize with zeros) */ > for (uint32_t* bss_ptr = __bss_start;

Undefined behavior or gcc is doing additional good job?

2014-01-03 Thread Bin.Cheng
Hi, For below simple example: #include extern uint32_t __bss_start[]; extern uint32_t __data_start[]; void Reset_Handler(void) { /* Clear .bss section (initialize with zeros) */ for (uint32_t* bss_ptr = __bss_start; bss_ptr != __data_start; ++bss_ptr) { *bss_ptr = 0; } } One snapshot of ou