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, i386]: Workaround PR 63620 by allowing only direct immediate values in FP push patterns


On Fri, Oct 31, 2014 at 8:53 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Fri, Oct 31, 2014 at 08:45:54PM +0100, Uros Bizjak wrote:
>> Attached patch works around PR 63620. Patched gcc will allow only a
>> subset of CONST_DOUBLEs in FP push patterns. This subset will result
>> in direct immediates that can always be encoded directly in the insn
>> stream. These won't be reloaded through memory, and will avoid PIC
>> register re-materialization issues. OTOH, the patch will generate
>> non-optimal push sequences when general registers are available.
>>
>> 2014-10-31  Uros Bizjak  <ubizjak@gmail.com>
>>
>>     PR target/63620
>>     * config/i386/i386.md (*pushtf): Allow only CONST_DOUBLES that won't
>>     be reloaded through memory.
>>     (*pushxf): Ditto.
>>     (*pushdf): Ditto.
>>
>> The patch was bootstrapped and regression tested on x86_64-linux-gnu
>> {-m32}. The patch was also checked with Darwin crosscompiler on the
>> testcases in the PR.
>
> Can't you limit the workaround to ix86_use_pseudo_pic_reg () only
> if it is about PIC register changes?

Indeed, thanks for the suggestion.

I will amend the patch with the attached.

Thanks,
Uros.

Attachment: p.diff.txt
Description: Text document


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