[PATCH][GCC][mid-end] Correct subreg no-op handling for big-endian vec_select.

Jeff Law law@redhat.com
Thu Jun 28 03:11:00 GMT 2018


On 06/19/2018 08:11 AM, Tamar Christina wrote:
> Hi All,
> 
> Previously GCC's no-op detection could would consider something a no-op even when the
> mode change is not directly possible.  This caused subregs that shouldn't be removed
> to be treated as a no-op and deleted.
> 
> Regtested on armeb-none-eabi and no regressions.
> Bootstrapped on arm-none-linux-gnueabihf and no issues.
> 
> Ok for trunk? and for backport to GCC 8?
> 
> Thanks,
> Tamar
> 
> gcc/
> 2018-06-19  Tamar Christina  <tamar.christina@arm.com>
> 
> 	PR target/84711
> 	* rtlanal.c (set_noop_p): Constrain on mode change,
> 	include hard-reg-set.h
> 
OK.  Though please include a testcase.  I believe you had
big-endian-subreg.c in the original target specific approach to fixing
this problem.  That'd be fine to re-use here.

jeff



More information about the Gcc-patches mailing list