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

Richard Sandiford <rsandifo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #57602|0                           |1
        is obsolete|                            |

--- Comment #42 from Richard Sandiford <rsandifo at gcc dot gnu.org> ---
Created attachment 57605
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57605&action=edit
proof-of-concept patch to suppress peeling for gaps

How about the attached?  It records whether all accesses that require peeling
for gaps could instead have used gathers, and only retries when that's true. 
It means that we retry for only 0.034% of calls to vect_analyze_loop_1 in a
build of SPEC2017 with -mcpu=neoverse-v1 -Ofast -fomit-frame-pointer.

The figures exclude wrf, which failed for me with:

module_mp_gsfcgce.fppized.f90:852:23:

  852 |    REAL FUNCTION ggamma(X)
      |                       ^
Error: definition in block 18 does not dominate use in block 13
for SSA_NAME: stmp_pf_6.5657_140 in statement:
pf_81 = PHI <stmp_pf_6.5657_140(13), stmp_pf_6.5657_140(18)>
PHI argument
stmp_pf_6.5657_140
for PHI node
pf_81 = PHI <stmp_pf_6.5657_140(13), stmp_pf_6.5657_140(18)>
during GIMPLE pass: vect
module_mp_gsfcgce.fppized.f90:852:23: internal compiler error: verify_ssa
failed

Will look at that tomorrow.

Reply via email to