This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/65546] FAIL: gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c


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

--- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> ---
It's not clear to me if this should be considered a regression.  The test
passes with 4.9.2, but neither it nor 5.0 vectorizes the loop.  The difference
and the cause of the test failure appears to be in that 4.9.2 applies loop
peeling to align the access but in the end also decides not to vectorize
because doing so would not match the profitability criteria, while 5.0 doesn't
get that far because it doesn't peel the loop so it gives up earlier (and for a
different reason).  Here's the relevant portion of the .vect dump with 4.9.2:

costmodel-vect-31a.c:27:3: note: === vect_analyze_data_refs_alignment ===
costmodel-vect-31a.c:27:3: note: vect_compute_data_ref_alignment:
costmodel-vect-31a.c:27:3: note: force alignment of tmp.b[i_15]
costmodel-vect-31a.c:27:3: note: misalign = 1 bytes of ref tmp.b[i_15]
costmodel-vect-31a.c:27:3: note: === vect_prune_runtime_alias_test_list ===
costmodel-vect-31a.c:27:3: note: === vect_enhance_data_refs_alignment ===
costmodel-vect-31a.c:27:3: note: data size =1. misalignment = 1.
costmodel-vect-31a.c:27:3: note: vect_can_advance_ivs_p:
costmodel-vect-31a.c:27:3: note: Analyze phi: i_15 = PHI <i_6(4), 0(2)>

costmodel-vect-31a.c:27:3: note: Analyze phi: .MEM_17 = PHI <.MEM_5(4),
.MEM_4(D)(2)>

costmodel-vect-31a.c:27:3: note: virtual phi. skip.
costmodel-vect-31a.c:27:3: note: Analyze phi: ivtmp_1 = PHI <ivtmp_12(4),
16(2)>

costmodel-vect-31a.c:27:3: note: vect_model_store_cost: aligned.
costmodel-vect-31a.c:27:3: note: vect_get_data_access_cost: inside_cost = 1,
outside_cost = 0.
costmodel-vect-31a.c:27:3: note: Try peeling by 15
costmodel-vect-31a.c:27:3: note: Alignment of access forced using peeling.
costmodel-vect-31a.c:27:3: note: Peeling for alignment will be applied.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]