[Bug tree-optimization/56625] After if-conversion vectorizer doesn't recognize similar loads
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Mar 15 12:30:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56625
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |NEW
Summary|After if-conversion |After if-conversion
|vectorizer doesn't |vectorizer doesn't
|recognize similar stores |recognize similar loads
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-15 12:29:50 UTC ---
Oh, it's about the loads!
<bb 3>:
# i_22 = PHI <i_19(4), 0(2)>
# ivtmp_28 = PHI <ivtmp_24(4), 100(2)>
_5 = (long unsigned int) i_22;
_6 = _5 * 8;
_8 = a_7(D) + _6;
_9 = *_8;
_11 = b_10(D) + _6;
_12 = *_11;
_13 = _12 * 4.0e+0;
_15 = b_10(D) + _6;
_16 = *_15;
_17 = _16 * 3.0e+0;
cstore_18 = _9 == 0.0 ? _13 : _17;
*_8 = cstore_18;
and
t.c:4: note: versioning for alias required: can't determine dependence between
*_11 and *_8
t.c:4: note: mark for run-time aliasing test between *_11 and *_8
t.c:4: note: versioning for alias required: can't determine dependence between
*_15 and *_8
t.c:4: note: mark for run-time aliasing test between *_15 and *_8
Creating dr for *_11
analyze_innermost: success.
base_address: b_10(D)
offset from base address: 0
constant offset from base address: 0
step: 8
aligned to: 128
base_object: *b_10(D)
Access function 0: {0B, +, 8}_1
Creating dr for *_15
analyze_innermost: success.
base_address: b_10(D)
offset from base address: 0
constant offset from base address: 0
step: 8
aligned to: 128
base_object: *b_10(D)
Access function 0: {0B, +, 8}_1
somehow the equality test (which we have!) doesn't work here.
More information about the Gcc-bugs
mailing list