.file "duff-1.c" .pred.safe_across_calls p1-p5,p16-p63 .text .align 16 .global duffcpy# .proc duffcpy# duffcpy: .prologue .body .mfb and r14 = 3, r34 nop.f 0 nop.b 0 ;; .mib cmp.eq p6, p7 = 1, r14 nop.i 0 (p6) br.cond.dpnt .L8 ;; .mib cmp.gtu p6, p7 = 1, r14 nop.i 0 (p6) br.cond.dptk .L9 ;; .mib cmp.eq p6, p7 = 2, r14 nop.i 0 (p6) br.cond.dpnt .L7 ;; .mib cmp.eq p6, p7 = 3, r14 nop.i 0 (p7) br.ret.dptk.many rp .L6: .mmi ld1 r14 = [r33], 1 ;; st1 [r32] = r14, 1 nop.i 0 .L7: .mmi ld1 r14 = [r33], 1 ;; st1 [r32] = r14, 1 nop.i 0 .L8: .mmi ld1 r14 = [r33], 1 ;; st1 [r32] = r14, 1 nop.i 0 .L9: .mib cmp.ltu p6, p7 = 3, r34 nop.i 0 (p7) br.ret.dptk.many rp .mmi ld1 r14 = [r33], 1 ;; adds r34 = -4, r34 nop.i 0 .mib st1 [r32] = r14, 1 nop.i 0 br .L6 .endp duffcpy# .global testpat# .section .rodata .align 8 .type testpat#, @object .size testpat#, 46 testpat: stringz "The quick brown fox jumped over the lazy dog." .text .align 16 .global main# .proc main# main: .prologue 12, 33 .mii .save ar.pfs, r34 alloc r34 = ar.pfs, 0, 4, 3, 0 .fframe 64 adds r12 = -64, r12 addl r38 = 46, r0 ;; .mii addl r14 = @ltoffx(testpat#), r1 .save rp, r33 mov r33 = b0 mov r35 = r1 .mmi adds r36 = 16, r12 .body ;; ld8.mov r32 = [r14], testpat# nop.i 0 ;; .mib mov r37 = r32 nop.i 0 br.call.sptk.many b0 = duffcpy# ;; .mii adds r36 = 16, r12 mov r37 = r32 addl r38 = 46, r0 .mfb mov r1 = r35 nop.f 0 br.call.sptk.many b0 = memcmp# ;; .mib cmp4.eq p6, p7 = 0, r8 mov r1 = r35 .pred.safe_across_calls p1-p63 (p7) br.call.sptk.many b0 = abort# .pred.safe_across_calls p1-p5,p16-p63 ;; .mib mov r36 = r0 nop.i 0 br.call.sptk.many b0 = exit# ;; break.f 0 ;; .endp main# .ident "GCC: (GNU) 3.3.2"