Merge lp:~ramana/gcc-linaro/47-nobble-promote-mode into lp:gcc-linaro/4.7
Proposed by
Ramana Radhakrishnan
Status: | Rejected |
---|---|
Rejected by: | Michael Hope |
Proposed branch: | lp:~ramana/gcc-linaro/47-nobble-promote-mode |
Merge into: | lp:gcc-linaro/4.7 |
To merge this branch: | bzr merge lp:~ramana/gcc-linaro/47-nobble-promote-mode |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Linaro Toolchain Developers | Pending | ||
Review via email: mp+107593@code.launchpad.net |
To post a comment you must log in.
This is a benchmark run for nobbling promote_mode. This changes the code generated for this particular testcase by removing the extra uxtb in brackets below.
void f(unsigned char * p,unsigned short *s, int c)
{
unsigned short or = 0;
while (c)
{
or = or | s[c];
c --;
}
*p = (unsigned char)or;
}
f:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
cmp r2, #0
str r4, [sp, #-4]!
beq .L2
rsb r4, r2, r2, asl #31
mov r3, #0
add r1, r1, r2, asl #1
mov r2, r3 @ movhi
mov r4, r4, asl #1
.L4:
ldrh ip, [r1, r3]
sub r3, r3, #2
cmp r3, r4
orr r2, ip, r2
bne .L4
(uxtb r2, r2)
.L2:
strb r2, [r0, #0]
ldmfd sp!, {r4}
bx lr