On 10/31/18 5:13 AM, Renlin Li wrote:
> Hi all,
>
> The patch adds a check if the gap is compile-time constant.
>
> This happens when dse decides to replace the load with previous store
> value.
> The problem is that, shift sequence could not accept compile-time
> non-constant
> mode operand.
>
> Another issue raised from this issue is the inefficient code-generation for
> general data manipulation over mask/predicate register.
> In sve, some general data processing instructions don't apply on predicate
> registers directly. In the worst(this) case, memory load/store is
> generated to reload
> the value into a general purpose register for further data processing.
> We need to improve that.
>
> aarch64 sve test Okay, Okay to commit?
>
> Regards,
> Renlin
>
> gcc/ChangeLog:
>
> 2018-10-31 Renlin Li <renlin...@arm.com>
>
> PR target/87815
> * dse.c (get_stored_val): Add check for compile-time
> constantness of gap.
>
> gcc/testsuite/ChangeLog:
>
> 2018-10-31 Renlin Li <renlin...@arm.com>
>
> PR target/87815
> * gcc.target/aarch64/sve/pr87815.c: New.
OK
jeff