On March 6, 2015 9:22:05 PM CET, Martin Sebor <mse...@redhat.com> wrote: >On 03/06/2015 10:28 AM, Jeff Law wrote: >> On 03/02/15 09:28, Martin Sebor wrote: >>> On 03/02/2015 06:58 AM, Richard Biener wrote: >>>> On Fri, 27 Feb 2015, Martin Sebor wrote: >>>> >>>>>>> Given that Martin's fix to the testcase allowed it to succeed >without >>>>>>> Richi's fix for the underlying problem, is there a modification >to >>>>>>> the >>>>>>> testcase or a new testcase that would really test the >optimization? >>>>>> >>>>>> Let me work on it. >>>>> >>>>> Below is a patch with a couple of minor tweaks to the existing >>>>> test first to update the search string and second to better >>>>> exercise the vectorization not only when the source address >>>>> isn't aligned on the expected boundary but also when the >>>>> destination address isn't. This enhancement revealed >>>>> an outstanding aspect of the regression (not fixed by Richard's >>>>> already committed patch). >>>>> >>>>> Besides this change, the patch also adds a number of other >>>>> tests to better exercise the vectorization by verifying it >>>>> takes place for arrays of elements of other sizes besides >>>>> word: byte, half word, and double word. Those tests reveal >>>>> both another regression WRT 4.8 and further vectorization >>>>> opportunities not exploited even in 4.8. I marked the latter >>>>> XFAIL in the tests so that when the regression is fully >>>>> resolved, the tests should pass with no unexpected failures. >>>> >>>> I have a hard time applying the patch because of line-wrapping >issues >>>> or my patch tool not groking the git diffs. >>>> >>>> Can you please either commit the patch or extract the testcase >>>> that still regresses and paste it into PR63175? >>> >>> I pasted a couple of such test cases to the bug. The full patch >>> is also attached to this email in case there was a problem with >>> line wrapping. >> So for the unaligned case, is that really a regression when compared >to >> earlier compilers? If not, then it seems that we ought to at least >be >> at a point where the regression marker for that BZ can be removed, >> right? ie, Richi's patch fixed the actual code quality regression >and >> your patch fixes the testsuite aspects, right? > >My interpretation of the bug report is that it points out >two problems: > >1) a failure in the costmodel-bb-slp-9a.c test >2) a quality regression observed by inspecting the assembly > emitted for the test > >The two are unrelated in that (2) didn't cause (1). > >Since Richi's patch fixed (2) and my latest patch fixes (1) >I would be inclined to consider the bug resolved. > >While GCC 5 doesn't vectorize some code that 4.8 does with >the same options, it's apparently by accident (or due to >a bug in 4.8). Since 5.0 does vectorize the same code when >the right set of options is specified, I agree with others >that none of my additional tests has exposed any other >regressions than the one that's already been addressed.
Yes. Once the test cases have been fixed we should close the bug as fixed. Richard. >Martin