This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Jan 2010 07:10:10 -0000
- Subject: [Bug tree-optimization/42586] New: load-modify-store on x86 should be \ single instruction
- References: <bug-42586-7834@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #14 from pinskia at gcc dot gnu dot org 2010-01-03 07:10 -------
If we manually do the SRA like SRA would do it in 4.4:
unsigned char *a, *b, *c;
a = sptr->curr;
b = sptr->base;
c = sptr->last_plus_one;
a +=4294967295U;
sptr->curr = a;
sptr->base = b;
sptr->last_plus_one = c;
We get the behavior you want. This is why I said this is all interrelated.
PRE is able to remove the stores at the tree level on the trunk which then it
looks like what I showed in comment #3. Again this is all the same issue
really. And there is no need to file more bugs about the same issue.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42586