Code review comment for lp:~ramana/gcc-linaro/47-nobble-promote-mode

Revision history for this message
Ramana Radhakrishnan (ramana) wrote :

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

« Back to merge proposal