[PATCH]Don't use pinsr for struct initialization.

Hongtao Liu crazylht@gmail.com
Tue Aug 18 02:24:05 GMT 2020


On Fri, Aug 14, 2020 at 5:57 PM Uros Bizjak <ubizjak@gmail.com> wrote:
>
> On Fri, Aug 14, 2020 at 8:03 AM Hongtao Liu <crazylht@gmail.com> wrote:
> >
> > Hi:
> >   For struct initialization, when it fits in a TImode, gcc will use
> > pinsr insn which causes poor codegen described in PR93897 and PR96562.
>
> You should probably remove TImode handling also from ix86_expand_pextr.
>

Yes, but i failed to construct a testcase to cover this part.
Anyway, the regression test for i386/x86-64 backend is ok, bootstrap is ok.
I also run the patch on SPEC2017, no big impact.

> Uros.
>
> >   Bootstrap is ok, regression test is ok for i386/x86-64 backend.
> >   Ok for trunk?
> >
> > ChangeLog
> > gcc/
> >         PR target/96562
> >         PR target/93897
> >         * config/i386/i386-expand.c (ix86_expand_pinsr): Don't use
> >         pinsr for TImode.
> >
> > gcc/testsuite/
> >         * gcc.target/i386/pr96562-1.c: New test.
> >
> > --
> > BR,
> > Hongtao

Update patch.

-- 
BR,
Hongtao
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Don-t-use-pinsr-pextr-for-struct-initialization-extr_V2.patch
Type: text/x-patch
Size: 2501 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20200818/26967c0c/attachment.bin>


More information about the Gcc-patches mailing list