[Bug tree-optimization/69732] New: Missed vectorization due to failed dependence analysis
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Feb 9 10:11:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69732
Bug ID: 69732
Summary: Missed vectorization due to failed dependence analysis
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: rguenth at gcc dot gnu.org
Target Milestone: ---
We now fail to vectorize the testcase in PR69726 which exhibits the pattern
p = &a[i];
*(p + 0) = ...
*(p + 1) = ...
*(p + 2) = ...
...
where p is forward-propagated into *(p + 0) only, leading to
a[i] = ...
*(p + 1) = ...
...
which then results in
base_address: &temp
offset from base address: 0
constant offset from base address: 0
step: 32
aligned to: 128
base_object: temp
Access function 0: {0, +, 8}_2
vs.
base_address: &temp
offset from base address: 0
constant offset from base address: 16
step: 32
aligned to: 128
base_object: MEM[(int *)&temp]
Access function 0: {16B, +, 32}_2
which have different base objects and thus are not handled by dependence
analysis. This results in bogus runtime alias checks.
More information about the Gcc-bugs
mailing list