Re: Fix PR rtl-optimization/89795

2019-09-11 Thread Segher Boessenkool
On Wed, Sep 11, 2019 at 02:18:36PM +0200, Eric Botcazou wrote: > > What does it mean for > > (set (reg:QI) (const_int -128)) > > for example? This is the canonical form of moving positive 128 into a > > register as well, of course. > > Nothing, since word_register_operation_p returns false on C

Re: Fix PR rtl-optimization/89795

2019-09-11 Thread Eric Botcazou
> What does it mean for > (set (reg:QI) (const_int -128)) > for example? This is the canonical form of moving positive 128 into a > register as well, of course. Nothing, since word_register_operation_p returns false on CONST_INTs . > W_R_O needs many more restrictions if it can work at all, bu

Re: Fix PR rtl-optimization/89795

2019-09-11 Thread Segher Boessenkool
Hi Eric, On Wed, Sep 11, 2019 at 12:39:51PM +0200, Eric Botcazou wrote: > This fixes a wrong code generation on the ARM in very peculiar circumstances > ( > -O2 -fno-dce -fno-forward-propagate -fno-sched-pressure) present on all > active > branches in the form of a missing zero-extension. It

Re: Fix PR rtl-optimization/89795

2019-09-11 Thread Jakub Jelinek
On Wed, Sep 11, 2019 at 12:39:51PM +0200, Eric Botcazou wrote: > This fixes a wrong code generation on the ARM in very peculiar circumstances > ( > -O2 -fno-dce -fno-forward-propagate -fno-sched-pressure) present on all > active > branches in the form of a missing zero-extension. It turns out

Fix PR rtl-optimization/89795

2019-09-11 Thread Eric Botcazou
This fixes a wrong code generation on the ARM in very peculiar circumstances ( -O2 -fno-dce -fno-forward-propagate -fno-sched-pressure) present on all active branches in the form of a missing zero-extension. It turns out that not all parts of the RTL middle-end agree on the assumptions valid on