https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106480

--- Comment #2 from dave.anglin at bell dot net ---
On 2022-08-01 5:12 a.m., rguenth at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106480
>
> Richard Biener <rguenth at gcc dot gnu.org> changed:
>
>             What    |Removed                     |Added
> ----------------------------------------------------------------------------
>             Keywords|                            |testsuite-fail
>
> --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
> Both are guarded like
>
>    p->a0[0] = 4; p->a0[1] = 5;  // { dg-warning "\\\[-Wstringop-overflow"
> "pr102706" { target { vect_slp_v2hi_store_align && { !
> vect_slp_v4hi_store_unalign } } } }
>
> the vect_slp_* predicates according to comments implement exactly the case in
> the testsuite, but for some reason it doesn't work on hppa?
Yes, I guess this implies a problem with

# Return the true if target support vectorization of 4-byte short stores
# with 4-byte aligned address at plain O2.
proc check_effective_target_vect_slp_v2hi_store_align { } {
     set pattern {add new stmt: MEM <vector\(2\) short int>}
     set macro "TEST_V2HI_2"
     return [check_cached_effective_target vect_slp_v2hi_store_align {
         expr [check_vect_slp_store_usage $pattern $macro ] }]
}

# Return the true if target support vectorization of 8-byte short stores
# with unaligned address at plain O2.
# NB: This target should be removed after real issues are fixed for
# -Wstringop-overflow with O2 vect. Be careful if you want to reuse
# this target since tests in check_vect_slp_store_usage
# is the exact match of relative testcases
proc check_effective_target_vect_slp_v4hi_store_unalign { } {
     set pattern {add new stmt: MEM <vector\(4\) short int>}
     set macro "TEST_V4HI"
     return [check_cached_effective_target vect_slp_v4hi_store_unalign {
         expr [check_vect_slp_store_usage $pattern $macro ] }]
}

in target-supports.exp.

Reply via email to