[PATCH] rs6000: Fix signed integer overflows

2014-11-19 Thread Markus Trippelsdorf
bootstrap-ubsan on gcc112 shows a couple of signed integer overflows: config/rs6000/constraints.md:143:33: runtime error: signed integer overflow: 9223372036854775807 + 32768 cannot be represented in type 'long int' config/rs6000/predicates.md:396:22: runtime error: signed integer overflow:

Re: [PATCH] rs6000: Fix signed integer overflows

2014-11-19 Thread Marek Polacek
On Wed, Nov 19, 2014 at 04:24:25PM +0100, Markus Trippelsdorf wrote: ;; Return 1 if op is a constant integer valid for addition @@ -827,7 +827,7 @@ (define_predicate mask_operand (match_code const_int) { - HOST_WIDE_INT c, lsb; + unsigned HOST_WIDE_INT c, lsb; c = INTVAL

Re: [PATCH] rs6000: Fix signed integer overflows

2014-11-19 Thread Segher Boessenkool
On Wed, Nov 19, 2014 at 04:24:25PM +0100, Markus Trippelsdorf wrote: --- a/gcc/config/rs6000/constraints.md +++ b/gcc/config/rs6000/constraints.md @@ -140,7 +140,7 @@ (define_constraint I A signed 16-bit constant (and (match_code const_int) - (match_test (unsigned

Re: [PATCH] rs6000: Fix signed integer overflows

2014-11-19 Thread Segher Boessenkool
On Wed, Nov 19, 2014 at 04:41:49PM +0100, Marek Polacek wrote: - HOST_WIDE_INT c, lsb; + unsigned HOST_WIDE_INT c, lsb; c = INTVAL (op); Shouldn't you use UINTVAL then? That doesn't really matter here. It looks a bit cleaner, of course. I wouldn't spend too much time on

Re: [PATCH] rs6000: Fix signed integer overflows

2014-11-19 Thread David Edelsohn
On Wed, Nov 19, 2014 at 10:24 AM, Markus Trippelsdorf mar...@trippelsdorf.de wrote: bootstrap-ubsan on gcc112 shows a couple of signed integer overflows: The fix was tested on powerpc64-unknown-linux-gnu. OK for trunk? Thank you. 2014-11-19 Markus Trippelsdorf mar...@trippelsdorf.de

Re: [PATCH] rs6000: Fix signed integer overflows

2014-11-19 Thread Markus Trippelsdorf
On 2014.11.19 at 11:20 -0500, David Edelsohn wrote: On Wed, Nov 19, 2014 at 10:24 AM, Markus Trippelsdorf mar...@trippelsdorf.de wrote: bootstrap-ubsan on gcc112 shows a couple of signed integer overflows: The fix was tested on powerpc64-unknown-linux-gnu. OK for trunk? Thank you.