[PATCH]Don't use pinsr for struct initialization.
Tue Aug 18 02:24:05 GMT 2020
On Fri, Aug 14, 2020 at 5:57 PM Uros Bizjak <firstname.lastname@example.org> wrote:
> On Fri, Aug 14, 2020 at 8:03 AM Hongtao Liu <email@example.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.
> > 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
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 2501 bytes
Desc: not available
More information about the Gcc-patches