------- Comment #7 from hjl dot tools at gmail dot com 2009-02-25 15:09 ------- Revision 144405 gave:
.text .align 16 .global foo# .type foo#, @function .proc foo# foo: .prologue .body cmp4.ge p6, p7 = 0, r32 (p6) br.cond.spnt .L2 addl r14 = @ltoffx(a#), r1 ;; ld8.mov r14 = [r14], a# adds r16 = -1, r32 ;; addp4 r16 = r16, r0 addl r15 = @gprel(.LC0), gp ;; ld8 r15 = [r15] ;; shladd r15 = r16, 1, r15 .L3: st2 [r14] = r33, 2 ;; cmp.ne p6, p7 = r15, r14 (p6) br.cond.sptk .L3 .L2: addl r14 = @ltoffx(a#), r1 ;; ld8.mov r14 = [r14], a# ;; ld2 r8 = [r14] br.ret.sptk.many b0 ;; .endp foo# Revision 144404 gave: .proc foo# foo: .prologue .save ar.lc, r2 mov r2 = ar.lc .body cmp4.ge p6, p7 = 0, r32 (p6) br.cond.spnt .L2 adds r15 = -1, r32 ;; addp4 r15 = r15, r0 ;; adds r15 = 1, r15 addl r14 = @ltoffx(a#), r1 ;; ld8.mov r14 = [r14], a# ;; shladd r15 = r15, 1, r14 ;; sub r15 = r15, r14 ;; adds r15 = -2, r15 ;; shr.u r15 = r15, 1 ;; mov ar.lc = r15 .L3: st2 [r14] = r33, 2 ;; br.cloop.sptk.few .L3 .L2: addl r14 = @ltoffx(a#), r1 ;; ld8.mov r14 = [r14], a# ;; ld2 r8 = [r14] mov ar.lc = r2 br.ret.sptk.many b0 ;; .endp foo# -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39297