"Kewen.Lin" <[email protected]> writes:
> on 2020/3/5 上午3:09, Richard Sandiford wrote:
>> "Kewen.Lin" <[email protected]> writes:
>>> Hi,
>>>
>>>
>>> --- a/gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c
>>> +++ b/gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c
>>> @@ -41,6 +41,10 @@ main (void)
>>> }
>>>
>>> /* { dg-final { scan-tree-dump-not {vect_recog_over_widening_pattern:
>>> detected} "vect" } } */
>>> -/* { dg-final { scan-tree-dump-not {vector[^\n]*char} "vect" } } */
>>> +/* { dg-final { scan-tree-dump-not {vector[^\n]*char} "vect" { target { {
>>> ! powerpc*-*-* } || { powerpc*-*-* && vect_hw_misalign } } } } }
>>> +/* On Power, if there is no vect_hw_misalign support, unaligned vector
>>> access
>>> + adopts realign_load scheme. It requires rs6000_builtin_mask_for_load to
>>> + generate mask whose return type is vector char. */
>>> +/* { dg-final { scan-tree-dump-times {vector[^\n]*char} 1 "vect" { target
>>> { powerpc*-*-* && { ! vect_hw_misalign } } } } } */
>>
>> Thanks for looking at this. The patch is OK as-is. However, since
>> vect-over-widen-17.c is a negative test for generic code, there probably
>> isn't much need for the new scan-tree-dump-times line, and it could start
>> failing if we make different optimisation decisions in future. So the
>> patch is also OK with just the change to the scan-tree-dump-not line,
>> if you prefer that. (Please keep the comment either way though --
>> it's really helpful.)
>>
>
> Thanks for your suggestion! The new patch is updated as below. I removed
> the scan-tree-dump-times, as well as powerpc specific requirement.
> Does it look good to you especially the later? Thanks in advance!
>
> BR,
> Kewen
>
> gcc/testsuite/ChangeLog
>
> 2020-03-05 Kewen Lin <[email protected]>
>
> PR testsuite/94019
> * gcc.dg/vect/vect-over-widen-17.c: Don't expect vector char if it's
> without misaligned vector access support.
OK, thanks.
Richard
>
> ------
>
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c
> b/gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c
> index 0448260..333d74a 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c
> @@ -41,6 +41,9 @@ main (void)
> }
>
> /* { dg-final { scan-tree-dump-not {vect_recog_over_widening_pattern:
> detected} "vect" } } */
> -/* { dg-final { scan-tree-dump-not {vector[^\n]*char} "vect" } } */
> +/* On Power, if there is no vect_hw_misalign support, unaligned vector access
> + adopts realign_load scheme. It requires rs6000_builtin_mask_for_load to
> + generate mask whose return type is vector char. */
> +/* { dg-final { scan-tree-dump-not {vector[^\n]*char} "vect" { target
> vect_hw_misalign } } } */
> /* { dg-final { scan-tree-dump-not {vector[^ ]* int} "vect" } } */
> /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" } } */