[PATCH] PR63175 - [4.9/5 regression] FAIL: gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c scan-tree-dump-times slp2" basic block vectorized using SLP" 1

Jeff Law law@redhat.com
Mon Mar 9 18:52:00 GMT 2015


On 03/08/15 03:14, Richard Biener wrote:
> On March 7, 2015 5:20:08 PM CET, Jeff Law <law@redhat.com> wrote:
>> On 03/07/15 01:34, Richard Biener wrote:
>>> On March 6, 2015 9:22:05 PM CET, Martin Sebor <msebor@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.
>> Trunk regression marker removed.  Not sure if it is worth backporting
>> to
>> 4.9, but I left the 4.9 regression marker and the BZ open just in case.
>
> I backported the fix to the 4.9 branch already, so it would be nice to get the test cases fixes there as well.
Martin -- that's your cue ;-)

jeff



More information about the Gcc-patches mailing list