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: [GCC][PATCH]{AArch64][Testsuite] Fix failing vector_initialization_nostack.c


On Fri, Jan 27, 2017 at 10:30 AM, Tamar Christina
<Tamar.Christina@arm.com> wrote:
> Hi all,
>
> This fixes (PR78142) by only creating one vector in the char case.
> r241590 is causing more registers to be used and so
> the SP registered happens to be picked and used.
>
> This test I believe was checking explicitly that the
> SP is not used if not needed. By creating a single vector then less
> registers are needed so SP won't be used.



The test is written that way because our previuos vector
initialization code involved constructing the initializer on the stack
and then reloading it into the vector registers instead of
constructing the vector initializer through a sequence of ins
instructions which is what we changed the vector initialization code
to. I think it helped hmmer (?) but memory is fading .... :)


 [Patch AArch64] GCC 6 regression in vector performance. - Fix vector
initialization to happen with lane load instructions.

    gcc/

        * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
        always use lane loads to construct non-constant vectors.

    gcc/testsuite/

        * gcc.target/aarch64/vector_initialization_nostack.c: New.



    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233461
138bc75d-0d04-0410-961f-82ee72b054a4



regards
Ramana

>
> Ran regression tests on aarch64-none-linux-gnu.
>
> Ok for trunk?



>
> Thanks,
> Tamar
>
> gcc/testsuite/
>
> 2017-01-26  Tamar Christina  <tamar.christina@arm.com>
>
>         PR middle-end/78142
>         * gcc.target/aarch64/vector_initialization_nostack.c
>         (f12): Use one vector.


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