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: [AArch64][PR65139] use clobber with match_scratch for aarch64_lshr_sisd_or_int_<mode>3



On 15/04/15 22:32, Jakub Jelinek wrote:
> On Wed, Apr 15, 2015 at 01:18:36PM +0100, Richard Earnshaw wrote:
>> On 14/04/15 22:41, Kugan wrote:
>>> This patch uses clobber with match_scratch instead of earlyclobber for
>>> aarch64_lshr_sisd_or_int_<mode>3 so that RA can have more freedom in
>>> selecting suitable register, as discussed in
>>> http://thread.gmane.org/gmane.comp.gcc.patches/336162 and reported in
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65139.
>>>
>>> This is based on Maxim's patch. I have bootstrapped and regression
>>> tested on aarch64-linux-gnu with no new regressions. Is this OK for trunk?
>>>
>>> Thanks,
>>> Kugan
>>>
>>> gcc/ChangeLog:
>>>
>>> 2015-04-15  Kugan Vivekanandarajah  <kuganv@linaro.org>
>>> 	    Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
>>>
>>> 	PR target/65139
>>> 	* config/aarch64/aarch64.md (<optab><mode>3): Expand lshr with
>>> 	 gen_aarch64_lshr_sisd_or_int_<mode>3.
>>> 	(*aarch64_lshr_sisd_or_int_<mode>3): Rename to
>>> 	 aarch64_lshr_sisd_or_int_<mode>3 and use clobber with
>>> 	 match_scratch instead of early clobber.
>>>
>>
>> +    if (strcmp ("<optab>", "lshr") == 0)
>> +      {
>>
>>
>> This can't be the best way to match the operation type.  Yes, I know that
>> the comparison is a compile time invariant, but there must be an attribute
>> of optab (or one can be created for it) that would make the test trivial and
>> not rely on the compiler optimizing the strcmp away.
> 
> Perhaps just
>   if (<CODE> == LSHIFTRT)
>     {

Thanks. I have now changed it as above and reran the regression.

Richard, is this OK to you?

Kugan

Attachment: shift.txt
Description: Text document


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