[Bug target/52412] another unnecessary register move on arm

2014-07-09 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52412

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||ktkachov at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #3 from ktkachov at gcc dot gnu.org ---
Both trunk 4.10 and 4.8.3 generate:
t0m:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
ldr r3, [r0, #4]
movsr1, #10
push{r4, r5, lr}
ldr r5, .L8
uxtbr2, r3
.L2:
ldr r4, [r0, #268]
subsr1, r1, #1
eor r4, r4, r2
ldr r4, [r5, r4, lsl #2]
str r4, [r0, #268]
bne .L2
add r3, r3, r0
movsr1, #1
strbr1, [r3, #12]
ldr r3, [r0, #8]
cmp r3, r1
beq .L5
cmp r3, #2
beq .L5
pop {r4, r5, pc}
.L5:
ldr r3, [r0]
strbr2, [r3]
pop {r4, r5, pc}
.L9:
.align  2
.L8:
.word   Table


No superfluous mov appears, so I think this can be closed now...


[Bug target/52412] another unnecessary register move on arm

2012-07-31 Thread amker.cheng at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52412

amker.cheng amker.cheng at gmail dot com changed:

   What|Removed |Added

 CC||amker.cheng at gmail dot
   ||com

--- Comment #2 from amker.cheng amker.cheng at gmail dot com 2012-07-31 
14:12:54 UTC ---
The register move insn is generated by cse2 pass, and after that, there is no
cprop pass till ira.
The two allocnos for r6/r3(the original pseudos) are conflict with each other,
though they contains same value and connected by move insn, IRA cannot allocate
same hard register for them.
Moveover, the case is compile with Os, where gcc does IRA in whole single
region, and live range cannot be split either.


[Bug target/52412] another unnecessary register move on arm

2012-02-29 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52412

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-29
 CC||ramana at gcc dot gnu.org
 Ever Confirmed|0   |1
  Known to fail||4.7.0

--- Comment #1 from Ramana Radhakrishnan ramana at gcc dot gnu.org 2012-02-29 
11:41:00 UTC ---
Confirmed - looks like 4.6 gets this right.

ramana