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]

RFA: another patch to fix PR61360


The previous patch to solve PR61360 fixed the problem in IRA (it was easier for me to do as I know the code well)

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61360

Although imo it was an ok fix, Richard expressed concerns with the patch and the practice to have different enable attribute values depending on the current pass.

I don't understand why "x,m" alternative is better to "x,r" and "x,r" should be disabled. Even if the path from general regs to sse regs is slow (usually such slow path is implemented internally by micro-architecture through cache). "x,r" alternative results in only smaller insns (including number of insns) with probably the same time for the movement. So "x,r" should be at least no slower, insn cache should have more locality, and less overhead for decoding/translating insns.

Here I propose another solution avoiding to have different enable attribute values.

The patch was successfully bootstrapped on x86/x86-64 and tested with and without -march=amdfam10 (actually the patch results in 2 less failures when -march=amdfam10 were used).

  Uros, is i386.md change ok for the trunk?

2014-09-22  Vladimir Makarov  <vmakarov@redhat.com>

        PR target/61360
        * lra.c (lra): Remove call of recog_init.
        * config/i386/i386.md (*float<SWI48:mode><MODEF:mode>2_sse):
        Always enable first alternative.

Attachment: pr61360-2.patch
Description: Text document


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