[Bug tree-optimization/49695] conditional moves for stores
revital.eres at linaro dot org
gcc-bugzilla@gcc.gnu.org
Sun Jul 10 12:50:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49695
--- Comment #2 from revital.eres at linaro dot org 2011-07-10 12:50:31 UTC ---
(In reply to comment #0)
> for (i = 0; i < point1->len; i++)
> {
> if (point1->arr[i].val)
> {
> point1->arr[i].val ^= (unsigned long long) res;
> }
> }
> For the above loop if-conversion is not been done in the tree level (compiled
> with trunk -r176116). Seemingly this case is similar to the one in PR27313.
> When using -ftree-loop-if-convert-stores I get 'tree could trap...' message
> although I'm not sure why as there is a read in every iteration of the loop to
> the memory location we write to.
hmmm... after reading Sebastian Pop's paper from the last summit ("Improving
GCC’s auto-vectorization with if-conversion and loop
flattening for AMD’s Bulldozer processors") it's seems that we need to grantee
that point1->arr[i].val is writable when the condition is false which we can
not prove in this case. So that's not a bug, I apologize for the noise.
More information about the Gcc-bugs
mailing list