This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


On Thu, 28 Jun 2018 at 05:11, Jeff Law <law@redhat.com> wrote:
>
> 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.
>

Hi,

It looks like this new test fails on x86_32 (i686-pc-linux-gnu):
/gcc/testsuite/gcc.dg/vect/pr84711.c: In function 'fn1':
/gcc/testsuite/gcc.dg/vect/pr84711.c:8:5: note: The ABI for passing
parameters with 16-byte alignment has changed in GCC 4.6
/gcc/testsuite/gcc.dg/vect/pr84711.c:8:5: warning: SSE vector argument
without SSE enabled changes the ABI [-Wpsabi]
FAIL: gcc.dg/vect/pr84711.c -flto -ffat-lto-objects (test for excess errors)
Excess errors:
/gcc/testsuite/gcc.dg/vect/pr84711.c:8:5: warning: SSE vector argument
without SSE enabled changes the ABI [-Wpsabi]


> jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]