On 12/6/2013, 10:45 AM, Jakub Jelinek wrote:
On Fri, Dec 06, 2013 at 10:39:29AM -0500, Vladimir Makarov wrote:
   Ok. I guess there is only one option to use one pattern for LRA
and reload without ?? in register alternative.  In this case, reload
and LRA will actually work according to GCC documentation (LRA
treats ? cost as the cost of one reload, reload does the same but
not in this case).

   That was my first solution but you were not comfortable with this too.

   Changing LRA most sensitive code to behave (wrongly in this case)
as reload is not an option for me.

   So I don't know what to do anymore to fix this 2 failures.

Could it be handled by enabled attribute?  You'd duplicate the
alternatives, one would be with the ??, one without, and enabled
attribute on the insn would be 1 for the first two alternatives
and also for the ?? alternative if not LRA, or non-?? alternative
if LRA.



It is still two different patterns.  One for reload and one for LRA.
Attribute enabled is mostly used to describe insn constraints for subtargets.

IMO removing ?? is the most right choice as both reload and LRA works fine without this.

On the other hand, it is not so important bug as it is performance one and as IBM guys at least for now are oriented to reload. They have too many things (power8) to do besides LRA.

So we could postpone resolving these failures.

Reply via email to