Re: [PATCH] Unconditionally use MAX_EXPR/MIN_EXPR for MAX/MIN intrinsics

2018-08-19 Thread Thomas Koenig
Hi Janne, On Fri, Aug 10, 2018 at 11:47 PM, Janne Blomqvist wrote: For floating point types, the question is what MAX(a, NaN) or MIN(a, NaN) should return (where "a" is a normal number). There are valid usecases for returning either one, but the Fortran standard doesn't specify which one sh

[PATCH] Avoid negative bitpos in expand_expr_real_1 (PR 86984)

2018-08-19 Thread Bernd Edlinger
Hi! This fixes a wrong code issue in expand_expr_real_1 which happens because a negative bitpos is actually able to reach extract_bit_field which does all computations with poly_uint64, thus the offset 0x1ff0. To avoid that I propose to use Jakub's r20 patch from the expand_assig

[PATCH, i386]: FIx PR 86994, gcc.target/i386/20040112-1.c FAILs

2018-08-19 Thread Uros Bizjak
On Sat, Aug 18, 2018 at 12:11 PM, Richard Sandiford wrote: > The problem in this case is that insn_cost says: > > (set (reg:QI X) (const_int 0)) > > has a cost of 4 but: > > (set (reg:QI X) (const_int -1)) > > has a cost of 2. So the costs make -1 seem like the cheaper immediate. > > This in

Re: [PATCH] Unconditionally use MAX_EXPR/MIN_EXPR for MAX/MIN intrinsics

2018-08-19 Thread Janne Blomqvist
PING On Fri, Aug 10, 2018 at 11:47 PM, Janne Blomqvist wrote: > For floating point types, the question is what MAX(a, NaN) or MIN(a, > NaN) should return (where "a" is a normal number). There are valid > usecases for returning either one, but the Fortran standard doesn't > specify which one sho

Re: [PATCH] Make strlen range computations more conservative

2018-08-19 Thread Bernd Edlinger
Hi, I rebased my range computation patch to current trunk, and updated it according to what was discussed here. That means get_range_strlen has already a parameter that is used to differentiate between ranges for warnings and ranges for code-gen. That is called "strict", in the 4-parameter over

Re: Async I/O patch with compilation fix

2018-08-19 Thread Thomas Koenig
Hi Christophe, Hi, This is done by +#if defined(__GTHREAD_HAS_COND) && defined(__GTHREADS_CXX0X) && !defined(__ARMEB__) +#define ASYNC_IO 1 +#else +#define ASYNC_IO 0 +#endif I tried this version of the patch, and I'm still seeing the regression on array_constructor_8.f90. Urgh... Coul