On Fri, Dec 6, 2013 at 2:02 PM, Vladimir Makarov <vmaka...@redhat.com> wrote: > On 12/6/2013, 12:30 PM, Vladimir Makarov wrote: >> >> On 12/6/2013, 11:28 AM, Michael Meissner wrote: >>> >>> On Thu, Dec 05, 2013 at 12:40:17PM -0500, Vladimir Makarov wrote: >>>> >>>> The following patch fixes two GCC testsuite failures for LRA. The >>>> patch makes swap through registers instead of memory for the test >>>> cases when LRA is used. >>>> >>>> There are differences in reload and LRA constraint matching >>>> algorithm which results in different alternative choices when the >>>> original pattern is used. >>>> >>>> Actually my first proposed solution variant used one pattern which >>>> is now for LRA in this patch. But some doubt arose that it may >>>> affect reload pass in some bad way. >>>> >>>> Ok to commit? >>> >>> >>> I must admit to not remembering why I used ??&r. I know I wanted it >>> to prefer >>> doing the memory patterns. I would think we should try just the pattern >>> without the ??. >>> >> >> I tried it about 2 months ago. I did not see any problems of such >> change for reload and LRA. There were no regressions on GCC testsuite. >> >> So, Mike, if you don't see any compelling reason to keep ??, probably >> we should remove them. >> >> If you don't mind, I'll make the patch and test again and after that >> submit it for approval. >> > > Here is the patch. > > Tested and bootstrapped on gcc110.fsffrance.org. > > > Ok to commit? > > 2013-12-05 Vladimir Makarov <vmaka...@redhat.com> > > * config/rs6000/rs600.md (*bswapdi2_64bit): Remove ?? from the > constraint.
Okay, let's just remove the "??" modifier from the constraint. Thanks for your patience, explanations, and work on this, Vlad. Thanks, David